下载裸Tor(独立功能的Tor): 进入Tor官网下载(要翻墙)点击这里»点击Microsoft Windows » 找到Expert Bundle » 点击Download

全部文件解压到同一个目录,Data\Tor\内的文件,放到tor.exe同目录下

取得meek插件:下载meek-client.exe:

或自行提取:下载Tor安装包,使用7zip解压.exe安装包,提取meek-client.exe

制作配置文件,启动,关闭脚本:制作启动脚本,打开记事本,复制粘帖

tor -f torrc

保存,命名为tor-run.bat

制作关闭脚本

打开记事本,复制粘帖

1
2
taskkill /IM tor.exe /F
taskkill /IM meek-client.exe /F

保存,命名为tor-stop.bat

配置文件

打开torrc配置,复制粘帖

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
DataDirectory ./
GeoIPFile ./geoip
GeoIPv6File ./geoip6
ClientTransportPlugin meek exec ./meek-client.exe
UseBridges 1
Bridge meek 0.0.2.0:2 B9E7141C594AF25699E0079C1F0146F409495296 url=https://d2cly7j4zqgua7.cloudfront.net/ front=a0.awsstatic.com
## 以下为排除的节点(StrictNodes 1为坚决执行)
ExcludeNodes {cn},{hk},{mo},{kp},{ir},{cu},{vn},{ru},{by},{kz},{uz},{pk},{kg},{tj},{tm},{tr},{sy},{sg},{th},{ph},{my},{lk}
ExcludeExitNodes {cn},{hk},{mo},{kp},{ir},{cu},{vn},{ru},{by},{kz},{uz},{pk},{kg},{tj},{tm},{tr},{sy},{sg},{th},{ph},{my},{lk}
#注:
#ExcludeNodes 是指排除节点,即把括号中的国家的节点从tor链路上除去;
#ExcludeExitNodes 是指“排除“出口”节点”,,即tor的出口节点要排除括号中的国家的节点。
## 指定出口节点:
StrictNodes 1
ExitNodes {us}
#这里us是指限定美国的ip为出口ip,你可以改为任何国家,国家代码请参考:https://zh.wikipedia.org/zh-cn/ISO_3166-1

保存,命名为torrc(没有文件名后缀)

注意文件名后缀,全部文件放到同一个文件夹中,文件结构如下:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
geoip
geoip6
libeay32.dll
libevent-2-0-5.dll
libevent_core-2-0-5.dll
libevent_extra-2-0-5.dll
libgcc_s_sjlj-1.dll
libssp-0.dll
meek-client.exe
ssleay32.dll
tor-gencert.exe
tor-run.bat
tor-stop.bat
tor.exe
torrc
zlib1.dll

使用方法:

运行tor-run.bat,Tor开始运行,显示100% Done即成功连接Tor网络

Socks5代理端口开启,默认是127.0.0.1:9050

使用支持Socks5代理的浏览器/插件(与SS/SSR同理):

Chrome插件SwitchyOmega教程

如需要在局域网内共享Tor翻墙通道,在torrc文件内加一行

SocksPort 0.0.0.0:9050

Android系统手机使用:

下载Socks5代理软件(这款是开源的)

查询运行Tor的电脑的局域网IP,共享Tor翻墙后,在手机内填写IP和端口(9050)

可访问Tor暗网服务.onion域名

运行tor-stop.bat,即可结束进程

版本更新

重复步骤1,步骤2,替换文件

优化meek速度方法

meek-amazon网桥,使用amazon cloudfront,当前meek插件的front域名是a0.awsstatic.com,可自行解析可用IP,寻找可用最快的IP(与GAE同理),修改hosts文件:

xxx.xxx.xxx.xxx a0.awsstatic.com

front域名被封

torrc文件内front域名,替换为未被封锁可解析到cloudfront的域名
front=a0.awsstatic.com
替换为:
front=c.amazon-adsystem.com
或
front=d3dkhq0wwdwodv.cloudfront.net
或
front=d31qbv1cthcecs.cloudfront.net
或
front=d3ezl4ajpp2zy8.cloudfront.net
等能够解析到cloudfront.net的域名

使用微软azure网桥

torrc文件内网桥设置替换为:

Bridge meek 0.0.2.0:3 97700DFE9F483596DDA6264C4D7DF7641E1E39CE url=https://meek.azureedge.net/ front=ajax.aspnetcdn.com

本教程是绿色的Tor翻墙使用方法,比一般代理匿名性好,匿名请使用完整的Tor Browser,防止浏览器指纹泄露信息,同时搭配多重虚拟机

强制排除节点与meek插件冲突,而排除出口节点可行。

一旦在 torrc 中禁用了某些国家的节点,会导致 meek 无法联网。

 解决方法是:用了 meek 插件的 TOR,就不要在 torrc 中使用 ExcludeNodes 语法来排除节点。

 但是这样一来,某些比较谨慎的同学会担心误入蜜罐节点。俺想了个应对措施——拿配置了 meek 的 TOR 作另一个 TOR 的前置代理。这话有点绕口,配置如下:

安装两个 TOR,分别成为 A 和 B(为了避免冲突,可以放到两个虚拟机中)

A 配置了 meek,B 不配置 meek(为了用 meek,A 必须是 TOR Browser 软件包;至于 B 可以是 TOR Browser Bundle 软件包,也可以是 Vidalia Bridge Bundle 软件包)

在 B 的 torrc 中禁用流氓国家的节点

把 A 作为 B 的前置代理(也就是说,B 走 A 的 SOCKS 代理)

你的浏览器走 B 的 SOCKS 代理 (其实这个配置跟传统的“基于 TOR 的双重代理”,本质上是一样的。差别在于——“前置代理”也是 TOR)

实战例子

利用tor匿名上网,实现爬虫IP池

这里的匿名上网利用了洋葱代理的三重跳实现(三个节点跳转,从而实现IP地址隐藏,相当于用了tor的IP池)

Windows下匿名上网:

1、 首先得有自己的翻墙软件,这里使用的shadowsocks,因为tor代理也是走的sock5协议

2、 确认翻墙成功后,需要进行洋葱代理连接,shadowsocks默认是1080端口,tor代理默认监听的是9050,所以需要把9050监听到的内容传给1080然后去访问外网,所以进入tor-browser执行如下命令:

tor.exe SoCKS5Proxy 127.0.0.1:1080

3、然后因为本机是要网页浏览,那么是http流量,那么需要把http流量转换成socks5的流量,然后传给tor监听的9050端口,这时候就形成了一条通道,可以匿名上网了。这里需要使用privoxy工具进行配置,Windows 系统中右键点击 Privoxy 托盘图标,依次点击 Edit - Main Configuration 打开配置文件,写入以下内容:

forward-socks5 / 127.0.0.1:9050 .
listen-address 127.0.0.1:8118

4、 最后修改本地的代理为127.0.0.1 8118

5、 这时候就可以访问暗网以及利用tor的三重跳来隐藏自己了

Linux下匿名上网

同样的操作

1、首先下载shadowsocks

sudo apt-get install python-pip
sudo pip install shadowsocks 安装shadowsocks
sudo vi /etc/shadowsocks.json 添加配置项,内容如下{}
{
"server":"*", # 服务器端地址
"server_port":"*", # 服务器端端口号"local_port":"", # 本地端口号"password":"**" # shadowsocks密码
}

sslocal -c /etc/shadowsocks.json 启动shadowsocks

2、下载privoxy

sudo apt install privoxy 安装

sudo vi /etc/privoxy/config 修改配置(确保红框内的值都存在,并且重启服务)

forward-socks5 / 127.0.0.1:1080

listen-address 	localhost:8118

运行tor即可

3、问题解决

(1) 运行tor的时候会出现端口已被占用的情况,这时候可以使用sudo killall tor来操作,并且sudo services tor stop 然后再运行即可

(2) 将本地代理永久的修改sudo vi ~/.bashrc

写入:

export http_proxy="127.0.0.1:8118"
export https_proxy="127.0.0.1:8118"
source ~/.bashrc 更新系统配置

4、 依次运行即可访问暗网进行爬虫等操作了,但是无法浏览器访问,只能在终端terminal上请求访问。

5、 原理都是一样,将http流量转成socks5流量然后走tor代理传给ss,然后ss经过三重跳到了目标地址,然后再把流量返回来即可

多重代理的优劣比较

多重代理的好处 多重代理的坏处
防范溯源 配置复杂
伪装自己 性能下降

配置文件参数: https://www.torproject.org/docs/tor-manual.html.en

meek网桥配置的来源: https://lists.torproject.org/pipermail/tor-project/2017-November/001555.html

替换front域名方法的来源: https://lists.torproject.org/pipermail/tor-talk/2015-January/036410.html