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...

相关推荐
程序员鱼皮1 小时前
用 AI 制作超长视频,保姆级教程!
google·程序员·aigc
京东云开发者3 小时前
京点点AI试衣×主图A/B实验,时尚商家订单转化率提升80%+实战路径
程序员
DyLatte3 小时前
30+程序员如何不被小事击垮
程序员
SimonKing3 小时前
Java处理PDF就靠它!Apache PDFBox:开源免费的PDF全能王
java·后端·程序员
一块plus4 小时前
2025 年值得一玩的最佳 Web3 游戏
算法·设计模式·程序员
redreamSo5 小时前
AI Daily | AI日报:LinkedIn:90% 应用迁移,弃 Kafka 用 Northguard; 谷歌发布免费AI教育功能,重塑课堂!; 小扎143亿请新贵,Meta员工冰火两重天
程序员·aigc·资讯
AI大模型6 小时前
LangGraph官方文档笔记(4)——提示聊天机器人
程序员·langchain·llm
newcli6 小时前
Claude Code教程【超实用篇】
程序员
袁煦丞7 小时前
AI直接出答案!Perplexica开源搜索引擎:cpolar内网穿透实验室第534个成功挑战
前端·程序员·远程工作
运维咖啡吧7 小时前
周一才上线的网站,单单今天已经超过1000访问了
前端·程序员·ai编程