发现机场提供的订阅链接访问只是给了base64编码后的节点信息, 但是导入到clash后,生成的文件是自带一些规则的。 然后有些机场拉取订阅后用的都是机场提供的订阅规则,不太理解怎么做的,有大佬说说吗。
大佬们说滴对,就是通过User-Agent判断返回了不同的订阅结果。
发现机场提供的订阅链接访问只是给了base64编码后的节点信息, 但是导入到clash后,生成的文件是自带一些规则的。 然后有些机场拉取订阅后用的都是机场提供的订阅规则,不太理解怎么做的,有大佬说说吗。
大佬们说滴对,就是通过User-Agent判断返回了不同的订阅结果。
访问订阅连接根据请求头判断具体的客户端,返回的结果不一样
楼上正解,一般机场默认返回的是 v2ray 格式的订阅(就是 base64 编码后的字符串),只包含节点。你用浏览器或者 curl 获取到的应该都是这个。机场服务端会根据 UA(忘记是不是这个了不确定) 或者 flag 参数判断客户端类型,你用 clash 获取订阅机场返回的就是 clash 格式的订阅,一般 clash 的订阅机场都有配置一些规则进去的,所以你获取订阅后就有规则了,不是订阅转换的
订阅服务会根据请求头User-Agent字段来判断客户端类型,以此返回对应的配置
比如浏览器默认的请求头:User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36
而clash客户端的请求头:User-Agent:Clash
我记得还有一种形式,是直接在链接后面拼接参数也可以,一时记不起来了,有没有佬知道的