站长自用V2Ray+Nginx配置Websocks+TLS+Host+Path伪装翻墙完整过程

随着GFW的逐渐强大,SS或SSR手段翻墙越来越容易被抓到了。怎么伪装成正常流量,在GFW的淫威下偷偷腥,变成了以肥宅快乐水为生的宅男们的共同愿望。前辈们不断的研究与改进,使得我等也能跟着沾光了。
而目前根据前辈们的研究,V2Ray+Nginx设置为Websocks+TLS+Host+Path并伪装成普通网站的方式,是最安全的实现方式。站长偶的余生半日闲,又作为闲不下来的技术宅肯定要努力尝试。幸得前辈们的真传配置完成,不敢私藏,赶紧拿出来分享。
废话不多说,开始了

第一步:安装Nginx
Nginx的安装,这里采用了编译安装的方式(听闻略微提升性能,网站上压测确实有)。
编译安装必然需要安装相关编译环境,根据您的服务端选择以下命令执行
CentOS: yum install gcc gcc-c++ make perl -y
Debian: apt-get install gcc g++ make perl
之后便可以下载相关源码,编译安装Nginx了。相关包地址如下:
Nginx 1.18: wget http://nginx.org/download/nginx-1.18.0.tar.gz
Openssl1.1.1g: wget https://www.openssl.org/source/openssl-1.1.1g.tar.gz
PCRE: wget -o pcre-8.44.tar.gz https://sourceforge.net/projects/pcre/files/pcre/8.44/pcre-8.44.tar.gz/download
Zlib: wget https://www.zlib.net/zlib-1.2.11.tar.gz
以上四个包便是Nginx及相关的依赖了,下载之后使用tar zxvf *.tar.gz 解压所有包。
执行
useradd -M -s /sbin/nologin www
添加一个www的用户,用来后面运行Nginx,为了安全着想嘛。
而后执行 cd nginx-1.18.0/到nginx的源码目录,使用以下指令进行初始化配置:
./configure –user=www –group=www –prefix=/usr/local/nginx –with-http_stub_status_module –with-http_ssl_module –with-http_v2_module –with-http_gzip_static_module –with-http_sub_module –with-stream –with-stream_ssl_module –with-openssl=../openssl-1.1.1g/ –with-pcre=../pcre-8.44/ –with-zlib=../zlib-1.2.11/
没有提示错误的话,完成后继续输入
make && make install
安装Nginx,完成后就检查下ls /usr/local/nginx确认下是否有文件了。有的话就完成了…

第二步:安装V2Ray
得益于V2Ray大神们的努力,安装V2Ray非常简单,一条指令就完了。这里给众多大佬们点赞…

第三步:配置Nginx
准备好您的域名以及证书(良心云与套路云都可以白嫖,要什么自行车),将证书上传到服务器之后,编辑/usr/local/nginx/conf/nginx.conf文件,配置服务器。我的配置如下,亲们可以参考以下:

user  www www;
worker_processes auto;
worker_cpu_affinity auto;

error_log  /home/wwwlogs/nginx_error.log  crit;

pid        /usr/local/nginx/logs/nginx.pid;


events
    {
        use epoll;
        worker_connections 51200;
        multi_accept off;
        accept_mutex off;
    }


http {
    include       mime.types;
    default_type  application/octet-stream;

    server_names_hash_bucket_size 128;
	client_header_buffer_size 32k;
	large_client_header_buffers 4 32k;
	client_max_body_size 50m;

	sendfile on;
	sendfile_max_chunk 512k;
	tcp_nopush on;

	keepalive_timeout 60;

	tcp_nodelay on;

	fastcgi_connect_timeout 300;
	fastcgi_send_timeout 300;
	fastcgi_read_timeout 300;
	fastcgi_buffer_size 64k;
	fastcgi_buffers 4 64k;
	fastcgi_busy_buffers_size 128k;
	fastcgi_temp_file_write_size 256k;

	gzip on;
	gzip_min_length  1k;
	gzip_buffers     4 16k;
	gzip_http_version 1.1;
	gzip_comp_level 2;
	gzip_types     text/plain application/javascript application/x-javascript text/javascript text/css application/xml application/xml+rss;
	gzip_vary on;
	gzip_proxied   expired no-cache no-store private auth;
	gzip_disable   "MSIE [1-6]\.";

	#limit_conn_zone $binary_remote_addr zone=perip:10m;
	##If enable limit_conn_zone,add "limit_conn perip 10;" to server section.

	server_tokens off;
	access_log off;

    server {
        listen       80;
        server_name  localhost;

        location / {
            root   html;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

	server {
        listen 80;
        server_name abc.bofeng.org;
		return 301 https://abc.bofeng.org$request_uri;
    }

	server {
        listen 443 ssl http2;
        server_name abc.bofeng.org;
	root /home/abc; # 此处为访问域名的根目录

        ssl_certificate /home/CRTs/abc.crt; #证书地址
        ssl_certificate_key /home/CRTs/abc.key; #私Key地址
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
        ssl_prefer_server_ciphers on;
        ssl_ciphers "TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5";
        ssl_session_cache builtin:1000 shared:SSL:10m;
        ssl_dhparam /home/abc/dhparam.pem;  #此处可以不要,为了防止有人访问出现证书错误添加的。作为翻墙加不加毫无影响

        access_log  /home/wwwlogs/abc.log;
		location / {
            root   html;
            index  index.html index.htm;
        }
		
		location /abcdef {
			proxy_connect_timeout 300s;
			proxy_send_timeout   900;
			proxy_read_timeout   900;
			proxy_buffer_size    32k;
			proxy_buffers     4 32k;
			proxy_busy_buffers_size 64k;
			
			proxy_redirect off;
			proxy_pass http://127.0.0.1:12345;  #注意后面端口号与您的V2Ray的服务端口号绑定
			proxy_http_version 1.1;
			proxy_set_header Upgrade $http_upgrade;
			proxy_set_header Connection "upgrade";
			proxy_set_header Host $host;
			proxy_set_header X-Real-IP $remote_addr;
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		}
    }
}

文档若不便阅读复制,可点击此处下载该文档。
文件中有什么不明白的可以留言询问。关键的地方已加注释解释!这里Nginx便配置完成,可以使用
/usr/local/nginx/sbin/nginx -t
测试配置文件是否正确。
若没什么问题,那么便可以启动了,使用
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
指令启动

假如需要伪装网站,那么您可以将相关HTML文件放入Nginx配置文件中注释的根目录便完成了网站的伪装。

如此便可以开始V2Ray的配置了,其实V2Ray的配置也很简单。文件在
/etc/v2ray/config.json
使用vi或你喜欢的工具编辑它
vi /etc/v2ray/config.conf

内容如下:

{
  "log": {
    "loglevel": "warning",
    "access": "/home/wwwlogs/v2ray.access.log",
    "error": "/home/wwwlogs/v2ray.error.log"
  },
  "inbounds": [{
    "port": 12345, #Nginx配置中的V2Ray端口号
    "protocol": "vmess",
    "settings": {
      "clients": [
        {
          "id": "UUID",
          "level": 1,
          "alterId": 0
        }
      ]
    },
	"streamSettings": {
      "network": "ws",
      "wsSettings": {
        "path": "/abcdef"
      }
    },
	"listen": "127.0.0.1"
  }],
  "outbounds": [{
    "protocol": "freedom",
    "settings": {}
  },{
    "protocol": "blackhole",
    "settings": {},
    "tag": "blocked"
  }],
  "routing": {
    "rules": [
      {
        "type": "field",
        "ip": ["geoip:private"],
        "outboundTag": "blocked"
      }
    ]
  }
}

若代码不方便阅读或复制,您可以单击此处下载该文件。
文件中有什么不明白的可以留言询问。关键的地方已加注释解释!这里V2Ray便配置完成,可以使用
systemctl start v2ray
启动服务,如此服务端便配置完成了。

后记(客户端):
Windows比较推荐使用v2rayN,安卓则比较推荐v2rayNG。下载地址如下
v2rayN: https://www.bofeng.org/files/v2ray/v2rayN-Core.zip
v2rayNG: https://www.bofeng.org/files/v2ray/v2rayNG.apk

以上便完成了V2Ray的完整安装与伪装了,也是目前翻墙领域内最安全的翻墙方式。祝您的服务器能撑更久。

发表评论

电子邮件地址不会被公开。 必填项已用*标注