title
大概一年前vmess发挥稳定的时候,我总结过一篇完整版的nginx web端搭配vmess的windows服务端配置教程分享


现如今tls被突破,jarm指纹问题导致今后的拉锯战变得更加波动,所以完整版伪装已失去意义,今天更新一篇只需要一个nginx反代国外大流量网站,搭配xray core,选择vless协议并采用最新xtls-rprx-vision流控,做一个简单的,可以轻松上手,快速更新的配置。文章最后放了个自解压包,包含所有组件,解压到c盘自己改改配置直接就能用。
由于去掉了php解析和mariadb等数据库安装配置流程,所以整体就简单很多了,安装配置nginx,配好你的网站证书,下载配置v2ray,就差不多搞定了

一、组件下载

1.Nginx

访问 http://nginx.org/en/download.html 获取windows版本的nginx
这里直接下载 http://nginx.org/download/nginx-1.23.3.zip zip包
解压到C:/Software/ 目录下,即C:/Software/nginx-1.23.3

2.Xray

访问 https://github.com/XTLS/Xray-core/releases 获取需要版本的Xray
这里直接下载 最新的Xray-core v1.6.6-2,Xray-windows-64.zip
因为需要用到最新的xtls-rprx-vision流控,用以搭配vless-TCP-tls协议组合。
解压到C:/Software/ 目录下,即C:/Software/Xray-windows-64
如果你想要cmd命令行窗口后台运行,可以下载
https://redmine.lighttpd.net/attachments/660/RunHiddenConsole.zip
解压到C:/Software/ 目录下即可,最后目录参考如下:
folder list

二、配置参数

我们依次配置第一步中各个组件

1.配置环境变量

编辑一个 Set_path.txt文档,填入如下内容:

setx /m Path "%PATH%;C:\Software\nginx-1.23.3;C:\Software\Xray-windows-64;C:\Software\;"

分别设置以上各个组件的文件路径,便于指令调用
确认路径无误后,修改后缀为.bat 批处理文件,执行,查看我的电脑 右键 属性 >>>系统高级设置>>>高级菜单>>>环境变量选项>>>系统变量>>>选择Path (路径)检查是否成功;
你也可以windows搜索Path或者 系统环境变量 ,来快速访问。
Environment PATH
如果你以前配置过当前用户的Path变量的话,上述设置中的%PATH%组成将会是系统Path+用户Path组合,如果不需要用户Path,则建议使用cmd指令set >> C:\Environment.txt导出所有Path到指定位置,将其中需要的系统Path部分取出替换上述bat脚本中的%PATH%,最后请注意windows系统一般只支持最大1023字节的Path总长度,如超过长度,自行删减。
需要的组件全部下载完毕,设置好路径之后.cmd输入:

nginx -v
xray version

查看是否设置成功
check version

然后选择一个你喜欢的做站路径,这里演示为

C:\Software\nginx-1.23.3\html

接下来就可以开始配置各个组件的详细参数了。

2.配置域名证书

acme申请或者自己手动申请都行,这里放置在C:\Software\cert
一个.crt证书文件,一个.key私钥
顺手做个解析,将域名解析到vps ip上。

3.配置nginx

找到nginx目录下的 nginx.conf
写入以下配置:

events {
    worker_connections 768;
}

http {

  server {
    listen 80 default_server;
    listen [::]:80 default_server;

  location / {
    proxy_pass https://www.bing.com;
    proxy_ssl_server_name on;
    proxy_redirect off;
    sub_filter_once off;
    sub_filter "www.bing.com" $server_name;
    proxy_set_header Host "www.bing.com";
    proxy_set_header Referer $http_referer;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header User-Agent $http_user_agent;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto https;
    proxy_set_header Accept-Encoding "";
    proxy_set_header Accept-Language "zh-CN";
    }
  }
}

用来反代bing.com,配置好以后直接访问你的域名就是bing.com的内容,可以正常搜索。

4.配置Xray

我们采用vless前置监听443端口,将vless协议的信息进行处理实现扶墙,不符合标准的信息回落到12345端口让trojan来分析,trojan接手本身的加密信息,将不符合标准的信息再次回落到80端口,让刚才监听80端口的nginx来处理这些https信息:

具体配置内详:

{
    "routing": {
        "domainStrategy": "IPIfNonMatch",
        "rules": [
            {
                "type": "field",
                "ip": [
                    "geoip:cn",
                    "geoip:private"
                ],
                "outboundTag": "block"
           }
        ]
    },
    "inbounds": [
        {
            "port": 443,
            "protocol": "vless",
            "settings": {
                "clients": [
                    {
                        "id": "你的UUID",
                        "flow": "xtls-rprx-vision"
                    }
                ],
                "decryption": "none",
                "fallbacks": [
                    {
                        "dest": 12345,
                        "xver": 1
                    } 
                ]
            },
            "streamSettings": {
                "network": "tcp",
                "security": "tls",
                "tlsSettings": {
                    "rejectUnknownSni": true,
                    "alpn": [
                        "http/1.1"
                    ],
                    "certificates": [
                        {
                            "certificateFile": "C:\\Software\\Xray-windows-64\\你的证书.crt",
                            "keyFile": "C:\\Software\\Xray-windows-64\\你的密钥.key"
                        }
                    ]
                }
            },
            "sniffing": {
                "enabled": true,
                "destOverride": [
                    "http",
                    "tls"
                ]
            }
        },
        {
            "port": 12345,
            "listen": "127.0.0.1",
            "protocol": "trojan",
            "settings": {
                "clients": [
                    {
                        "password": "你的trojan密码"
                    }
                ],
                "fallbacks": [
                    {
                        "dest": 80
                    }
                ]
            },
            "streamSettings": {
                "network": "tcp",
                "security": "none",
                "tcpSettings": {
                    "acceptProxyProtocol": true
                }
            }
        }
    ],
    "outbounds": [
        {
            "protocol": "freedom",
            "tag": "direct"
        },
        {
            "protocol": "blackhole",
            "tag": "block"
        }
    ]
}

5.配置windows防火墙

我们需要对windows防火墙开放刚才配置的80和443端口
将以下脚本存入txt文档并修改后缀为.bat,双击运行即可:

rem Open TCP Port 80&443 inbound
netsh advfirewall firewall add rule name="Http TCP Port 80" dir=in action=allow protocol=TCP localport=80
netsh advfirewall firewall add rule name="Https TCP Port 443" dir=in action=allow protocol=TCP localport=443

如果需要修改别的端口,自己另起一行加上就可以的
删除对应规则可以自己手动去防火墙规则删除,也可以如下指令删除:

netsh advfirewall firewall delete rule name="Https TCP Port 80" dir=in

6.配置启停脚本

我们配置两个bat脚本用来管理xray的启停,方便操作,以及后面的开机自启管理。
将以下指令存入txt文档并修改后缀为.bat即可,双击就是运行xray了:

@echo off
echo Stopping nginx...
taskkill /F /IM nginx.exe > nul
echo Stopping xray...
taskkill /F /IM wxray.exe > nul

set nginx_home=C:\Software\nginx-1.23.3\
set xray_home=C:\Software\Xray-windows-64\

:start-nginx
echo Starting NGINX...
RunHiddenConsole %nginx_home%/nginx.exe -p %nginx_home%
:start-xray
Start %xray_home%\wxray.exe run

而停止xray和nginx运行的脚本参考如下:

@echo off
echo Stopping nginx...
taskkill /F /IM nginx.exe > nul
echo Stopping xray...
taskkill /F /IM wxray.exe > nul
exit

启动后,客户端配置加密encryption none , flow流控xtls-rprx-vision,传输协议network选择tcp,伪装类型type none,伪装域名和路径不要填,传输层安全 tls选择tls,sni选择你的域名,utls任选一个,跳过证书选择false,不跳过。
client settings
基本上这样就够用了,如果你需要开机自启动则继续看

7.配置开机自启计划任务

就是简单地将start脚本加入任务计划程序就可以了,这里放个示例参考,保存为xml文件,任务计划导入即可。

我的任务计划配置参考

<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.4" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
  <RegistrationInfo>
    <Date>2022-12-22T17:20:39.3416042</Date>
    <Author>WINDOWS\Administrator</Author>
  </RegistrationInfo>
  <Triggers>
    <BootTrigger>
      <StartBoundary>2022-12-22T09:19:31.8870853Z</StartBoundary>
      <Enabled>true</Enabled>
      <Delay>PT1M</Delay>
    </BootTrigger>
  </Triggers>
  <Principals>
    <Principal id="Author">
      <UserId>S-1-5-18</UserId>
      <RunLevel>HighestAvailable</RunLevel>
    </Principal>
  </Principals>
  <Settings>
    <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
    <DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
    <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
    <AllowHardTerminate>false</AllowHardTerminate>
    <StartWhenAvailable>true</StartWhenAvailable>
    <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
    <IdleSettings>
      <StopOnIdleEnd>true</StopOnIdleEnd>
      <RestartOnIdle>false</RestartOnIdle>
    </IdleSettings>
    <AllowStartOnDemand>true</AllowStartOnDemand>
    <Enabled>true</Enabled>
    <Hidden>false</Hidden>
    <RunOnlyIfIdle>false</RunOnlyIfIdle>
    <DisallowStartOnRemoteAppSession>false</DisallowStartOnRemoteAppSession>
    <UseUnifiedSchedulingEngine>false</UseUnifiedSchedulingEngine>
    <WakeToRun>false</WakeToRun>
    <ExecutionTimeLimit>PT0S</ExecutionTimeLimit>
    <Priority>7</Priority>
    <RestartOnFailure>
      <Interval>PT1M</Interval>
      <Count>30</Count>
    </RestartOnFailure>
  </Settings>
  <Actions Context="Author">
    <Exec>
      <Command>C:\Software\start xray.bat</Command>
      <WorkingDirectory>C:\Software\</WorkingDirectory>
    </Exec>
  </Actions>
</Task>

最后是工具包,可以参看里面的说明使用:
https://drive.google.com/file/d/1ETwhF0ypDyiAcW-UaScr0JO1KkakLSqL/view?usp=sharing

Last modification:December 27, 2022
If you think my article is useful to you, please feel free to appreciate