如何优雅地用Tor_上篇
Tor这篇教程拖了好久,今天,讲讲Windows和Linux上怎么流畅地用Tor,并摆脱臃肿的自带浏览器?Linux下怎么编译Tor和obfs4proxy?另外Tor广播的Bridge时常处于不可用状态,那么怎么在自己的VPS上搭建Tor的Bridge来自用?废话不多讲,开搞。
服务端搭建Tor Bridge
这一步是非必须的,你也可以自己找网桥使用,当然自己搭建的速度可能更好,具体怎么寻找和使用网桥请看俺的下一篇博文。
vps上安装tor和obfs4proxy
apt install tor
apt install obfs4proxy
tor和obfs4都安装成功了,那么编辑tor的配置文件torrc:
vi /etc/tor/torrc
填入下面内容:
1 | Log notice file /var/log/tor/notices.log |
保存,然后重启tor:
systemctl restart tor
执行无错后查看tor的日志文件
cat /var/log/tor/notices.log
会出现下图这样的输入:
记下图片上部的server's identity key
server's identity key 8975AAF1A5317E04600F30AD3ED43083820FF516
然后找到obfs4网桥的cert
cat /var/lib/tor/pt_state/obfs4_bridgeline.txt
会看到下面内容:
Bridge obfs4 <IP ADDRESS>:<PORT> <FINGERPRINT> cert=6LMNcXh6MIfApbZiMksnS4Kj+2sffZ5pybSqtcOO5YoHgfrMpkBJqvLxhuR2Ppau0L2seg iatmode=0
把上面IP ADDRESS换成自己的IP,PORT换成自定义的obfs4端口,FINGERPRINT换成你上面记下的key,就是一个完整的obfs4网桥了。下面是一个完整的网桥例子:
Bridge obfs4 66.42.73.78:41563 8975AAF1A5317E04600F30AD3ED43083820FF516 cert=6LMNcXh6MIfApbZiMksnS4Kj+2sffZ5pybSqtcOO5YoHgfrMpkBJqvLxhuR2Ppau0L2seg iatmode=0
接下来就可以使用自己的网桥进行连接了。当然你也可以从官方获取网桥进行桥接,下面是免费获取网桥页面:
https://bridges.torproject.org/options
下面,讲讲在Windows和Linux客户端下怎么用?
Windows上Tor的使用
由于对Windows不是很熟悉,也就没有专门去编译tor和obfs4的exe单文件,直接去官方选择Windows下载:
https://www.torproject.org/zh-CN/download/tor/
下载解压后,把tor里面的文件按照下面的文件格式组装一下:
1 | +---Data |
上面看不懂的可看下图:
Windows下的obfs4proxy.exe文件比较麻烦,单文件没找到,直接去tor浏览器Tor Browser\Browser\TorBrowser\Tor\PluggableTransports
文件夹提取一下。
然后用文本编辑器或记事本新建一个名为torrc
文件,不需要后缀,填入下面内容:
1 | #下面是跨机共享代理,去掉前面#号即可开启 |
默认是使用网桥连接,如果你没有搭建网桥或者获取的网桥连接不上,你也可以开启前置代理使用。
开启前置代理方法:去掉 Socks5Proxy 127.0.0.1:1080
前面的#号,当然也可以改为你前置客户端使用的其它端口,tor支持socks5和https前置。然后把 UseBridges 1
改为 0 就可以使用前置了。
torrc文件放在上面主目录,参照上面文件结构。完成后,还需要新建一个bat启动脚本,记事本或编辑器新建tor_start.bat
文件,填入下面内容即可:
1 | tor -f torrc |
本来只需要tor -f torrc
就可以了,如果闪退,就添加下面cmd/k
,tor_start.bat
文件放入主目录,参照上面文件结构。
完成后,点击tor_start.bat
启动就好了。Tor的端口 Socks5 127.0.0.1:9050
可以配合浏览器插件SwitchyOmega,或者其它方式使用。
Linux下编译使用Tor
其实Tor和obfs4proxy安装很简单,因为软件库里都有,直接下面两条命令即可安装完成,但碰上俺这种有洁癖的,就是喜欢自己编译。
apt安装
apt install tor
apt install obfs4proxy
经推友提醒,这里讲下apt安装后的运行路径
apt安装后tor和obfs4proxy二进制文件分别在/usr/bin/
里面,这里需要修改一下torrc文件,一起启动obfs4proxy.
vi /etc/tor/torrc
添加ClientTransportPlugin
路径为
ClientTransportPlugin obfs4 exec /usr/bin/obfs4proxy managed
当然,网桥和前置什么的都可以在这里面设置。
保存后就可以直接tor
运行了。
编译Tor
由于系统不一,编译时缺什么依赖的话,自己按错误提示添加。
1 | git clone https://github.com/torproject/tor.git |
Tor二进制文件在/src/app/
里面。
编译obfs4
go的版本号必须是1.11.0或更高版本,go get需要挂代理。
1 | git clone https://github.com/Yawning/obfs4.git |
obf4proxy二进制文件在/obfs4/obfs4proxy/
里面。
上面apt安装和手工编译二选一,然后,就是编写torrc
文件了:
1 | #SocksPort 0.0.0.0:9050 |
Linux下把编译好的tor
obfs4proxy
和 torrc
放在同一个文件夹下,给文件夹755权限,cd到文件夹,运行下面命令即可:
./tor -f torrc
到此,教程也就写的差不多了。最后Tor的端口 Socks5 127.0.0.1:9050
可以配合浏览器插件SwitchyOmega,或者其它方式使用。
下面页面有俺用最新源码编译的Linux_amd64,Tor和obfs4proxy,当然Windows版本也有,里面内置几十个可用网桥,当然你也可以开启前置使用。下载页面:
https://hostalk.net/cloud/docs/
其它
下面就聊聊关于安全的问题,本教程不为安全负责,只是写出一种轻量便携的方法,其后的浏览器加固,可以看俺下一篇博文。
关于匿名并不是你想象的这么简单,技术方面讲,无非就是前置,网桥,虚拟机,浏览器加固等等,这其中有几项争议比较大:
1:到底是用前置更安全还是使用网桥安全?
2:邪恶国家节点需不需要排除?
3:Tor流量特征是不是很明显?在现有的用户基数下这些特征够不够得上威胁?
以上问题,有些人会说,这些问题太简单了。呵呵,你认为俺会提简单问题?大家可以Google多看看,算是增长一些匿名知识。有些问题的答案并非你想象的那样子,俺这里就不给出答案了,需要你自己去探索。
然后说的是,技术以外的部分,匿名时的环境隔离和互动频率,这其实是很重要的部分,是不是彻底与内网隔离?包括身份,付款方式,行为特征,互动规律等等,这一部分建议大家看看编程随想的博客,他讲的比较详细,俺也就是献献丑。
参考: