搭建x-ui免流服务器(已失效)
# 安装 x-ui
按照教程安装即可
https://github.com/vaxilu/x-ui (opens new window)
# 替换内核
https://alist.shenzjd.com/本地云盘/xray (opens new window)
替换好内核以后重启 x-ui
然后添加入站列表
# 安装订阅连接
提供一个 php 版本的自动更新的订阅地址
https://alist.shenzjd.com/本地云盘/809.php (opens new window)
# 原理说明
# 关于最近流行的 809 免流
近期有一种利用了联通某个反向代理接口的免流方法似乎挺流行,这里放上示例代码和简单的原理说明
该方法主要是利用 http://dir.wo186.tv:809/if5ax/
接口反向代理自己的 v2ray&xray 服务器,并通过接口返回的反向代理信息连接到 v2ray&xray 服务器,从而实现免流的目的。该接口返回的反向代理服务器 ip 疑似被联通设置为白名单 IP,因此免流效果远超普通的域名伪装。
该接口的主要请求参数:
fakeid
: 一串随机字符串,似乎长度固定为 22 个英文字母spid
: 未知,目前实测有效的参数为:81117
pid
: 未知,目前实测有效的参数为:81117
spip
: 反向代理的源服务器 IPspport
: 反向代理的源服务器端口spkey
: 在 path 及请求参数最后加上3d99ff138e1f41e931e58617e7d128e2
之后做 md5 加密的结果
示例代码(Golang):
func getFakeID() string {
str := "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
strb := []byte(str)
r := rand.New(rand.NewSource(time.Now().UnixNano()))
var result []byte
for i := 0; i < 22; i++ {
result = append(result, strb[r.Intn(len(strb))])
}
return string(result)
}
func getUrl(ip, port string) []string {
path := "if5ax/?fakeid=" + getFakeID() + "&spid=81117&pid=81117&spip=" + ip + "&spport=" + port
host := "http://dir.wo186.tv:809/"
m := md5.Sum([]byte(path + "3d99ff138e1f41e931e58617e7d128e2"))
key := hex.EncodeToString(m[:])
r, _ := http.Get(host + path + "&spkey=" + key)
body, _ := io.ReadAll(r.Body)
rj := map[string]string{}
json.Unmarshal(body, &rj)
p := strings.Index(rj["url"], "/if5ax")
t := strings.Index(rj["url"], "lsttm=")
return []string{rj["url"][7:p], rj["url"][p:], rj["url"][t+6 : t+20]}
}
func main(){
url:=getUrl("1.1.1.1", "443")
fmt.Println(url)
}
该接口会返回一串 JSON,其中包含反向代理服务器的 url
!!此外,需要修改 xray&v2ray 引用的 ws 库删除 upgrade 头才能正常反代,只需要修改服务端,不然会连不上,可以参考一下我修改的 (opens new window)!!
编译好的 Xray-Core (opens new window)
编译好的 XrayR (opens new window)
# 还是不懂?
直接请求接口把返回的 url 填进你节点配置文件里就行了!一定要修改过的 xray&v2ray服务端才行,该说的都说了,不需要额外操作!
编辑 (opens new window)
上次更新: 2024/11/29, 10:10:04