Skip to content

Instantly share code, notes, and snippets.

View NNdroid's full-sized avatar
🎯
Focusing

NNdroid

🎯
Focusing
View GitHub Profile
@NNdroid
NNdroid / nginx-debian-installer.sh
Last active January 1, 2024 08:16
nginx installer shell script (debian only)
#!/bin/bash
apt update
apt upgrade -y
apt install curl gnupg2 ca-certificates lsb-release dirmngr software-properties-common apt-transport-https -y
curl -fSsL https://nginx.org/keys/nginx_signing.key | gpg --dearmor | tee /usr/share/keyrings/nginx-archive-keyring.gpg > /dev/null
gpg --dry-run --quiet --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpg
echo "deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/mainline/debian `lsb_release -cs` nginx" | tee /etc/apt/sources.list.d/nginx.list
echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" | tee /etc/apt/preferences.d/99nginx
apt update
apt install nginx -y
@NNdroid
NNdroid / nginx.conf
Created November 26, 2023 02:25 — forked from fotock/nginx.conf
Nginx SSL 安全配置最佳实践.
# 生成 dhparam.pem 文件, 在命令行执行任一方法:
# 方法1: 很慢
openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048
# 方法2: 较快
# 与方法1无明显区别. 2048位也足够用, 4096更强
openssl dhparam -dsaparam -out /etc/nginx/ssl/dhparam.pem 4096
@NNdroid
NNdroid / nginx-stream-install-raw.sh
Last active August 28, 2023 00:28
nginx tls sni stream proxy
#!/bin/bash
PACKAGE_NAME="nginx"
wget -O ${PACKAGE_NAME}.tar.gz https://nginx.org/download/nginx-1.24.0.tar.gz
tar -zxvf ${PACKAGE_NAME}.tar.gz
apt install build-essential libpcre3-dev libssl-dev zlib1g-dev -y
cd ${PACKAGE_NAME}-1.*
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-stream --with-stream_ssl_module --with-stream_ssl_preread_module
make
make install
cd ..
@NNdroid
NNdroid / curl-websocket.sh
Last active August 26, 2023 14:25
test a websocket by curl
curl --include --no-buffer --header "Connection: Upgrade" --header "Upgrade: websocket" --header "Host: example.com:80" --header "Origin: http://example.com:80" --header "Sec-WebSocket-Key: SGVsbG8sIHdvcmxkIQ==" --header "Sec-WebSocket-Version: 13" http://example.com/3017068469711469711
@NNdroid
NNdroid / client.c
Created August 13, 2023 13:18 — forked from inaz2/client.c
IPv6 server & client in C
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>
void ping(int s, char *message)
{
char buf[8192];
@NNdroid
NNdroid / LocalServerSocket.md
Created August 8, 2023 06:01 — forked from RajithaKumara/LocalServerSocket.md
Android create Unix domain socket by bound file descriptor

Android create Unix domain socket by bound file descriptor

Android provide LocalServerSocket and LocalSocket to create Unix domain sockets for local interprocess communication (IPC). Unix socket address can behave in three types[1],

  • pathname
  • unnamed
  • abstract

LocalServerSocket provide two public constructors for create socket in Linux abstract namespace[2] and create socket using file descriptor that's already been created and bound[3].

Create LocalServerSocket using [FileDescriptor](https://docs.oracle.com/javase/7/docs/api/j

iptables -t nat -A PREROUTING ! -s 10.42.0.1/32 ! -d 10.42.0.1/32 -p tcp -m tcp --dport 53 -j DNAT --to-destination 10.42.0.1:53
iptables -t nat -A PREROUTING ! -s 10.42.0.1/32 ! -d 10.42.0.1/32 -p udp -m udp --dport 53 -j DNAT --to-destination 10.42.0.1:53
@NNdroid
NNdroid / tun-ping-linux.go
Created July 18, 2023 14:18 — forked from glacjay/tun-ping-linux.go
Reading/Writing Linux's TUN/TAP device in Go.
package main
import (
"exec"
"log"
"os"
"syscall"
"unsafe"
)
@NNdroid
NNdroid / hev-socks5-tunnel-installer.sh
Created July 6, 2023 07:41
hev-socks5-tunnel installer
#!/bin/bash
RELEASE_API="https://api.github.com/repos/heiher/hev-socks5-tunnel/releases/latest"
BIN_DST_DIR=/usr/local/bin
RESOURCE_DST_DIR=/usr/local/etc/hev-socks5-tunnel
function getReleaseInfo() {
response=$(curl ${RELEASE_API})
if [ $? == 0 ]; then
echo $response
return 0
@NNdroid
NNdroid / hev-socks5-server-installer.sh
Created July 6, 2023 07:19
hev-socks5-server installer
#!/bin/bash
RELEASE_API="https://api.github.com/repos/heiher/hev-socks5-server/releases/latest"
BIN_DST_DIR=/usr/local/bin
RESOURCE_DST_DIR=/usr/local/etc/hev-socks5-server
function getReleaseInfo() {
response=$(curl ${RELEASE_API})
if [ $? == 0 ]; then
echo $response
return 0