Alpine编译安装trojan

由于Alpine使用muslc而非glibc所以预编译的trojan在Alpine上是无法使用的,本文将指导如何在Alpine上编译、安装及使用trojan服务器,想跳过编译的话,文末有可执行文件下载链接

编译

首先安装需要的软件

# apk add make cmake g++ openssl boost-dev mariadb-connector-c-dev git

找一个文件夹,克隆trojan源代码

# git clone https://github.com/trojan-gfw/trojan.git
# cd trojan/

依次执行以下步骤

# mkdir build
# cd build/
# cmake ..
# make

出现以下提示说明编译成功

[100%] Built target trojan

安装及配置

在刚刚的文件夹内,执行make install安装

# make install
[100%] Built target trojan
Install the project...
-- Install configuration: "Release"
...

验证一下trojan是否可用

# trojan -v
Welcome to trojan 1.16.0
Boost 1_78, OpenSSL 1.1.1w  11 Sep 2023
 [Enabled] MySQL Support (10.5.5)
 [Enabled] TCP_FASTOPEN Support
 [Enabled] TCP_FASTOPEN_CONNECT Support
 [Enabled] SSL KeyLog Support
 [Enabled] NAT Support
 [Enabled] TLS1.3 Ciphersuites Support
 [Enabled] TCP Port Reuse Support
OpenSSL Information
        ....

接下来就是配置trojan服务器了,配置文件位于/usr/local/etc/trojan/config.json

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

只需关注以下这些重要的参数,证书怎么获取这里就不细说了

{
    "run_type": "server",                          // 配置为服务器
    "local_addr": "0.0.0.0",
    "local_port": 23333,                           // trojan监听端口
    "remote_addr": "127.0.0.1",                    // 伪装服务器地址
    "remote_port": 80,                             // 伪装服务器端口
    "password": [
        "your_password"                            // trojan服务器密码,可以设置多个
    ],
    "log_level": 1,
    "ssl": {
        "cert": "path/to/cert.crt",                // 服务器证书地址
        "key": "path/to/cert.key",                 // 服务器证书密钥地址
        "key_password": ""                         // 证书有密码才填
    }
}

保存后,运行一下trojan看看能否运行

# trojan &
Welcome to trojan 1.16.0
[2023-12-29 03:37:07] [WARN] trojan service (server) started at 0.0.0.0:23333

没有报错说明运行正常,可以用psnetstat指令验证

# netstat -l
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       
tcp        0      0 0.0.0.0:23333           0.0.0.0:*               LISTEN
...

# ps -ef | grep trojan
 1749 root      0:00 trojan

这时你可以用一个trojan客户端或者任意支持trojan的客户端来连接验证,当然,前提是该端口要在防火墙里放行,可以去VPS控制台里设置

后台运行及开机自启动

安装rc-service

# apk add openrc

创建并编辑trojan服务配置文件

vim /etc/init.d/trojan

输入以下内容

#!/sbin/openrc-run
 
name="trojan"
command="trojan"
command_background="yes"
pidfile="/run/${RC_SVCNAME}.pid"

depend() {
	after sshd
}

保存退出后,使用rc-service启动trojan

# rc-service trojan start
 * Caching service dependencies ...         [ ok ]
 * Starting trojan ...                      [ ok ]

设置开机启动

# rc-update add trojan
 * service trojan added to runlevel default

可执行文件下载

https://drive.google.com/file/d/1xw-uv-411N73KciDr4CW4nbmjmQmJ2ZZ/view?usp=sharing

发表回复

电子邮件地址不会被公开。必填项已用 * 标注

Index