Debian8手动安装配置trojan服务端

现在网上能找到的一键脚本基本都要求debian9或以上版本才行,由于某些原因我并不打算升级debian,却想用上trojan,在一番折腾后发现debian8也是可以的。但是8以下的版本没有试过。

本文不包括nginx配置。

trojan工作原理简述

trojan先从正常网站(监听http 80端口)吸取流量,然后将流量作为伪装成加密的正常网站(https 443端口)释放给客户端(用户)。

安装trojan

  • 使用以下命令,会直接从github下载并安装最新版的服务端。如果不是root用户,请用sudo命令切换到root运行。(以下全部省略sudo)
bash -c "$(curl -fsSL https://raw.githubusercontent.com/trojan-gfw/trojan-quickstart/master/trojan-quickstart.sh)"

然后会得到几个重要的路径

1,配置文件路径

/usr/local/etc/trojan/config.json

2,启动文件路径

/etc/systemd/system/trojan.service

修改配置文件

输入以下命令

vi /usr/local/etc/trojan/config.json

修改config

这里需要修改的一般只有cert:和key:两行。分辨填入ssl证书和密钥文件的路径。

至于如何获得ssl证书和密钥可以参考另外一篇文章:freessl申请免费ssl证书

额外提几点:

1,修改“local_port”也是可以的,但是这样就没法伪装成常用的https流量。(常用https端口为443),这就违背了trojan最大的意图–伪装。

2,检查443端口有没有被其他进程占用,使用以下命令

 lsof -i:443

如果有发现443端口被占用,上述命令可以显示进程的PID,然后用kill+pid数字关掉进程。但这只是一时的,下次启动这个进程可能还是会继续占用443端口,最好的办法就是让那个进程使用其他端口。这里就不展开说了。

修改启动文件

输入以下命令

vi /etc/systemd/system/trojan.service

此图像的alt属性为空;文件名为微信截图_20200301211723.png

这就是debian8和debian9以上的区别!

将 

ExecStart=”/usr/local/bin/trojan” “/usr/local/etc/trojan/config.json”

替换成

ExecStart=/usr/local/bin/trojan -c “/usr/local/etc/trojan/config.json”

修改完后重新加载一下

systemctl daemon-reload

一些常用命令

启动

systemctl start trojan

重启

systemctl restart trojan

状态查询(如果有显示绿色active(running),就表示正常运行中)

systemctl status trojan

错误查询

journalctl -e -u trojan.service

开机自动启动

systemctl enable trojan

鸣谢

本文研究主要参考文章:

  1. https://trojan-tutor.github.io/2019/04/10/p41.html
  2. https://betterme.xin/posts/2019-12/trojan/
  3. https://www.v2rayssr.com/trojan-1.html
  4. https://github.com/trojan-gfw/trojan/issues/283
0 0 投票数
文章评分
订阅评论
提醒

0 评论
内联反馈
查看所有评论