anti-proxy school server IP to my host and NAT Traversal

分享

1. Caddy 安装与配置

curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg

curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list

sudo apt update
sudo apt install caddy
sudo tee /etc/caddy/Caddyfile > /dev/null << 'EOF'
:8080 {
    reverse_proxy http://10.26.240.78 

    log {
        output file /var/log/caddy/access.log
        format json
    }
}
EOF
sudo systemctl restart caddy
sudo systemctl status caddy
curl -I http://127.0.0.1:8080

现在访问本机8080端口会跳到学校内网的服务10.26.240.78

2. Tailscale Funnel

tailscale funnel --bg localhost:8080
tailscale funnel status

web访问tailscale分配的域名

访问失败 ,参考

https://tailscale.com/docs/how-to/set-up-https-certificates

web不认识p2p加密的https

tailscale funnel off

3. ngrok(成功暴露)

curl -sSL https://ngrok-agent.s3.amazonaws.com/ngrok.asc | sudo tee /etc/apt/trusted.gpg.d/ngrok.asc >/dev/null

echo "deb https://ngrok-agent.s3.amazonaws.com buster main" | sudo tee /etc/apt/sources.list.d/ngrok.list

sudo apt update
sudo apt install ngrok
ngrok config add-authtoken <your-token>

ngrok http 8080

4. frp 配置与启动

配置文件 frpc.toml

serverAddr = "<frp-server>"
serverPort = 7000
auth.token = "<your-token>"

webServer.addr = "127.0.0.1"
webServer.port = 7400
webServer.user = "admin"
webServer.password = "admin"

[[proxies]]
name = "campus-1"
type = "tcp"
localIP = "<internal-ip>"
localPort = 80
remotePort = 7621
healthCheck.type = "tcp"
healthCheck.timeoutSeconds = 3
healthCheck.maxFailed = 2
healthCheck.intervalSeconds = 5

[[proxies]]
name = "campus-web-1"
type = "tcp"
localIP = "127.0.0.1"
localPort = 7400
remotePort = 7622

启动命令

pkill -9 frpc
sleep 40
./frpc -c frpc.toml

清理命令

tailscale funnel off
pkill -9 frpc

5. Cloudflare Tunnel

sudo apt-get install cloudflared

唯一一个在ubuntu仓库上有的包,最简单

# 1. 创建隧道
TUNNEL_NAME="my-tunnel"
cloudflared tunnel create "$TUNNEL_NAME"

# 2. DNS 路由
cloudflared tunnel route dns "$TUNNEL_NAME" tunnel.bakamake.org

# 3. 运行隧道
cloudflared tunnel run --url http://localhost:8080 --protocol http2 "$TUNNEL_NAME"

创建看起来也很快,就是比较黑箱

阅读更多

comprehensive some mod and net tip show

今天玩了一下modinfo,主要是一直对linux内核裁剪有兴趣,但是没什么条件熟悉这一块的外围。 lsmod | Select-Object -Skip 1 | ForEach-Object { $m=$_.Split()[0] $info=modinfo $m [PSCustomObject]@{ Module=$m Description=($info | Select-String "^description:" | ForEach-Object {$_.Line -replace "description:\s*",""}) Depends=($info | Select-String "^depends:" | ForEach-Object {$_.Line -replace "depends:\s*

By bakamake