Tor介绍
Tor is free software and an open network that helps you defend against traffic analysis, a form of network surveillance that threatens personal freedom and privacy, confidential business activities and relationships, and state security.
如果需要了解更多请看 Tor官方网站
树莓派介绍
The Raspberry Pi is a tiny and affordable computer that you can use to learn programming through fun, practical projects.
如果需要了解更多请看 Raspberry Pi官方网站
序言
众所周知,现在国内上网需要掌握许多种科学上网的方法。最近还要封杀VPN了,简直过分。这两天看了不少网上搭建Tor匿名站点的方法,但大都鱼龙混杂,而且并没有考虑到我国的”特殊国情”。在经过两天的奋斗之后,我终于搞定了整套流程,现在把它记录在这里,希望可以帮到大家。
Step0. 准备材料
- 硬件:树莓派(安装Raspbian Jessie系统)
- 网络:可以联网即可,支持内网穿透。
Step1. 更新apt源
首先,我们需要把apt的源更换为国内的源,将原有的源备份。
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
编辑source.list文件
sudo vim /etc/apt/sources.list
将source.list中的内容替换如下(这个是我自己的配置)
deb http://mirror.sysu.edu.cn/raspbian/raspbian/ jessie main contrib non-free
deb-src http://mirror.sysu.edu.cn/raspbian/raspbian/ jessie main contrib non-free
#阿里云
deb http://mirrors.aliyun.com/raspbian/raspbian/ wheezy main non-free contrib
deb-src http://mirrors.aliyun.com/raspbian/raspbian/ wheezy main non-free contrib
#清华
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ wheezy main contrib non-free rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ wheezy main contrib non-free rpi
#东软
deb http://mirrors.neusoft.edu.cn/raspbian/raspbian/ wheezy main contrib non-free rpi
deb-src http://mirrors.neusoft.edu.cn/raspbian/raspbian/ wheezy main contrib non-free rpi
#中科大
deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ wheezy main contrib non-free rpi
deb-src http://mirrors.ustc.edu.cn/raspbian/raspbian/ wheezy main contrib non-free rpi
更新apt列表
sudo apt-get update
更新软件
sudo apt-get upgrade
Step2. 安装PHP
目前网站服务器搭建最流行的就是LAMP框架了,所以我们首先来安装PHP和PHP-FPM。由于nginx并不支持PHP的解析,所以我们用PHP-FPM提供了更好的PHP进程管理方式,可以有效控制内存和进程、可以平滑重载PHP配置,比spawn-fcgi具有更多优点。
sudo apt-get install php5 php5-fpm
Step3. 安装nginx
相比于LAMP中的Apache,nginx更加适合树莓派安装。
sudo apt-get install nginx
nginx的配置在 /etc/nginx/nginx.conf中,我们需要根据自己的实际情况来设置nginx.conf文件。nginx.conf配置里面包括了
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
所以在这里,我们直接编辑/etc/nginx/sites-available/default就好。
sudo vim /etc/nginx/sites-available/default
下面是修改好的文件内容:
server {
#更改监听端口为8080
listen 8080 default_server;
#是否支持IPV6
#listen [::]:80 default_server;
#设置网站根目录
root /var/www/html;
# 如果要使用PHP,需要添加index.php
index index.html index.htm index.nginx-debian.html index.php;
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;
}
#php配置项
#将php交给php5-fpm来处理
location ~ [^/]\.php(/|$){
include fastcgi-php.conf;
include pathinfo.conf;
include typecho.conf;
fastcgi_pass unix:/run/php5-fpm.sock;
}
}
其中pathinfo.conf的代码为:
set $real_script_name $fastcgi_script_name;
if ($fastcgi_script_name ~ "(.+?\.php)(/.*)")
{
set $real_script_name $1;
set $path_info $2;
}
fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
fastcgi_param SCRIPT_NAME $real_script_name;
fastcgi_param PATH_INFO $path_info;
其中typecho.conf的代码为:
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-e $request_filename){
rewrite (.*) /index.php;
}
Step4. 启动nginx和php5-fpm
sudo service php5-fpm start
sudo service nginx start
Step5. 安装Typecho内容发布系统
Typecho是一个非常轻巧的内容发布系统,我觉得用在树莓派上十分合适。而且安装过程也十分简单,丝毫不逊于WordPress的五分钟安装法。
安装的时候需要选择数据库,这里我推荐使用Sqlite,还是那个原因,比较轻便。在安装的过程中我遇到了不少坑,主要是nginx配置不正确造成的,我在上面的配置文件中已经修正过来了,所以应该可以很顺利的运行Typecho。如果有问题可以试着自己搜索一下。
Step6. 安装Tor
首先添加key文件签名
sudo gpg --keyserver keys.gnupg.net --recv 886DDD89
sudo gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add -
之后就可以安装Tor了
sudo apt-get install tor
Step7. 配置Tor
sudo vim /etc/tor/torrc
在最下面添加以下内容:
Socks5Proxy 127.0.0.1:1080
HiddenServiceDir /var/lib/tor/hidden_service/
HiddenServicePort 80 127.0.0.1:8080
添加Socks5Proxy是因为国内的网络环境不支持使用Tor,所以我们需要科学上网一下才可以正常使用。
Step8. 安装XX-net
XX-Net是一个集成了GoAgent和GoGotest的封包软件,能自动根据当前网络状况搜索最新Google IP,并且替换到GoAgent里面,是GAE最高效利用方式。
需要注意的是:
- 由于封锁严重,软件自带IP已经被封杀殆尽。因此需要数分钟到数小时的初始化IP扫描,方能正常运行。
- 虽然系统内置了公共appid, 还是建议部署自己的appid,公共appid限制看视频。需要注意的是,只有当你能访问Google之后,才能部署自己的APPID。
首先使用Git从Github上拉取最新的Source
git clone https://github.com/XX-net/XX-Net.git
安装 libnss3-tools
sudo apt-get install libnss3-tools
安装gtk
sudo apt-get install python-gtk2
Step9. 配置XX-net
第一次使用需要使用Sudo权限导入证书,进入XX-net目录
sudo ./start
之后你可以去泡杯茶喝了,这一过程可能需要数分钟到数小时来扫描IP。在完成扫描之后,打开http://127.0.0.1:8085来进行XX-net的配置。
我们利用XX-net的X-Tunnel功能,建立了一个SOCK5的代理端口,端口号为1080,也就是之前填在Tor配置中的那个地址。
Step10. 启动Tor
启动Tor
sudo service tor start
在hidden_service文件夹中可以找到hostname,这里记录了随机生成的Tor域名
cd /var/lib/tor/hidden_service/
cat hostname
用Tor浏览器访问的.onion的域名,查看是否可以正常访问。