AirportR / fulltclash

General proxy performance testing tool based on Clash using Telegram API.
https://fulltclash.gitbook.io/fulltclash-doc
BSD 2-Clause "Simplified" License
684 stars 110 forks source link

[BUG] 获取Xboard面板搭建机场订阅失败 #152

Closed helianchichi closed 9 months ago

helianchichi commented 9 months ago

Xboard基于v2board二次开发,项目地址

经测试,fulltclash处理Xboard型机场订阅链接,不能成功获取节点信息,返回节点数量为0

AirportR commented 9 months ago

Xboard基于v2board二次开发,项目地址

经测试,fulltclash处理Xboard型机场订阅链接,不能成功获取节点信息,返回节点数量为0

检查xboard下发的是否是clash配置,ua设成clash.meta

helianchichi commented 9 months ago

Xboard基于v2board二次开发,项目地址 经测试,fulltclash处理Xboard型机场订阅链接,不能成功获取节点信息,返回节点数量为0

检查xboard下发的是否是clash配置,ua设成clash.meta

经测试问题仍旧存在,相关信息已发至您Gmail,请查收

AirportR commented 9 months ago

Xboard基于v2board二次开发,项目地址 经测试,fulltclash处理Xboard型机场订阅链接,不能成功获取节点信息,返回节点数量为0

检查xboard下发的是否是clash配置,ua设成clash.meta

经测试问题仍旧存在,相关信息已发至您Gmail,请查收

你好,我使用了你发给我的测试账号,发现订阅链接直接浏览器打开也没有任何内容,是否是面板问题呢,或者是我操作不对?如果是v2board,直接浏览器打开订阅链接也是能看到的,但很明显,我在xboard使用相同的操作却无法得到任何的节点信息。这是否是xboard的问题?

helianchichi commented 9 months ago

你好,我使用了你发给我的测试账号,发现订阅链接直接浏览器打开也没有任何内容,是否是面板问题呢,或者是我操作不对?如果是v2board,直接浏览器打开订阅链接也是能看到的,但很明显,我在xboard使用相同的操作却无法得到任何的节点信息。这是否是xboard的问题?

目前我有两个Xboard订阅,存在相同的现象,即浏览器打开无任何内容,但是使用clash-meta-for-android>=2.9.0或者sing-box是能够获取到节点的,该现象是否有可能为xboard本身就是这样设计的,需要post特殊字段才可返回信息

AirportR commented 9 months ago

你好,我使用了你发给我的测试账号,发现订阅链接直接浏览器打开也没有任何内容,是否是面板问题呢,或者是我操作不对?如果是v2board,直接浏览器打开订阅链接也是能看到的,但很明显,我在xboard使用相同的操作却无法得到任何的节点信息。这是否是xboard的问题?

目前我有两个Xboard订阅,存在相同的现象,即浏览器打开无任何内容,但是使用clash-meta-for-android>=2.9.0或者sing-box是能够获取到节点的,该现象是否有可能为xboard本身就是这样设计的,需要post特殊字段才可返回信息

略有进展,对clash-meta-for-android的get请求进行抓包分析,获取到如下信息:

import requests

url = "订阅链接"

headers = {
  'User-Agent': "ClashforWindows/0.19.23",
  'Accept-Encoding': "gzip"
}

response = requests.get(url, headers=headers)

print(response.text)

以上python代码能够获取到节点信息,但是将header替换入fulltclash仍旧无效,aiohttp和request存在某种差异?这点我不太懂,如果知道可否请教一下

由此就可以得出一个结论,需要设置正确的请求头才能获取到订阅,能不能在订阅的URL后面添加类似于flag=clash强制获取呢。

fulltclash获取订阅的请求头是 clash-meta,这应该是需要双方项目进一步协调的。我可以修改成能用的请求头,但谁又能保证下一个*board面板还能正确地获取呢?

helianchichi commented 9 months ago

你好,我使用了你发给我的测试账号,发现订阅链接直接浏览器打开也没有任何内容,是否是面板问题呢,或者是我操作不对?如果是v2board,直接浏览器打开订阅链接也是能看到的,但很明显,我在xboard使用相同的操作却无法得到任何的节点信息。这是否是xboard的问题?

目前我有两个Xboard订阅,存在相同的现象,即浏览器打开无任何内容,但是使用clash-meta-for-android>=2.9.0或者sing-box是能够获取到节点的,该现象是否有可能为xboard本身就是这样设计的,需要post特殊字段才可返回信息

略有进展,对clash-meta-for-android的get请求进行抓包分析,获取到如下信息:

import requests

url = "订阅链接"

headers = {
  'User-Agent': "ClashforWindows/0.19.23",
  'Accept-Encoding': "gzip"
}

response = requests.get(url, headers=headers)

print(response.text)

以上python代码能够获取到节点信息,但是将header替换入fulltclash仍旧无效,aiohttp和request存在某种差异?这点我不太懂,如果知道可否请教一下

由此就可以得出一个结论,需要设置正确的请求头才能获取到订阅,能不能在订阅的URL后面添加类似于flag=clash强制获取呢。

fulltclash获取订阅的请求头是 clash-meta,这应该是需要双方项目进一步协调的。我可以修改成能用的请求头,但谁又能保证下一个*board面板还能正确地获取呢?

确实,这个问题目前看来无解,先关掉了

AirportR commented 9 months ago

你好,我使用了你发给我的测试账号,发现订阅链接直接浏览器打开也没有任何内容,是否是面板问题呢,或者是我操作不对?如果是v2board,直接浏览器打开订阅链接也是能看到的,但很明显,我在xboard使用相同的操作却无法得到任何的节点信息。这是否是xboard的问题?

目前我有两个Xboard订阅,存在相同的现象,即浏览器打开无任何内容,但是使用clash-meta-for-android>=2.9.0或者sing-box是能够获取到节点的,该现象是否有可能为xboard本身就是这样设计的,需要post特殊字段才可返回信息

略有进展,对clash-meta-for-android的get请求进行抓包分析,获取到如下信息:

import requests

url = "订阅链接"

headers = {
  'User-Agent': "ClashforWindows/0.19.23",
  'Accept-Encoding': "gzip"
}

response = requests.get(url, headers=headers)

print(response.text)

以上python代码能够获取到节点信息,但是将header替换入fulltclash仍旧无效,aiohttp和request存在某种差异?这点我不太懂,如果知道可否请教一下

由此就可以得出一个结论,需要设置正确的请求头才能获取到订阅,能不能在订阅的URL后面添加类似于flag=clash强制获取呢。

fulltclash获取订阅的请求头是 clash-meta,这应该是需要双方项目进一步协调的。我可以修改成能用的请求头,但谁又能保证下一个*board面板还能正确地获取呢?

确实,这个问题目前看来无解,先关掉了

你好,已找到解决方案,订阅链接后缀加入 &flag=meta&types=all 可以强制获取