仅用来技术研究

连肝了爱奇艺8集的《爱情公寓5》,有生之年,又是大结局,挺回味的,你看尽管这是有很多很明显的抄袭部分的小剧,自己也看到了成年,12年也挺值得,爱3爱4自己是陪跑过的,电视前苦等,时间向前流,人是往上长的。

2020-01-29 我的服务器出网流量激增,崩了,我唯一的想法是网桥节点的锅,毕竟我阿里云香港搭的网站就俩,监测和网站的访问没多少关系。

仔细研究官方文档和几篇中文博客,发现是一件比较简单的事情,并且利用官方Docker镜像搭建网桥节点也很容易

搭建网站及私有.onion域名

1.安装apt-transport-https, 来支持https的源

$ sudo apt-get install apt-transport-https

2.添加源到 /etc/apt/sources.list或者直接新建/etc/apt/sources.list.d/tor.list, 直接用命令加

sudo add-apt-repository "deb https://deb.torproject.org/torproject.org $(lsb_release -cs) main"
sudo add-apt-repository "deb-src https://deb.torproject.org/torproject.org $(lsb_release -cs) main"

3.然后添加用于签名软件包的gpg密钥

$ wget -qO- https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc | sudo gpg --import
$ sudo gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add -

4.安装tortor debian keyring

$ sudo apt-get update
$ sudo apt-get install tor deb.torproject.org-keyring

5.之后要对tor进行配置,编辑配置文件/etc/tor/torrc,将以下两个参数前的注释去掉。

HiddenServiceDir /var/lib/tor/hidden_service/
HiddenServicePort 80 127.0.0.1:8080

HiddenServicePort为代理的端口,将本地的8080端口服务转发到80端口。

配置完成以后对Tor服务进行重启:

$ sudo service tor restart

查看获取到的hostname:

$ sudo cat /var/lib/tor/hidden_service/hostname

6.安装并配置nginx

$ sudo apt-get install nginx
$ sudo vim /etc/nginx/sites-available/default
...
server {
    listen 8080 default_server; #监听8080端口
    server_name localhost;
    root /var/www/html; #指定网站目录
    index index.html index.htm index.nginx-debian.html;
    location / {
        allow 127.0.0.1;
        deny all;
    }
}
...

测试配置文件的正确性:

$ /usr/sbin/nginx -t

重启 nginx:

$ /usr/sbin/nginx -s reload

当然你用宝塔面板的话, 直接新建一个网站, 域名就填hostname, 然后修改配置文件选项,

listen 8080
server_name 域名.onion
location / {
    allow 127.0.0.1;
    deny all;
}

若成功,访问服务器的8080端口可以看见Welcome to Nginx

成品:

此处内容需要评论回复后(审核通过)方可阅读。

搭建网桥节点

使用Docker快速部署
1.拉取镜像

我们正在维护一个运行obfs4桥的docker镜像。 首先,下载镜像:

$ sudo docker pull phwinter/obfs4-bridge:latest

2.部署容器

官方提供了一个Makefile来部署容器。首先,下载Makefile.txt并去掉.txt拓展名, 改为Makefile,然后新建一个文件bridge.sh写入网桥配置。这里有个模板:

export OR_PORT=X  # Your bridge's Tor port.
export PT_PORT=Y  # Your bridge's obfs4 port.
export EMAIL=Z    # Your email address.

X替换为所需的OR端口,将Y替换为obfs4端口(确保两个端口都在防火墙中转发),将Z替换为您的电子邮件地址,如果网桥存在问题,可以与官方联系。有了网桥配置,就可以部署容器:

$ source bridge.sh && make deploy

应该会看到类似以下的输出:

201fbd2b4d28e6f226978f27547edd79272871c5949bf8aab3872c983156a108
Make sure that port X and Y are forwarded in your firewall.

容器(由输出的第一行标识)现在正在引导新的obfs4网桥。

如果要在计算机上运行多个网桥,则需要使用不同的端口集创建更多的网桥配置文件,然后再次运行make deploy,如下所示:

$ source bridge-1.sh && make deploy
$ source bridge-2.sh && make deploy
...

3.升级容器

要升级到镜像的最新版本,需要停止现有容器,将其删除,拉取最新镜像,最后再次部署它:

$ sudo docker stop CONTAINER_ID
$ sudo docker rm CONTAINER_ID
$ sudo docker pull phwinter/obfs4-bridge:latest
$ source bridge.sh && make deploy

注意: 网桥的数据目录(包括其密钥材料)存储在docker卷中,因此在升级到最新的docker映像时,不会丢失网桥的身份。如果在计算机上运行多个网桥,则需要对每个网桥重复此步骤。官方将在tor-dev邮件列表中宣布新的镜像版本。

4.监控日志

可以通过运行以下命令检查网桥的日志:

$ sudo docker logs CONTAINER_ID

要在Tor浏览器中使用新的网桥,需要其“网桥线”。这是获得网桥线的方法:

$ sudo docker exec CONTAINER_ID get-bridge-line

这将返回类似于以下内容的字符串:

obfs4 1.2.3.4:1234 B0E566C9031657EA7ED3FC9D248E8AC4F37635A4 cert=OYWq67L7MDApdJCctUAF7rX8LHvMxvIBPHOoAp0+YXzlQdsxhw6EapaMNwbbGICkpY8CPQ iat-mode=0

确保检查出安装后说明。 如果在设置网桥时遇到问题,查看帮助

Last modification:July 13th, 2020 at 03:13 am
如果觉得我的文章对你有用,请随意赞赏