视频教程
youtube播放地址:https://youtu.be/lOLJ70bc-pA
GIA高速VPS推荐: https://d.m123.org
家宽住宅VPS推荐: https://v.m123.org
自用专线机场推荐: https://b.m123.org
tor网络
安装x-ui
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)
安装tor
(apt update && apt install -y tor) || (yum update -y && yum install -y tor) || (dnf update -y && dnf install -y tor)
或者使用官方源:https://support.torproject.org/zh-CN/apt/ https://support.torproject.org/zh-CN/rpm/
检测是否连上tor网络
https://check.torproject.org/?lang=zh_CN
tor官方推荐网址
https://community.torproject.org/onion-services/
手搓配置
前置代理+tor网络
前置代理+tor网络+后置代理
视频文稿(忽略)
上期给大家介绍了什么是暗网以及如何访问暗网,有些人对其嗤之以鼻,认为这是一个充斥着色情暴力犯罪的法外之地,教授访问暗网就是在助纣为虐,确实由于其不受监管,不法分子会利用暗网来进行非法活动,但这并不是tor的问题,tor的初衷是为了更好的保护用户隐私,曝光美国棱镜监视计划的爱德华斯诺登就曾多次公开推荐使用 Tor 来保护隐私和匿名通信,而且暗网也只是tor的一个应用,只不过很多教程都直接把tor网络和暗网画上等号,导致很多人对tor网络存在误解,事实上tor不仅可以用来访问暗网,也能访问表网,还能用来代理ssh、ftp等其他tcp流量,比特币钱包还能针对tor节点进行单独配置,我们熟悉的singbox也支持tor出站,但默认编译的版本没有嵌入tor,需要自己编译或者从外部载入
接下来就来教大家脱离洋葱浏览器直接使用tor网络,事先声明,教程仅供技术交流学习探讨,不提倡使用tor网络从事任何违法活动,虽说tor网络可以完美隐匿你在网络上的行踪,但你的数据会因为你的各种不当操作而从tor网络中泄漏出去,请勿以身试法
开始之前再简单讲讲tor网络的工作原理,你可以把它看做是一个免费的三层链式代理,当我将访问谷歌的请求发送给tor的时候,他会从tor网络中随机选择三个中继节点并建立链接,然后通过握手协商获取每个节点的共享密钥,首先使用节点3的密钥对数据进行加密,然后在这个基础上再使用节点2的密钥对数据进行加密,最后使用节点1的密钥对数据进行加密,加密后的数据将会发给tor网络里的中继节点1,这个节点也称为守卫节点,由于数据你是直接发给他的,所以他是唯一知道你ip地址的节点,守卫节点拿到数据后,会使用他的密钥对数据进行解密,获取到了经过节点2密钥加密的数据,由于节点1并没有节点2的密钥,所以无法解密,节点1无法看到里面的内容,解密之后的数据会发给节点2,节点2会使用他的密钥进行解密,获取到了节点3加密的内容,同样的,节点2无法看到被节点3加密的内容,同时数据是节点1发给他的,所以他不知道你的真实ip,解密后的数据将会发给节点3,节点3使用密钥进行解密,得到了你的意图是访问谷歌,于是帮你访问谷歌,谷歌会认为是节点3在访问他,节点3是出口节点,他知道你要访问谷歌,但不知道你的真实ip,因为数据是从节点2发给他的,在这种情况下如果想追踪你是谁,在访问哪?就必须同时控制这三台中继节点,并且tor每隔十分钟就会更换节点,也可以随时手动切换节点,在这个由志愿者组成的去中心化网络想要追踪你几乎是不可能的
为了屏蔽本地系统差异可能出现的各种问题,教程选择将tor网络搭建在节点上,首先我们需要搭建一个普通的节点,以xui面板为例,在vps上执行这条指令安装xui面板,这些用到的信息我会放在视频下方的说明栏,接着访问连接进入面板,来到入站列表,我这里视频演示就随便搭建一个ss节点,将这个节点导入代理工具,测一下延迟,有延迟说明可以正常使用,接着我们就可以启用这个节点进行科学上网了,这台vps的ip尾数是212,访问ping0查询一下节点ip,ip地址确实是212,此时这就是一个普通的ss节点,并不能访问暗网,暗网必须要先连接tor网络才能访问,可以访问这个网址来检测一下,网页提示我们没有使用tor,也可以在这里获取一些暗网网址,比如访问暗网版bbc,就会显示无法访问
接下来让这个节点支持访问暗网,首先使用这条指令安装tor,安装完成后稍等片刻,执行lsof -i:9050指令,如果和我一样返回了这个tor的进程,说明tor已经安装好了并且成功启动了,默认情况下tor会在9050端口开启socks代理,也就是你通往tor网络的入口,只要将你需要进入tor网络的流量交给9050端口就行了,利用xray的路由功能可以轻松实现这个目的,回到xui面板,来到xray设置,在出站规则下添加tor的入口,协议选择socks,随便给个标签,地址和端口就填写tor监听的入口,填localhost或者127.0.0.1都可以,点击添加,接着来到路由规则页面添加一个路由,在domain这里输入domain:onion,outbound tag选择刚才添加的tor出站,点击添加,点击保存,并且重启xray,如果你和我一样点击重启后卡住了,那是因为我们一边正在使用这个节点,一边又要重启这个节点,类似自己把自己抬起来,不符合常理,所以你可以先切换到其他节点再点击重启,或者直接在vps上执行x-ui restart,此时就算是配置好了,
这样通过节点访问onion域名的流量都会进入tor网络,首先刷新检测网页,提示我们没有连接tor,因为这个检测网页是org的表网域名,并不是暗网,所以数据并没有发送到tor网络里,接着尝试刷新onion结尾的暗网域名,就成功的通过谷歌浏览器进入了暗网版bbc,不需要使用洋葱浏览器,不过这样的隐匿性没有使用洋葱浏览器好,因为谷歌可能会收集你的访问数据,也就是知道访问了哪些暗网网站,洋葱浏览器不会收集这些信息,这里还列举了一些其他的暗网网站,都是正规的,同样也都可以正常访问了,虽然速度有点慢,现在的配置相当于访问暗网的流量会进入tor网络,访问其他表网还是直接使用vps,但如果你希望访问表网也通过tor网络,则还需要进一步设置, 回到xui,给这个ss节点再添加一个客户端,将电子邮件设置为toruser,点击添加,将其导入代理工具,目前他还只是一个普通的节点,来到xray设置,出站我们刚才已经添加好了tor节点,添加一条路由规则,在user这里填入刚才设置的电子邮件toruser,出站选择tor,意思是不管你是访问表网还是暗网,还是诸如ssh、ftp之类的需要被代理的流量,只要使用这个节点,数据全都会通过tor网络代理,点击添加,然后保存并重启xray,此时就算是配置好了,接着我只要切换到toruser的节点,所有代理数据都会通过tor网络,再来检测一下,可以看到显示我们的数据经过了tor网络,不过网页会提醒我们没有使用洋葱浏览器,如果要更强的隐私保护则推荐使用洋葱浏览器,这个尾数198的ip就是洋葱网络的出口节点,respect,包括其他表网检测到的也将会是tor节点的ip,相当于对外隐藏了我vps的ip地址,由于用tor网络来干坏事的人太多,ip风险程度爆表100%是预期效果,等会我也会教大家通过后置代理解决这个问题,表网都是用tor那暗网更是没问题了,可以正常访问, 这就是将所有流量导入tor网络的配置方式,如果你只希望访问暗网才通过tor网络就用刚才配置的第一个ss节点
有些朋友不想使用面板,希望自己手搓配置实现,我会将对应的配置文件提取出来,供大家手搓参考,不过毕竟手搓的受众比较小,我将继续使用xui面板来为大家做演示
安卓手机就以nekobox为例,将节点导入nekobox,选中节点并开启代理,有延迟,接着打开浏览器,可以通过tor网络访问表网谷歌,并且可以看到出口节点的ip已经发生了改变,上期也讲过tor网络的节点会定时自动更换防止被追踪,但由于ip太脏了要进行烦人的人机验证,建议我们跳过这个环节,尝试访问暗网版brave,提示无法加载,因为域名无法解析到ip,这是因为暗网域名只能在tor网络中路由,并没有对应的ip地址,由于手机默认使用的是需要在本地进行dns的tun模式,而dns找不到暗网对应的ip,于是就报错了,这种情况下需要开启fakeip模式,进入nekobox的设置,在下面找到启用fakedns的选项,也就是fakeip,启用他,此时的onion域名将会交给节点处理,本地不会解析,而节点收到onion域名将会根据路由转发到tor网络中,应用之后重新访问暗网,就可以成功通过普通浏览器访问暗网网站了,这就是安卓的配置方法
刚才电脑用的是socks代理模式,socks不需要在本地进行dns解析,可以直接将暗网域名交给节点处理,如果你要开tun的话需要将onion域名配置为fakeip模式,至于啥是fakeip三言两语讲不清,可以回看这期经典老番,这里就不再啰嗦了
至于ios的话我使用safari和chrome尝试了一下,发现他们不管是不是fakeip,压根就不处理onion域名,可能是系统限制,所以只能访问表网无法访问暗网
刚才我也说了tor网络的出口节点对于表网来说无一例外,注意是无一例外全都是高风险的ip,比如访问这个网站查看ip的评分,可以看到是信任分为0的高风险ip,即使出口ip又发生了改变,甚至可以在这里看到检测出了这是tor节点,包括滥用、攻击、代理等点亮的小红灯,用这个ip访问表网的话很多网站都会被限制,所以接下来教大家通过后置代理解决这个问题,先看操作,在面板上再随便添加一个节点,比如vmess,复制节点链接,来到xray设置下的出站规则,点击添加出站,将刚才复制的节点链接粘贴上去,点击右边的图标解析,点击添加出站,接着重新编辑该节点,启用sockopts,dialer proxy选择tor,点击确定,来到路由规则,修改刚才toruser节点的出口,将其改成刚才添加的vmess节点,点击确定,最后点击保存并重启xray,这样就算是配置好了
此时的效果相当于,我通过ss节点访问谷歌,由于使用的是toruser的节点,而toruser的路由是从vmess出去,于是数据将通过vmess进行加密发送,但是vmess节点设置了通过tor节点代理,于是这条经过vmess加密的数据会发送到tor网络,经过tor的三层代理来到了vmess节点,也就是他自己,使用vmess解密后发现是访问谷歌的,于是通过直连帮我们访问了谷歌,对于谷歌来讲和他通信的ip是这台vps,而不是高风险的tor出口ip,这就是后置代理的通信过程
尝试查询ip,可以看到落地是使用vps的ip,而不是tor网络的出口ip,虽然这个ip的纯净度也不咋地,检测页面显示没有使用tor网络,那是因为落地并不是tor出口ip,但是我们中间确实使用了tor网络,暗网也是可以正常访问的,有些朋友可能有疑问,入口是vps的ip,出口又是vps的ip,那为啥不直接访问,还要到tor网络里转一圈?为了降低网速吗?有没有用先放一边,你就说这操作六不六吧,当然也可以套个cdn啥的,这里就不再拓展了,大家自行发挥
另一种场景是使用不同的vps实现后置代理,比如我这里有一个住宅ip的socks节点,但是我不想让这个socks节点知道我的前置代理ip,就可以通过tor网络连接,在面板里添加一个socks出站,将这个住宅ip的信息填进去,同样启用sockopts,dialer proxy选择tor,点击添加,来到路由规则,你可以单独添加一个规则,或者修改toruser节点,将这个用户的出口改成住宅ip的socks代理,最后保存并重启xray,此时再来检测ip落地就是干净的美国住宅ip了,前置代理是vps,落地的后置代理是住宅ip,住宅ip不知道数据是从前置代理发过来的,由于ip比较干净就不会像tor出口一样被表网各种阻挡了
最后讲一下怎么搭建暗网网站,非常简单,在vps上修改这个torrc的配置文件,搜索hidden,找到这个位置,将这三行前面的#号注释删掉,第一行是数据保存的目录位置,第二和第三行表示端口映射,访问暗网的80端口就相当于访问本机的80端口,你可以使用nginx在这台vps的80端口上搭建一个网站,我就直接转发xui的端口做演示了,复制xui使用的端口,粘贴到这里,先复制这个路径,等会要用,修改完成后保存退出,然后执行这条指令重新运行tor,接着使用这条指令查看这个路径下的hostname,这个就是我的暗网域名,复制到浏览器中访问,如果发现没有反应的话,看看是不是浏览器自动加上了https,我的xui是没有配置tls的,所以要改成http,再次访问网页返回一片空白,因为缺少了路径,将xui的路径加上,就能成功进入暗网版的xui面板了
如果你想贡献vps到tor网络中当中继节点,请自行查阅相关文档,tor的配置参数非常多,可以实现更细致的设定,比如手动切换链路,屏蔽某些地区的节点或者只连接某些地区的节点,感兴趣的朋友可以自行研究。