Onion反代服务部署教程
简介
onion-proxy 是一个基于 Tor 的反向代理服务,它可以将 HTTP 请求转发到隐藏的 Tor 节点,从而实现对隐藏服务或网站进行访问。
本教程用于部署一个轻量级的 Tor hidden service,通过 Nginx 反向代理 clearnet 的 www.minearm.org,并在 clearnet 页面注入 Onion-Location 头,提示 Tor Browser 用户跳转至 .onion 地址。
目标环境:容器运行,保持稳定运行,自动 TLS,低资源占用,隐私友好。
服务地址(本人的)
- clearnet 域名: www.minearm.org
- onion 域名:
http://minearmrp3nuxxfkjmmn6outi6zdg6w24g2x6ujtxogcgu77vs7gudqd.onion
快速部署(Docker)
如下:
bash
# 创建工作目录
mkdir -p ~/proxy && cd ~/proxy
# 创建 nginx.conf
tee nginx.conf <<'EOF'
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
resolver 8.8.8.8 1.1.1.1 valid=300s;
resolver_timeout 5s;
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
location = / {
add_header Onion-Location "http://你的onion地址.onion";
add_header Link "<http://你的onion地址.onion>; rel=alternate; type=\"text/html\"";
proxy_pass https://你的网站;
proxy_redirect off;
proxy_ssl_server_name on;
proxy_ssl_name 你的网站;
proxy_ssl_verify off;
proxy_set_header Host 你的网站;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_connect_timeout 10s;
proxy_send_timeout 60s;
proxy_read_timeout 60s;
proxy_buffering on;
proxy_buffers 16 16k;
proxy_buffer_size 32k;
proxy_max_temp_file_size 0;
}
location / {
proxy_pass https://你的网站;
proxy_redirect off;
proxy_ssl_server_name on;
proxy_ssl_name 你的网站;
proxy_ssl_verify off;
proxy_set_header Host 你的网站;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_connect_timeout 10s;
proxy_send_timeout 60s;
proxy_read_timeout 60s;
proxy_buffering on;
proxy_buffers 16 16k;
proxy_buffer_size 32k;
proxy_max_temp_file_size 0;
}
}
}
EOF
# 创建 Dockerfile
tee Dockerfile <<'EOF'
FROM nginx:stable
COPY nginx.conf /etc/nginx/nginx.conf
EOF
# 构建镜像
docker build -t tor-nginx .
# 启动容器(不限制资源)
docker run -d --name tor-nginx -p 8080:80 tor-nginx
Tor配置(torrc)
确保 Tor 与 Nginx 在同一容器或 Pod,或能通过网络访问。示例 torrc:
bash
HiddenServiceDir /var/lib/tor/minearm_hidden_service/
HiddenServiceVersion 3
HiddenServicePort 80 127.0.0.1:8080
验证方式
bash
# 查看 .onion 地址
cat /var/lib/tor/minearm_hidden_service/hostname
# 本地测试 clearnet 注入头
curl -I http://127.0.0.1:8080/
# Tor Browser 访问 .onion
curl --socks5-hostname 127.0.0.1:9050 -I http://你的onion网址.onion/
效果展示
-
clearnet 页面响应头中包含:
Onion-Location: http://你的onion地址.onionLink: <http://你的onion地址.onion>; rel=alternate; type="text/html"
-
Tor Browser 自动提示跳转至
.onion服务,实现隐私友好访问。
结语
复制滴别想,抄作业滴不要,若需要,滴开启超级复制插件!。
评论