https://www.ecsoe.com/archives/38.html#一键脚本
一键脚本
嫌麻烦可以直接用一键脚本 脚本地址:https://github.com/wulabing/V2Ray_ws-tls_bash_onekey
使用脚本前确保系统的纯净系统,未安装lnmp等程序
安装 Curl:
1 |
yum update -y <span class="token operator">&&</span> yum <span class="token function">install</span> <span class="token function">curl</span> -y |
使用一键脚本:
以下是手工
首先,你需要准备一个域名添加A记录解析到你的服务器,可以去freenom免费注册,或者直接购买一个便宜的域名。
安装V2Ray
这里使用的是centos7系统
首先更新下系统:
1 |
yum -y update |
安装V2Ray:
1 |
<span class="token function">bash</span> <span class="token operator"><</span><span class="token punctuation">(</span>curl -L -s https://install.direct/go.sh<span class="token punctuation">)</span> |
设置开启启动:
1 |
systemctl <span class="token function">enable</span> v2ray |
安装SSL证书
安装EPEL:
1 |
yum -y <span class="token function">install</span> epel-release |
安装certbot用于签发SSL证书:
1 |
yum -y <span class="token function">install</span> certbot |
申请SSL证书:
1 |
certbot certonly --standalone -d example.com |
这里的example.com
替换成你的域名
如果申请成功,证书和私钥路径如下:
1 2 |
/etc/letsencrypt/live/example.com/fullchain.pem /etc/letsencrypt/live/example.com/privkey.pem |
配置Nginx
添加一个Nginx安装源:
1 |
<span class="token function">vi</span> /etc/yum.repos.d/nginx.repo |
按 i 开启编辑模式,写入:
1 2 3 4 5 |
<span class="token punctuation">[</span>nginx<span class="token punctuation">]</span> name<span class="token operator">=</span>nginx repo baseurl<span class="token operator">=</span>http://nginx.org/packages/centos/7/<span class="token variable">$basearch</span>/ gpgcheck<span class="token operator">=</span>0 enabled<span class="token operator">=</span>1 |
写入完按ESC,然后输入:wq,按回车保存退出
安装Nginx:
1 |
yum -y <span class="token function">install</span> nginx |
设置开机启动:
1 |
systemctl <span class="token function">enable</span> nginx |
新建一个Nginx站点配置文件:
1 |
<span class="token function">vi</span> /etc/nginx/conf.d/v2ray.conf |
写入:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
server <span class="token punctuation">{</span> listen 443 ssl<span class="token punctuation">;</span> server_name example.com<span class="token punctuation">;</span> ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem<span class="token punctuation">;</span> ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem<span class="token punctuation">;</span> ssl_protocols TLSv1 TLSv1.1 TLSv1.2<span class="token punctuation">;</span> ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:<span class="token operator">!</span>aNULL:<span class="token operator">!</span>MD5:<span class="token operator">!</span>RC4:<span class="token operator">!</span>DHE<span class="token punctuation">;</span> ssl_prefer_server_ciphers on<span class="token punctuation">;</span> ssl_session_cache shared:SSL:10m<span class="token punctuation">;</span> ssl_session_timeout 10m<span class="token punctuation">;</span> error_page 497 https://<span class="token variable">$host</span><span class="token variable">$request_uri</span><span class="token punctuation">;</span> location /ray <span class="token punctuation">{</span> proxy_pass http://127.0.0.1:10000<span class="token punctuation">;</span> proxy_redirect off<span class="token punctuation">;</span> proxy_http_version 1.1<span class="token punctuation">;</span> proxy_set_header Upgrade <span class="token variable">$http_upgrade</span><span class="token punctuation">;</span> proxy_set_header Connection <span class="token string">"upgrade"</span><span class="token punctuation">;</span> proxy_set_header Host <span class="token variable">$http_host</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span> |
其中443
是网站端口同时也是V2Ray传输端口,127.0.0.1:10000其中的10000
是监听端口,可以自行更改,然后防火墙放行所需端口,或者直接关闭防火墙
配置V2Ray服务端
备份一下v2ray的默认配置文件:
1 |
<span class="token function">cp</span> /etc/v2ray/config.json /etc/v2ray/config.jsonbak |
清空配置文件的内容:
1 |
<span class="token keyword">echo</span> <span class="token string">""</span> <span class="token operator">></span> /etc/v2ray/config.json |
编辑配置文件:
1 |
<span class="token function">vi</span> /etc/v2ray/config.json |
写入:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
<span class="token punctuation">{</span> <span class="token string">"inbounds"</span><span class="token keyword">:</span> <span class="token punctuation">[</span> <span class="token punctuation">{</span> <span class="token string">"port"</span><span class="token keyword">:</span> 10000, <span class="token string">"listen"</span><span class="token keyword">:</span><span class="token string">"127.0.0.1"</span>, <span class="token string">"protocol"</span><span class="token keyword">:</span> <span class="token string">"vmess"</span>, <span class="token string">"settings"</span><span class="token keyword">:</span> <span class="token punctuation">{</span> <span class="token string">"clients"</span><span class="token keyword">:</span> <span class="token punctuation">[</span> <span class="token punctuation">{</span> <span class="token string">"id"</span><span class="token keyword">:</span> <span class="token string">"你的UUID"</span>, <span class="token string">"alterId"</span><span class="token keyword">:</span> 64 <span class="token punctuation">}</span> <span class="token punctuation">]</span> <span class="token punctuation">}</span>, <span class="token string">"streamSettings"</span><span class="token keyword">:</span> <span class="token punctuation">{</span> <span class="token string">"network"</span><span class="token keyword">:</span> <span class="token string">"ws"</span>, <span class="token string">"wsSettings"</span><span class="token keyword">:</span> <span class="token punctuation">{</span> <span class="token string">"path"</span><span class="token keyword">:</span> <span class="token string">"/ray"</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span> <span class="token punctuation">]</span>, <span class="token string">"outbounds"</span><span class="token keyword">:</span> <span class="token punctuation">[</span> <span class="token punctuation">{</span> <span class="token string">"protocol"</span><span class="token keyword">:</span> <span class="token string">"freedom"</span>, <span class="token string">"settings"</span><span class="token keyword">:</span> <span class="token punctuation">{</span><span class="token punctuation">}</span> <span class="token punctuation">}</span> <span class="token punctuation">]</span> <span class="token punctuation">}</span> |
UUID可以用这个网站生成:https://www.uuidgenerator.net
全部完成之后,关闭系统防火墙或者自行更改配置:
1 |
systemctl stop firewalld.service |
同时把SELinux也关了:
1 2 3 |
<span class="token function">vi</span> /etc/selinux/config SELINUX<span class="token operator">=</span>disabled setenforce 0 |
启动v2ray和nginx:
1 2 |
systemctl start v2ray systemctl start nginx |
检查是否运行正常:
1 2 |
systemctl status v2ray systemctl status nginx |
两个都显示为绿色的active(running)
则说明运行成功
到此,服务端的配置完成
配置V2Ray客户端
客户端配置
下载V2RayN客户端(Windows)
安装完成后打开软件
点击:服务器→添加[VMess]服务器
填上你设置的对应数据,如服务器ip、端口、UUID(服务端和客户端必须一致),加密方式一般为aes-128-gcm
,协议为ws
,
伪装域名留空,路径为/ray
,开启tls和不安全传输,设置完保存
右键V2RayN的系统栏小图标,点击启用Http代理
,Http代理模式选择第二个PAC模式
最后再打开V2RayN软件面板,在检查更新里选择更新PAC
到此,V2Ray就全部配置完成了
一键脚本
嫌麻烦可以直接用一键脚本 脚本地址:https://github.com/wulabing/V2Ray_ws-tls_bash_onekey
使用脚本前确保系统的纯净系统,未安装lnmp等程序
安装 Curl:
1 |
yum update -y <span class="token operator">&&</span> yum <span class="token function">install</span> <span class="token function">curl</span> -y |
使用一键脚本:
Vmess+websocket+TLS+Nginx+Website
1 |
<span class="token function">bash</span> <span class="token operator"><</span><span class="token punctuation">(</span>curl -L -s https://raw.githubusercontent.com/wulabing/V2Ray_ws-tls_bash_onekey/master/install.sh<span class="token punctuation">)</span> <span class="token operator">|</span> <span class="token function">tee</span> v2ray_ins.log |
启动 V2ray:
1 |
systemctl start v2ray |
启动 Nginx:
1 |
systemctl start nginx |
备注
1.V2Ray的客户端Core和服务端Core版本必须一致,请自行更新。
2.此外,V2Ray对本地时间和服务端时间的要求较高,一般执行脚本后会自动校时,如出现连接失误,请检查服务器的时间。
3.本教程仅供学习交流,请勿违反国家法律法规,否则后果自负!
V2Ray的详细搭建教程,使用TCP传输,详见这篇文章:
V2Ray 详细搭建教程