Trojan代理服务搭建和访问

在远程办公的时候,通常需要搭建一个代理服务,让外网的人员可以访问内网的服务和网站。 这里介绍的是github.com/trojan-gfw/...项目

使用 Docker 运行 Trojan

这份文档介绍如何通过Docker搭建一个Trojan

准备工作

安装 Docker及Docker-Compose

使用镜像名称trojangfw/trojan,保存配置start.yml文件如下:

bash 复制代码
version: '3.8'  
services:  
  trojan:  
    image: trojangfw/trojan  
    container_name: trojan_vpn  
    volumes:  
      - /home/thought_blog/etc/config:/config  
      - /home/thought_blog/etc/certs:/certs # 假设你的证书和私钥在这个目录下  
    ports:  
      - "26227:443" # 将容器的443端口映射到宿主机的26227端口  
    restart: unless-stopped

创建 Trojan 配置文件

/home/thought_blog/etc/config 目录下(/home/thought_blog/etc为你自己随时指定的文件夹),创建名为 config.json 的配置文件,内容如下:

json 复制代码
{  
    "run_type": "server",  
    "local_addr": "0.0.0.0",  
    "local_port": 443,  
    "remote_addr": "域名",  
    "remote_port": 80,  
    "password": [  
        "你自己设置密码"  
    ],  
    "log_level": 1,  
    "ssl": {  
        "cert": "/certs/域名证书.crt",  
        "key": "/certs/域名证书key.key",  
        "sni": "域名"  
    },  
    "tcp": {  
        "prefer_ipv4": true,  
        "no_delay": true,  
        "keep_alive": true,  
        "reuse_port": true,  
        "fast_open": false,  
        "fast_open_qlen": 20  
    }  
}

设置https证书

/home/thought_blog/etc/certs路径下保存crt后缀的证书文件和对应.key文件 证书最简单的方式,就是在域名服务商处购买一个域名,然后可以申请免费的SSL证书,一般几块钱到十几块钱。

如果你实在不想买,可以自己生成一个证书。 以下是一个基本的步骤,用于生成自签名的SSL证书和私钥。

1. 安装OpenSSL

如果你的系统上还没有安装OpenSSL,需要先安装它。在大多数Linux发行版、MacOS和Windows的Git Bash中,OpenSSL应该已经预安装了。

2. 生成私钥(KEY文件)

打开终端或命令提示符,运行以下命令来生成一个新的2048位私钥:

csharp 复制代码
openssl genrsa -out mykey.key 2048

这条命令会生成一个名为mykey.key的私钥文件。

3. 生成证书签名请求(CSR文件)

使用私钥生成一个证书签名请求(CSR)。CSR包含证书的信息,如组织名、常用名(域名),等等。

vbnet 复制代码
openssl req -new -key mykey.key -out mycsr.csr

执行此命令时,它会提示你输入证书的详细信息,如国家、省份、组织名等。最重要的是"Common Name",它应该是证书将要用于验证的域名或IP地址。

5.生成自签名证书(CRT文件)

最后,使用CSR和私钥生成自签名的证书。这个证书将会由你自己签发,而不是由证书颁发机构(CA)签发。

csharp 复制代码
openssl x509 -req -days 365 -in mycsr.csr -signkey mykey.key -out mycert.crt

这条命令会生成一个有效期为365天的自签名证书mycert.crt

运行 Trojan

  1. 运行容器:

    docker-compose -f trojan.yml up -d

参数说明:

  • -d: 后台运行
  • -f: 使用哪个文件运行
  1. 查看容器运行状态:

    docker ps

输出示例:

bash 复制代码
CONTAINER ID   IMAGE              COMMAND                CREATED       STATUS       PORTS                                       NAMES
71cfac119648   trojangfw/trojan   "trojan config.json"   5 weeks ago   Up 5 weeks   0.0.0.0:26227->443/tcp, :::26227->443/tcp   trojan_vpn

停止容器

arduino 复制代码
docker stop 71cfac119648

连接代理服务

IOS :Shadowrocket 安卓:v2rayNG windows:v2rayN macOs:Surge4 Linux Trojan-QT

本文只是从技术角度说明代理服务如何搭建和技术原理,提供远程办公的工作环境,所以就不提供软件下载了。

如果觉得有用可以来我的网站坐坐(zhiwei.plus/archives/tr...

相关推荐
嚣张农民7 小时前
推荐3个实用的760°全景框架
前端·vue.js·程序员
梓羽玩Python7 小时前
推荐一款用了5年的全能下载神器:Motrix!全平台支持,不限速下载网盘文件就靠它!
程序员·开源·github
梓羽玩Python8 小时前
这款一站式AI体验平台值得收藏起来!GPT-4o、GPT-4o Mini、Claude 3.5 Sonnet免费使用!
人工智能·程序员·设计
前端宝哥1 天前
10 个超赞的开发者工具,助你轻松提升效率
前端·程序员
XinZong1 天前
【VSCode插件推荐】想准时下班,你需要codemoss的帮助,分享AI写代码的愉快体验,附详细安装教程
前端·程序员
Goboy1 天前
0帧起步:3分钟打造个人博客,让技术成长与职业发展齐头并进
程序员·开源·操作系统
JaxNext1 天前
不选总统选配色,这一票投给 CSS logo
前端·css·程序员
程序员鱼皮2 天前
刚毕业,去做边缘业务,还有救吗?
计算机·程序员·互联网·求职·简历
WujieLi3 天前
独立开发沉思录周刊:vol18.AI 正在成为无处不在的基础设施
程序员·设计·创业
_祝你今天愉快3 天前
重学Android:从位运算到二进制表示(零)
算法·程序员