via:https://johnrosen1.com/2021/01/24/onion/
开始搭建
我觉得我之前FAQ写的太多了,又没啥人看,所以这次就直接懒得写了,直接进正文。
搭建流程预览(顺序无所谓):
搭建并配置Web伺服器(Nginx等)
搭建并配置应用层伺服器(Hexo Blog等)
搭建并配置Tor
搭建Nginx本博客已写过,故直接略过。
Hexo Blog搭建请看Hexo官方文档
本文重点讲解Tor的安装及相关配置。
本文默认你的机器可以连接Tor网络,所以请不要拿中国大陆机器这种东西来消遣我,谢谢 !
安装Tor
添加apt源
cat > '/etc/apt/sources.list.d/tor.list' << EOF
deb https://deb.torproject.org/torproject.org $(lsb_release -cs) main
#deb-src https://deb.torproject.org/torproject.org $(lsb_release -cs) main
EOF
我们不需要自己编译Tor,所以deb-src注释掉。
导入Tor project公钥
curl https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc | gpg --import
gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | apt-key add -
apt-get update
安装Tor及相关依赖
apt-get install tor tor-geoipdb nyx -y
apt-get install python-stem -y
nyx 与 python-stem为监控Tor运行状况软体。
安装完成。
配置Tor
Tor的主配置文件为/etc/tor/torrc,主systemd service为systemctl status tor@default,修改完配置文件记得重启服务。
本文仅展示搭建onion网站的方法,所以不涉及Tor-relay相关内容。
sudo nano /etc/tor/torrc
写入以下内容
ClientPreferIPv6ORPort 1
ControlPort 127.0.0.1:9051
CookieAuthentication 0
HiddenServiceDir /var/lib/tor/hidden_service/
HiddenServiceVersion 3
HiddenServicePort 80 127.0.0.1:80
HiddenServicePort 443 127.0.0.1:443
ClientPreferIPv6ORPort,有IPv6网络连接的机器请设置为1,否则为0。
ControlPort,用于监控Tor运行状况,请勿对外网开放(不安全),故设置为仅监听本机。
CookieAuthentication,仅监听本机,故无需认证。
HiddenServiceDir,用于存放onion网站相关的公钥和私钥以及域名信息,请勿和web服务器可访问目录放于一起。
HiddenServiceVersion,v3为最新版。
HiddenServicePort,onion网站的监听端口,不监听本机端口,所以无论如何都不会和本机现有的网站形成冲突,可放心填80/443,127.0.0.1:80为本机web/应用伺服器监听的地址,请改成你自己的。
重启服务使配置生效
systemctl restart tor@default
验证服务是否正常运行中
systemctl status tor@default
测试网站是否生效
获取网站onion域名
cat /var/lib/tor/hidden_service/hostname
打开Tor browser,访问这个域名,如果一切正常,那么就成功了 !
注: Tor browser的行为和Chrome不太一样,有些lazyload的file可能直接不显示。
来聊聊onion site的坑与优点
onion site有些比较坑的地方,比如 : 不支援 https(其实可以支援的,只是.onion只支援ev证书,所以dv证书当然是不存在的) ; 连接缓慢(好像大量的中继节点都在欧洲?) ; Tor browser导致部分元素不能正常加载等 。
但是也是有些优点,比如 : 不需要公网ip就能提供Web服务,即可以位于任何可以连接Tor的网络中即可提供服务,非常方便 ; 隐私性好,不必担心ISP分析你干了啥见不得人的事情等。