家庭出国网络升级(一):使用trojan-go作为服务端

1. 写在前面

​ 我使用V2ray已经有一年时间,之前一直在用websocket+tls+web这套配置,路由器上使用openwrt-v2ray作为客户端,这套配置非常稳定,一年多来三台VPS从没出现问题。但当下v2ray也在研发新的vless协议,但作为beta版本很多客户端还没有跟进,而trojan-go作为trojan的升级版本异军突起也非常引人注意。最近手痒痒,不升级到新版就难受,另外考虑到

  1. openwrt上还没有对vless协议有支持的客户端
  2. caddy V2配置比V1复杂很多,而且效率低于Nginx
  3. V2ray的server端配置更为复杂(我喜欢纯手动配置,不用一键脚本)

​ 综上,我决定对家里全套扶墙设备进行更新,软路由上的客户端用openclash替代,服务端用trojan-go替代,而trojan-go只要不开启一些功能是兼容trojan的,所以在openwrt,Android,Linux平台上都能得到很好的兼容。

​ 这篇文章只是第一篇,只讲服务端trojan-go的配置方法,后面第二篇再来写软路由上openclash的配置方法。



2. 签发HTTPS证书acme.sh

​ 在我原来的方案中,前置代理使用的是caddy v1,使用这个软件的目的也很简单,配置简单,能自动签发HTTPS证书,这就免去了很多工作。

​ 但一年多过去了,caddy v2发布,不仅配置文件更加复杂,并且我还看了很多和Nginx的效率对比视频,结果都是Nginx完胜,对于我这种速度本来就不快的小鸡 …

➟ 查看全文

一文玩转V2ray 透明代理


本文主要是自己配置过程的流水帐,也算作是一个备份,防止以后再弄的时候忘了流程。本文使用openwrt-v2rayluci-app-v2ray作为配置工具,前者为V2ray的Openwrt的二进制文件,后者为可视化的配置工具。经过一段时间的摸索,发现该配置工具比原版V2ray+手动配置透明代理要简单的多,希望能够帮助到正在研究V2ray+透明代理的玩家。


更换源

1.安装支持https的工具

如果你想快速安装软件,那么必须换成国内的openwrt的源,但是目前国内好用的源都是https的。

opkg update
opkg install ca-certificates luci-ssl-openssl


2.替换系统源(推荐)

编辑源文件/etc/opkg/customfeeds.conf,我是软路由,所以是x86_64,请根据自己实际情况替换这部分。最后的kmod那条可加可不加,这个自己随意。编辑好自定义源文件后,还要把同目录下系统自带的源文件distfeeds.conf里的内容全部注释掉或删除。自定义源文件内容如下:

src/gz openwrt_core https …
➟ 查看全文

Openwrt新的Extroot姿势


之前写过一篇文章用 extroot 为 openwrt 扩充存储空间,最近重装openwrt的时候,发现官方文档已经更新了扩展方法,觉得有必要单独写一篇作为更正,以免误导新人。


1.首先,需要更新系统、安装必要程序

opkg update && opkg install block-mount kmod-fs-ext4 kmod-usb-storage e2fsprogs kmod-usb-ohci kmod-usb-uhci fdisk usbutils


2.之后更新rootfs数据

DEVICE="$(awk -e '/\s\/overlay\s/{print $1}' /etc/mtab)"
uci -q delete fstab.rwm
uci set fstab.rwm="mount"
uci set …
➟ 查看全文

从KDE切换到Gnome


在新单位中,经常要用到MysqlBench,这个软件的密码存储使用的是gnome-keyring,而且必须使用企业微信这种软件,例如deepin-wxwork,这个软件依赖于gnome-settings-daemon。然而我使用的是KDE桌面系统,有轻微洁癖的我很难接受Gnome和KDE共存于系统,在加上KDE有点审美疲劳,就尝试把我的Manjaro KDE换为Gnome桌面。


查阅了一些网上资料后,发现其实也很简单,至少比重新安装要简单很多。首先要进入单用户模式,你可以在网上搜索这个词,有很多的教程,其实就是在grub启动内核那段代码后加上single字符串即可在启动的时候直接进入命令行而不启动X11图形界面。


然后要卸载KDE的一个组件,不然会和Gnome冲突

pacman -Rcns manjaro-kde-settings


接下来安装Gnome所有组件,我这里是安装了全部

pacman -S gnome gnome-extra gdm manjaro-gnome-assets manjaro-gdm-theme manjaro-settings-manager 


安装完毕后,先把KDE的登录服务sddm替换为Gnome的gdm

systemctl disable sddm -f
systemctl enable gdm.service -f


最后卸载KDE所有组件即可

pacman …
➟ 查看全文

为原版Openwrt安装SSR-plus插件


之前文章提到过,我使用恩山lean大神的固件,主要是看中了他固件中的luci-app-ssr-plus这个插件,但是由于自己编译的固件稳定性上总是差点意思,不得已换回了官方原版openwrt,随之科学上网的插件也换成了shadowsocks-libev,这个插件是非常优秀的,但还是存在几个我非常介意的问题:

  1. ss的特征貌似已经能被GFW识别,国庆前我的三台私人服务器就全挂了,全面换成v2ray是迫在眉睫,但是该插件只支持原版ss
  2. 该插件的地址只能是IP地址,不支持域名,所以对于justmysocks这样被封后自动动换IP的服务就非常麻烦


v2ray官方没有提供我路由器架构的二进制文件,当然,openwrt就是以插件多闻名,其实可选的v2ray方案也很多,比如第三方固件openwrt-v2ray就提供了我需要的文件,再配合luci-app-v2ray也可以搭建出来,不过这套配置我是试过的,说实话配置起来比较复杂,DNS的解析转发、ChinaList、GFWList等功能也都需要自己来,所以我的第一选择还是luci-app-ssr-plus


在原版openwrt上使用这个插件有两种方法

  1. 编译出适合架构的程序及依赖程序的ipk文件
  2. 在原版系统中加入插件然后整体编译出一个固件刷入

我使用的是第一种方案,第二种方案没有尝试呢,有时间的话试过之后再来分享,下面正式开始。


编译插件

注意:编译过程中必须全程全局科学上网,否则某些package下载不下来,有非常大的概率编译出错

1.首先要把lean的整套源码从github克隆下来,然后进入该目录 …

➟ 查看全文