搭建自己的onion洋葱服务器
创始人
2025-01-21 02:05:18
0次

前言

Tor全称是The Onion Router(洋葱路由器)。使用了Tor的用户可以匿名地(相对地)浏览在线网站、
聊天和发送即时信息。官方项目地址为torproject,其对应的
onion域名为
http://2gzyxa5ihm7nsggfxnu52rck2vv4rvmdlkiu3zzui5du4xyclen53wid.onion/.
onion域名只能通过Tor Browser访问。

本文章主要介绍onion站点的搭建流程,供技术交流使用。

搭建Nginx服务器

由于Tor的转发与Caddy的自动https的处理上有些冲突,我们使用Nginx作为Hugo站点的静态服务器,
配置如下:

server {         listen 127.0.0.1:8080;         port_in_redirect off;          root /var/www/tomo.dev;          index index.html;          server_name _;          location / {                 # First attempt to serve request as file, then                 # as directory, then fall back to displaying a 404.                 try_files $uri $uri/ =404;         }          error_page 404 /404.html; } 

其中port_in_redirect用来关闭跳转中带入的8080端口,否则在请求类似/posts路径时,
会跳转至:8080/posts/。如果Nginx监听在80端口,可以不用设置该参数。
搭建后,可以在服务器上通过命令curl http://127.0.0.1:8080测试站点访问是否正常。

安装Tor并配置

服务器使用的是Ubuntu,需要添加tor的仓库源:

sudo apt install apt-transport-https  # add the gpg key wget -qO- https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc | gpg --dearmor | sudo tee /usr/share/keyrings/tor-archive-keyring.gpg >/dev/null  # add apt repository echo "deb     [signed-by=/usr/share/keyrings/tor-archive-keyring.gpg] https://deb.torproject.org/torproject.org $(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list.d/tor.list echo "deb-src [signed-by=/usr/share/keyrings/tor-archive-keyring.gpg] https://deb.torproject.org/torproject.org $(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list.d/tor.list  # install sudo apt update sudo apt install tor deb.torproject.org-keyring 

安装后,我们对Tor进行配置,其配置文件为/etc/tor/torrc。主要的配置为下面两项:

HiddenServiceDir /var/lib/tor/tomo.dev/ HiddenServicePort 80 127.0.0.1:8080 

其中HiddenServiceDir表明运行后存放站点信息及密钥的目录,HiddenServicePort声明了
一个虚拟端口及转发端口,上面的配置表明站点信息在目录/var/lib/tor/tomo.dev/中,站点
监听了80端口并转发至本机的8080端口(即之前配置的Nginx服务器端口)。

配置后我们重启Tor服务sudo systemctl restart tor.service,成功后,在
/var/lib/tor/tomo.dev/目录中我们能够看到如下文件:

ll /var/lib/tor/tomo.dev/ total 24 drwx--S--- 3 debian-tor debian-tor 4096 Mar 22 01:15 ./ drwx--S--- 4 debian-tor debian-tor 4096 Apr  7 10:54 ../ drwx--S--- 2 debian-tor debian-tor 4096 Mar 22 01:15 authorized_clients/ -rw------- 1 debian-tor debian-tor   63 Mar 22 01:15 hostname -rw------- 1 debian-tor debian-tor   64 Mar 22 01:15 hs_ed25519_public_key -rw------- 1 debian-tor debian-tor   96 Mar 22 01:15 hs_ed25519_secret_ke 

其中hostname为我们onion站点的域名

cat hostname zdunwj76t7oy6h4o67v4nox5gdykhxtoa73ldudp3k6jkl66ximlvnid.onion 

在Tor浏览器中输入该地址,尝试访问,如果网络可达且配置正确,将会看到如下页面:

onion site

后续

Onion站点的hostname是由公钥生成的,V3版本的站点长度为56。如果我们想要一个比较个性化的站点名称
(如duckduckgo的onion站点为https://duckduckgogg42xjoc72x3sjasowoarfbgcmvfimaftt6twagswzczad.onion
前缀为duckduckgo),可以使用工具进行生成,需要的定制的前缀长度越长,生成所需的时间越长
(类似hash碰撞),下表是一个大概生成特定长度前缀所需要的时间(1.5GHz处理器,
参考):

CharactersTime
1Less than 1 second
2Less than 1 second
3Less than 1 second
42 seconds
51 minute
630 minutes
71 day
825 days
92.5 years
1040 years
11640 years
1210 millennia
13160 millennia
142.6 million years

我们可以使用mkp224o这个工具进行生成:

git clone https://github.com/cathugger/mkp224o.git cd mkp224o ./autogen.sh ./configure --enable-amd64-51-30k make 

具体编译参数可以查看官方README。编译后,可以使用./mkp224o --help查看使用参数。
当前使用./mkp224o -d ~/onion -n 1 -s tomodev来生成我们tomodev前缀的站点名称。
运行过程中的输出如下:

./mkp224o -d ~/onion -n 1 -s tomodev set workdir: /home/tomo/onion/ sorting filters... done. filters:         tomodev in total, 1 filter using 8 threads >calc/sec:15309395.081099, succ/sec:0.000000, rest/sec:79.949632, elapsed:0.100063sec >calc/sec:16125412.147448, succ/sec:0.000000, rest/sec:0.000000, elapsed:10.106494sec >calc/sec:16116784.889587, succ/sec:0.000000, rest/sec:0.000000, elapsed:20.112309sec ... >calc/sec:14133147.405534, succ/sec:0.000000, rest/sec:0.000000, elapsed:4770.152169sec >calc/sec:14011151.614585, succ/sec:0.000000, rest/sec:0.000000, elapsed:4780.157895sec tomodevqtaj5a3syxtrrclzs7p2625yr3hdwhbrzysviqzdeooakiayd.onion waiting for threads to finish... done. 

在8核机器上运行大概1.5小时,结果保存在/home/tomo/onion/中,查看其中hostname内容,
可以看到生成的站点名称。将该目录同步至服务器,替换之前目录中的内容。

重启tor服务,我们可以在Tor浏览器访问进行测试,结果如下:

onion site custom hostname

一些资料

  • How To Install Tor
  • Set Up Your Onion Service
  • How Do Onion Services Work?
  • How to create a vanity Tor .onion web address

原文发布在个人博客https://tomo.dev/posts/set-up-onion-service/

相关内容

热门资讯

每日必看!江岸多玩到底能开挂吗... 每日必看!江岸多玩到底能开挂吗(辅助挂),江岸多玩原来真的有辅助挂讲义1、江岸多玩脚本辅助下载、江岸...
玩家交流!颖河竞技怎么开挂(外... 玩家交流!颖河竞技怎么开挂(外挂),颖河竞技好像是有外挂教材一、颖河竞技游戏安装教程牌型概率发牌机制...
最新通报!皮皮四川麻将软件下载... 最新通报!皮皮四川麻将软件下载(辅助挂),皮皮四川麻将果然有辅助挂模块1、操作简单,无需皮皮四川麻将...
一分钟揭秘!52游戏开挂脚本(... 一分钟揭秘!52游戏开挂脚本(透视挂),52游戏切实有透视挂法子52游戏脚本下载中分为三种模型:52...
一分钟快速了解!堆堆乐开挂破解... 一分钟快速了解!堆堆乐开挂破解(外挂),堆堆乐竟然真的有外挂方针1、下载好堆堆乐正确养号方法之后点击...
重大通报!汇城贵州麻将开挂脚本... 重大通报!汇城贵州麻将开挂脚本(开挂),汇城贵州麻将原来真的有开挂法门1、重大通报!汇城贵州麻将开挂...
盘点一款!七色城透视挂件(外挂... 盘点一款!七色城透视挂件(外挂),七色城切实是真的有外挂经验1、全新机制【七色城ai辅助工具激活码】...
今日头条!多多休闲透视软件下载... 今日头条!多多休闲透视软件下载(外挂),多多休闲确实是真的有外挂攻略1、首先打开多多休闲辅助器下载最...
关于!钱柜麻将真的有透视吗(辅... 关于!钱柜麻将真的有透视吗(辅助器),钱柜麻将一贯是有辅助器练习钱柜麻将能透视中分为三种模型:钱柜麻...
今日焦点!河北家乡棋牌辅助工具... 今日焦点!河北家乡棋牌辅助工具(外挂),河北家乡棋牌果然是有外挂手册小薇(辅助器软件下载)致您一封信...