境外云服务器部署trojan-go

作为程序员,往往需要访问外放查看下载资料,所以该贴将教你如何搭建独属自己的vpn访问外网。

PS:该贴教程仅供用来个人学习。

若是纯小白,或者觉得麻烦,可以直接选择第三方工具,个人推荐灯塔

工具准备:

云服务器及域名购买:阿里云腾讯云华为云

翻墙工具v2rayN-Core下载链接:https://pan.quark.cn/s/c67355871303

docker下载链接:https://docs.docker.com/engine/install/ubuntu/

trojan-go文档链接:https://github.com/p4gefau1t/trojan-go

安卓客户端下载:https://github.com/trojan-gfw/igniter/releases

首先说一下云服务器购买,三家大厂随便选择,但必须是外网服务器,服务器配置不要求太高,系统最好是Linux版本。

域名也可以在三家大厂购买,域名随意选择。

购买域名后,需要为域名部署ssl证书,免费的证书即可,具体如何操作,三家大厂都有文档,这里不做过多解释。

证书部署好后,下载证书密钥,后面会用到。

为了部署方便,强烈建议购买云服务器后安装Docker,该贴也是以安装了Docker为前提,若是不会安装和使用,可以本网搜索Docker学习安装和使用。

开始部署:

1 任意位置创建docker目录,在docker目录下,创建如下目录文件结构

nginx
  conf.d
    - index.conf
  html
    - index.html
trojan-go
  - config.json
  - server.crt
  - server.key
- docker-compose.yml

2 docker-compose.yml文件内容如下

services:
    trojan:
        image: p4gefau1t/trojan-go
        container_name: trojan-go
        restart: always
        depends_on:
            - nginx
        volumes:
            - ./trojan-go:/etc/trojan-go
        network_mode: "host"

    nginx:
        image: nginx:1.24
        container_name: nginx
        restart: always
        volumes:
            - ./nginx/conf.d:/etc/nginx/conf.d
            - ./nginx/html:/usr/share/nginx/html
        ports:
            - "80:80"
            - "443:443"
            - "1234:1234"
        network_mode: "host"

3 config.json文件内容如下

{
    "run_type": "server",
    "local_addr": "0.0.0.0",
    "local_port": 443,
    "remote_addr": "127.0.0.1",
    "remote_port": 80,
    "password": [
        "密码"
    ],
    "ssl": {
        "cert": "./server.crt",  #ssl证书文件,强烈建议使用绝对路径
        "key": "./server.key",   #ssl证书密钥,还要注意文件权限
        "fallback_port": 1234
    }
}

4 index.conf文件内容如下

server { 
	listen 80; 
	server_name 你购买的域名 www.你购买的域名;
	#return 301 https://$host$request_uri;
	location / {
		root /usr/share/nginx/html;
		index index.html index.htm;
	}

}
server {
        listen 1234;
	server_name 你购买的域名 www.你购买的域名;
	return 400;
}

5 inde.html文件内容如下(该文件内容随意,你随便粘贴一个网站的页面复制过来也是可以的,这里只是为了用作测试。)

hello world!!!

6 在docker目录下,执行如下指令

docker compose up

#后台运行
docker compose up -d

如果没有意外,你会看到如下代码

若是存在问题,多半和系统权限有关,又或者与接口是否开启有关,请查看云服务器的80,443,1234接口是否开启或者被占用。

接口查看指令

netstat -nap

7 打开v2rayN-Core工具,点击左上角服务器,选择添加trojan服务器

配置如下

点击确认,操作如下。

选中服务器,右键选择测试服务器真连接延迟,若之前的操作没有问题,测试结果就会显示延迟值,这也代表你可以访问外网了。

,