登录后台

页面导航

本文编写于 133 天前,最后修改于 72 天前,其中某些信息可能已经过时。

基于XRAY搭建GRPC简单教程

Xray官方一键安装脚本

bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install

装好了,去打开这个路径/usr/local/etc/xray/*.json
打开config.json,以下为trojan grpc示例:
要使用vless可以修改"protocol":"vless"参数

XRAY参数

{
    "log":{
        "loglevel":"warning"
    },
    "inbounds":[
        {
            "listen":"/dev/shm/Xray-Trojan-gRPC.socket,0666",
            "protocol":"trojan",
            "settings":{
                "clients":[
                    {
                        "password":"your password"
                    }
                ]
            },
            "streamSettings":{
                "network":"grpc",
                "grpcSettings":{
                    "serviceName":"wdnmd"
                }
            }
        }
    ],
    "outbounds":[
        {
            "tag":"direct",
            "protocol":"freedom",
            "settings":{

            }
        },
        {
            "tag":"blocked",
            "protocol":"blackhole",
            "settings":{

            }
        }
    ],
    "routing":{
        "domainStrategy":"AsIs",
        "rules":[
            {
                "type":"field",
                "ip":[
                    "geoip:private"
                ],
                "outboundTag":"blocked"
            }
        ]
    }
}

安装NGINX

apt install nginx -y

装完后去/etc/nginx/sites-available,覆盖如下配置

NGINX配置文件(default)

server {
    listen 80 ;
    listen 443 ssl http2 so_keepalive=on;

    root /var/www/html;
    charset utf-8;

    if ($server_port !~ 443) {
        rewrite ^(/.*)$ https://$host$1 permanent;
    }

    index index.html index.htm index.nginx-debian.html;

    server_name _;

    location / {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Range $http_range;
        proxy_set_header If-Range $http_if_range;
        proxy_redirect off;
        proxy_pass http://127.0.0.1:52441;\\随便代理个你本地的伪装程序,什么网盘端口都行
        # the max size of file to upload
        client_max_body_size 20000m;
    }

    location /wdnmd {
        if ($content_type !~ "application/grpc") {
            return 404;
        }
        client_max_body_size 0;
        client_body_buffer_size 512k;
        grpc_set_header X-Real-IP $remote_addr;
        client_body_timeout 52w;
        grpc_read_timeout 52w;
        grpc_pass unix:/dev/shm/Xray-Trojan-gRPC.socket;
    }

    ssl_certificate pem证书路径;
    ssl_certificate_key key文件证书路径;
    ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    add_header Strict-Transport-Security "max-age=31536000";
    error_page 497 https://$host$request_uri;

    client_header_timeout 52w;
    keepalive_timeout 52w;
}

结尾工作

重启xray服务

systemctl restart xray

重启nginx服务

systemctl restart nginx

查看xray运行状态

systemctl status xray
看到有个绿的running就行了