如何部署一个自己的洋葱网站?
1. 什么是 .onion 域名
.onion 是一种特殊的顶级域名,不能和普通域名一样在注册商购买,普通的浏览器如 chrome 也无法直接访问。一般通过 Tor Browser 即洋葱浏览器进行访问。

2. 如何拥有 .onion 域名
用特定的 Ed25519 密码算法生成一对私钥和公钥,私钥验证身份,公钥就是对外展示的域名。
一般都是完全随机的,但是我想要域名个性化一点,例如松坂砂糖,取前 8 位 satou233 。
因为是随机生成域名所以想要的域名前缀需要穷举出来,自定义的前缀越长,算出前缀的时间呈指数级上升。
我这里使用一个 4c4g debian 13 服务器来算。
2.1 安装必要的编译环境和密码学依赖库
sudo apt-get updatesudo apt-get install gcc libc6-dev libsodium-dev make autoconf git2.2 下载并编译 mkp224o
git clone https://github.com/cathugger/mkp224o.gitcd mkp224o./autogen.sh./configuremake2.3 开始计算想要的前缀
nohup ./mkp224o -d satou_keys -t 3 satou233 &nohup:防断联./mkp224o:计算程序-d satou_keys:算出的密钥保存在这个文件夹-t 3:限制三个线程计算satou233:想要的前缀
2.4 接下来挂机睡一觉
cd mkp224o #进入存放密钥的目录ls satou_keys #列出算出来的所有密钥pkill mkp224o #停止计算2.5 提取私钥文件
以我算出来的其中一个密钥为例:
cd satou_keys/satou233smm2npk6qcrzm6jmhtr3jo5cmtirf7el3lbqa5skdx3mqmqd.onion #进入文件夹输入 ls ,查看公钥和私钥文件

然后可以用 SFTP 之类的保存到本地 windows 电脑做一下备份。
3. 部署并上线自己的网站
部署网站我换了一个新的闲置服务器
3.1 安装 tor 服务
apt update && apt install -y tor nginx# tor = 洋葱服务3.2 建文件夹放入密钥和网站
mkdir -p /var/www/satou233 #这个放静态网站mkdir -p /var/lib/tor/satou233 #放私钥

改一下权限:
chown -R debian-tor:debian-tor /var/lib/tor/satou233chmod 700 /var/lib/tor/satou233chmod 600 /var/lib/tor/satou233/hs_ed25519_secret_key3.3 配置 tor 服务
编辑 tor 主配置:
nano /etc/tor/torrc拉到末尾,粘贴下面两行:
HiddenServiceDir /var/lib/tor/satou233/HiddenServicePort 80 127.0.0.1:8080# 确认写进去了tail -n 5 /etc/tor/torrc3.4 配置 nginx
nano /etc/nginx/conf.d/satou233.onion.conf最简配置:
server { listen 127.0.0.1:8080; root /var/www/satou233; index index.html; absolute_redirect off;}验证一下,没问题会显示 syntax is ok
nginx -t然后重载 nginx 配置
systemctl reload nginx3.5 重启并验证
systemctl restart tor@defaultsystemctl status tor@default --no-pager网站地址:
http://satou233smm2npk6qcrzm6jmhtr3jo5cmtirf7el3lbqa5skdx3mqmqd.onion
访问成功了,速度其实还不错

本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。