纯IPV6 VPS安装hysteria、x-ui面板,并实现多VPS轮换
重置VPS
登录 hax / woiden后,选择 Reinstall VPS,操作系统选择Debian 11,设置好密码及人机验证后,点击Rebuild VPS后即可,等待几分钟后系统会重置好。
开启TUN
准备工作
域名解析
请至cloudflare进行DNS解析,由于hax / woiden都是纯IPV6的VPS,所以类型请选择AAAA。不用开小云朵!!!这样会导致hysteria无法使用。请把cloudflare的SSL/TLS 加密模式修改为完全 或者 完全(严格)。
更新软件源
SSH登录VPS后,在命令行输入:apt-get update
卸载apache2
VPS hax / woiden可能默认安装了apache2,占用了80端口,为了后面申请证书能成功,请卸载自带的apache2,在命令行输入:apt-get --purge remove apache2 apache2-doc apache2-bin apache2-data apache2-utils -y
一般这样就会完全卸载掉apache2,可以通过:
dpkg -l | grep apache2
看是否卸载干净。最后运行:
apt-get autoremove
安装Hysteria
安装Hysteria,选择的是甬哥的一键脚本。视频请看Youtube,内容说明请看BLOG,脚本说明,一键脚本地址。也可以在命令行直接输入下面代码安装:
wget -N https://gitlab.com/rwkgyg/hysteria-yg/raw/main/hysteria.sh && bash hysteria.sh
注意
- 代码最近有更新,证书路径由原来的/root/变成了/root/ygkkkca/, 这与BLOG中的说明有出入。请记住证书路径及名称(/root/ygkkkca/cert.crt & /root/ygkkkca/private.key),这在后面会用到。
安装X-UI面板,并实现单端口多用户功能
本节内容完全参考了不良林的教程,具体请看大神的Youtube视频及文字说明
注意
由于上面已经申请过证书,所以从安装acme.sh到申请证书这些步骤可以省略了。
教程中用的是IPV4 VPS,在nginx配置中我们要添加支持IPV6的功能,请把原来的
listen 443 ssl; # 第22行
调整为:
listen [::]:443 ssl; listen 443 ssl;
证书路径调整
由于我们用到的是Hysteria申请的证书,请调整一下原来的25,26(26,27)行:ssl_certificate /etc/x-ui/server.crt; # 证书位置 ssl_certificate_key /etc/x-ui/server.key; # 私钥位置
调整为:
ssl_certificate /root/ygkkkca/cert.crt; # 证书位置 ssl_certificate_key /root/ygkkkca/private.key; # 私钥位置
如果想多VPS轮询节点的话,请把上面用到的uuid固定,不要用x-ui自动生成的,请统一每个端口的UUID!!!
nginx配置文件直接修改比较麻烦的话,请先备份原配置文件:
cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
然后新建一个空白文件:
vi /etc/nginx/nginx.conf.xui
最后覆盖原文件即可:
cp /etc/nginx/nginx.conf.xui /etc/nginx/nginx.conf
直接优选IP
按照不良林教程搭建的vmess+ws+tls+web或者vless+ws+tls+web的,如果域名是托管在cloudflare上的,可以直接优选IP使用,把地址修改为优选IP或者icook.tw,把伪装域名和sni修改成自己的域名即可。这样应该可以解决ipv4上无法使用的问题。但速度可能没有直连快。
创建Workers并添加自定义域名
创建 Cloudflare Workers
按上面链接说明创建workers,并设置CloudFlare Workers反代代码,如果想实现多个VPS轮换,请参考 进阶说明,注意,把对应的域名换成自己的即可。
下面贴出几个常用的cloudfalre workers反代代码:- CloudFlare Workers单VPS反代代码
addEventListener( "fetch",event => { let url=new URL(event.request.url); url.hostname="xxx.eu.org"; let request=new Request(url,event.request); event. respondWith( fetch(request) ) } )
CloudFlare Workers单双VPS轮换反代代码
const SingleDay = 'xxx1.eu.org' const DoubleDay = 'xxx2.eu.org' addEventListener( "fetch",event => { let nd = new Date(); if (nd.getDate()%2) { host = SingleDay } else { host = DoubleDay } let url=new URL(event.request.url); url.hostname=host; let request=new Request(url,event.request); event. respondWith( fetch(request) ) } )
CloudFlare Workers一周VPS轮换反代代码
const Day0 = 'xxx1.eu.org' const Day1 = 'xxx2.eu.org' const Day2 = 'xxx3.eu.3org' const Day3 = 'xxx4.eu.org' const Day4 = 'xxx5.eu.org' const Day5 = 'xxx6.eu.org' const Day6 = 'xxx7.eu.org' addEventListener( "fetch",event => { let nd = new Date(); let day = nd.getDay(); if (day === 0) { host = Day0 } else if (day === 1) { host = Day1 } else if (day === 2) { host = Day2 } else if (day === 3){ host = Day3 } else if (day === 4) { host = Day4 } else if (day === 5) { host = Day5 } else if (day === 6) { host = Day6 } else { host = Day1 } let url=new URL(event.request.url); url.hostname=host; let request=new Request(url,event.request); event. respondWith( fetch(request) ) } )
- CloudFlare Workers单VPS反代代码
2、添加自定义域名
由于CloudFlare Workers 的业务域名 Workers.dev 被防火长城 DNS 污染,无法直接使用xxx.workder.dev域名,目前可以使用添加自定义域名方式访问,具体请参考辰漉博客,然后在v2rayN修改伪装域名及sni为对应的路由域名即可。
附上完整的nginx.conf配置文件,仅供参考(请把相应配置修改成自己的):
user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
events {
worker_connections 1024;
}
http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
gzip on;
server {
listen [::]:443 ssl;
listen 443 ssl;
server_name example.com; # 你的域名
ssl_certificate /root/ygkkkca/cert.crt; # 证书位置
ssl_certificate_key /root/ygkkkca/private.key; # 私钥位置
ssl_session_timeout 1d;
ssl_session_cache shared:MozSSL:10m;
ssl_session_tickets off;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers off;
location / {
proxy_pass http://cloudreve.lee2333.com/; # 伪装网址
proxy_redirect off;
proxy_ssl_server_name on;
sub_filter_once off;
sub_filter "cloudreve.lee2333.com" $server_name;
proxy_set_header Host "cloudreve.lee2333.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";
}
location /a804bd50-2e88-4458-a64d-862f96777471 { # 分流路径
proxy_redirect off;
proxy_pass http://127.0.0.1:10000; #Xray端口 (vmess)
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;
}
location /43d82949-d8da-42be-850e-845d398779c5 { # 分流路径
proxy_redirect off;
proxy_pass http://127.0.0.1:10001; # Xray端口(vless)
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;
}
location /a804bd50-2e88-4458-a64d-862f96777471-xui { # xui路径
proxy_redirect off;
proxy_pass http://127.0.0.1:9999; # xui监听端口
proxy_http_version 1.1;
proxy_set_header Host $host;
}
}
}
评论
发表评论