前提


以下操作,用ssh客户端登陆vps操作完成
系统更新
apt-get update && apt-get upgrade -y #ubuntu或debian系统
或
yum update -y #centos系统
一键安装v2ray
bash <(curl -L -s https://install.direct/go.sh)
一键安装bt面板
- BT宝塔面板,根据vps具体系统选择相应一键安装脚本;
以下操作,在浏览器中登陆bt面板操作完成
1、浏览器登陆bt面板
- 安装完bt面板后,根据提示,打开浏览器登陆bt面板
- 安装nginx1.12(或最新版本);取消勾选php、mysql,除非需要同时建立个人网站,如wordpress;
- 安装完nginx后,网站——添加站点:x.com
- 成功添加站点x.com站点后,设置——SSL——Let's Encrypt,成功申请ssl后,保存。
- 再点击站点设置的「配置文件」选项(即
nginx配置),在最后一个}前添加如下代码:
location /ws {
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
if ($http_host = "www.baidu.com" ) {proxy_pass http://127.0.0.1:33531;
}
}
以上代码中的参数必须和下文的v2ray配置文件一样
path:path可自定义,这里是/ws,但必须与服务端、客户端的path同样;
host:host是http header参数,可自定义任意域名,这里是www.baidu.com,但必须与服务端、客户端配置同样,可理解为密码;
33531:v2ray服务端的端口port,可自定义;在bt面板——安全选项,放行33531自定义端口。
apache配置
<VirtualHost *:80>
RewriteEngine On
RewriteCond %{HTTP:Upgrade} =websocket [NC]
RewriteRule /(.*) ws://localhost:33531/$1 [P,L]
RewriteCond %{HTTP:Upgrade} !=websocket [NC]
RewriteRule /(.*) http://localhost:33531/$1 [P,L]
</VirtualHost>
<VirtualHost *:443>
ServerName x.com.
ServerAlias x.com.
SSLEngine On
SSLProxyEngine On
Proxypass /ray http://127.0.0.1:33531
ProxyPassReverse /ray http://127.0.0.1:33531
SSLCertificateFile /XXX.crt
SSLCertificateKeyFile /XXX.key
</VirtualHost>
2、修改v2ray配置文件
- 打开面板
文件,在路径中输入/etc/v2ray/,编辑以下文件,并保存
服务端:/etc/v2ray/config.json
- 为了直观,直接在代码后面添加注释,复制粘贴后切记
删除注释部分://....
{
"log" : {
"access": "/var/log/v2ray/access.log",
"error": "/var/log/v2ray/error.log",
"loglevel": "warning"
},
"inbound": {
"port": 33531, //可自定义,但必须与上文nginx抱持一致
"protocol": "vmess",
"settings": {
"clients": [
{
"id": "08723509-b860-49ac-98a7-7af7486beb38", //建议默认,uuid也可自定义同样格式,但必须与客户端配置保持一致
"level": 1,
"alterId": 64
}
]
},
"streamSettings":{
"network":"ws",
"wsSettings": {
"path": "/ws", //path可自定义,这里是/ws,但必须与nginx、客户端的path同样
"headers": {
"Host": "www.baidu.com" //host可自定义任意域名,但必须与nginx、客户端配置同样
}
}
}},
"outbound": {
"protocol": "freedom",
"settings": {}
},
"outboundDetour": [
{
"protocol": "blackhole",
"settings": {},
"tag": "blocked"
}
],
"routing": {
"strategy": "rules",
"settings": {
"rules": [
{
"type": "field",
"ip": [
"0.0.0.0/8",
"10.0.0.0/8",
"100.64.0.0/10",
"127.0.0.0/8",
"169.254.0.0/16",
"172.16.0.0/12",
"192.0.0.0/24",
"192.0.2.0/24",
"192.168.0.0/16",
"198.18.0.0/15",
"198.51.100.0/24",
"203.0.113.0/24",
"::1/128",
"fc00::/7",
"fe80::/10"
],
"outboundTag": "blocked"
}
]
}
}
}
客户端:修改config.json文件
- 客户端下载:v2ray-core,解压后,编辑config文件,并保存
- 为了直观,直接在代码后面添加注释,复制粘贴后切记
删除注释部分://....
{
"inbound": {
"listen": "127.0.0.1",
"settings": {
"udp": false,
"auth": "noauth",
"ip": "127.0.0.1"
},
"protocol": "socks",
"port": 1080
},
"outbound": {
"mux": {
"enabled": true, //true开启mux,false为关闭
"concurrency": 8
},
"protocol": "vmess",
"settings": {
"vnext": [
{
"address": "x.com", //你申请的域名
"users": [
{
"id": "08723509-b860-49ac-98a7-7af7486beb38", //uuid必须与服务端配置文件一样
"alterId": 64,
"security": "ChaCha20-Poly1305" //可自定义加密方法
}
],
"port": 443 //客户端端口port必须是nginx ssl监听端口,bt面板申请ssl后默认443端口,客户端不能填写33531
}
]
},
"tag": "proxy",
"streamSettings": {
"wsSettings": {
"path": "/ws", //path可自定义,这里是/ws,但必须与nginx配置、服务端的path一样
"headers": {
"Host": "www.baidu.com" //host可自定义任意域名,但必须与nginx、服务端配置同样
}
},
"tlsSettings": {
"serverName": "x.com", //你申请的域名
"allowInsecure": true
},
"security": "tls",
"network": "ws"
}
},
"outboundDetour": [
{
"tag": "direct",
"protocol": "freedom",
"settings": {
}
}
],
"routing": {
"strategy": "rules",
"settings": {
"domainStrategy": "IPIfNonMatch",
"rules": [
{
"type": "field",
"outboundTag": "direct",
"port": "1-52"
},
{
"type": "field",
"outboundTag": "direct",
"port": "54-79"
},
{
"type": "field",
"outboundTag": "direct",
"port": "81-442"
},
{
"type": "field",
"outboundTag": "direct",
"port": "444-65535"
},
{
"type": "field",
"outboundTag": "direct",
"domain": [
"geosite:cn"
]
},
{
"type": "field",
"ip": [
"0.0.0.0/8",
"10.0.0.0/8",
"100.64.0.0/10",
"127.0.0.0/8",
"169.254.0.0/16",
"172.16.0.0/12",
"192.0.0.0/24",
"192.0.2.0/24",
"192.168.0.0/16",
"198.18.0.0/15",
"198.51.100.0/24",
"203.0.113.0/24",
"::1/128",
"fc00::/7",
"fe80::/10",
"geoip:cn"
],
"outboundTag": "direct"
}
]
}
},
"log": {
"loglevel": "warning"
},
"policy": {
"levels": {
"0": {
"uplinkOnly": 0
}
}
}
}
- 不同系统客户端可随意自定义不同的加密方式,上文客户端配置为ChaCha20-Poly1305
security:加密方式,客户端将使用配置的加密方式发送数据,服务器端自动识别,无需配置。可选的值有:
"aes-128-cfb"
"aes-128-gcm":推荐在 PC 上使用
"chacha20-poly1305":推荐在手机端使用
"auto":默认值,自动选择
"none":不加密
- 以上路由规则已经为智能连接
服务器操作
- 可直接透过bt面板,重启服务器,一次性使配置文件生效
或
- 分别重启相关服务
- 重启v2ray,ssh客户端:service v2ray restart
- 重启nginx:透过BT面板
安装加速
开启CDN,外国服务推荐cloudflare,但免费版使用中可能导致慢速,所以不推荐; 可使用国内cdn,但或许会危及安全。
- 优点:可隐藏真实IP地址
- 如果使用cloudflare服务,安全选项的证书必须选择full或full(strict)
openvz:扩软博客的OpenVZ 平台 Google BBR 一键安装脚本
kvm
- 91锐速(推荐)
- 或 BBR,以下二选一
客户端使用截图
- ios
- kitsunebi(推荐,本人无ios设备,所以没法截图)
- shadowrocket(选择vmess协议,但是未必具备以上全部功能)
- Android
- v2rayNG(推荐),如图
- 点击+,选择手动输入,根据上文范例应填写如下:
- v2rayNG(推荐),如图
- Macos
- v2ray-core(推荐,因为可使用最新的功能)
- 解压,根据上文的客户端config配置,修改文件config.json;
打开v2ray程序- 优点:使用最新功能,比如自定义http header
- 缺点:是命令行程序,透过config配置文件,没有程序设置界面
- 所以
需要如下附加软件搭配实现科学上网
- v2ray-core + Proxifier(付费)实现系统全部程序智能翻墙
- Proxifier 配置,如图
- v2ray-core(推荐,因为可使用最新的功能)
- v2ray-core+ 插件Proxy SwitchyOmega,可移步教程
- 缺点:只能用于浏览器科学上网
- 教程中的v2ray的本地端口为1081,但最新v2ray-core为1080,
- 所以请自行修改教程中Proxy SwitchyOmega的端口设置为1080;
- 或 修改v2ray-core客户端的config配置中本地端口为1081,如下位置
- v2ray-core+ 插件Proxy SwitchyOmega,可移步教程
{
"inbound": { #在客户端config文件的inbound内的port,而非outbound
"listen": "127.0.0.1",
"settings": {
"udp": false,
"auth": "noauth",
"ip": "127.0.0.1"
},
"protocol": "socks",
"port": 1080 #可查看最新版本本地端口号,或1080直接修改为1081
},
或直接第三方客户端v2rayx
- 缺点:目前最新版本0.9没有自定义http header功能
- 如果不需要http header功能 + 定意使用v2rayx,可进行如下操作
- 编辑
服务端config,删除其中
"Host": "www.baidu.com" 变为
"Host": "",即可。 - 编辑
nginx的配置代码应修改为如下:location /ws { proxy_redirect off; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $http_host; proxy_pass http://127.0.0.1:33531; }
- 根据上文范例,配置如图
- windows客户端
- 推荐:v2ray-core + Proxifier 或 插件Proxy SwitchyOmega 同macos
- 第三方客户端