crossutility / Quantumult-X

2.64k stars 274 forks source link

Quantumult X 如何支持前置代理(Proxy Chain)功能? #100

Open iRoySwift opened 2 years ago

iRoySwift commented 2 years ago

在公司内网里面,需要通过公司内网的正向代理服务器,通过http请求转发到外网,然后连上自己的机场。就像小飞机里面那个前置代理功能。

In the company's intranet, you need to forward the request to the external network through the forward proxy server of the company's intranet, and then connect to your own airport. Just like the front proxy function in the Shadowrocket.

IMAGE 2022-01-30 10:23:42

Wanvy-MN commented 2 years ago

比如我想将Adguard和QX同时开启,该如何配置,可否给一个示例?

zhlxsh commented 2 years ago

同楼上,我想把Cisco IPSec的VPN和圈x同时开启,有没有办法实现?

Ishiharaerika commented 2 years ago

比如我想将Adguard和QX同时开启,该如何配置,可否给一个示例?

I don't think I've fully understood your requirement while I'm using Apple translate reading these articles. But there is method recently conjuncting QuanX with AdGuard. The setting was pretty easy and no need listening any port. Just open AdGuard's lower configuration, change the tunnel mode, then go to setting on iOS devices to choose AdGuard DNS. It should be done perfectly.

JimBo1205 commented 1 year ago

需求+1

Leefurmore commented 1 year ago

需求+1

Leefurmore commented 1 year ago

QuanX没有办法实现链式代理吗?

xiaojj commented 1 year ago

QuanX没有办法实现链式代理吗?

解析器

2022-04-21

新增参数 relay,将 节点订阅 内节点 ip/域名,批量自动转换成 实现QuanX内繁琐代理链的 分流规则,以简化实现【代理链】的步骤

示范,

1⃣️ 将含有ServerA节点订阅添加到分流内: https://server.sub.com#relay=ServerB 则将转换为以下分流:

ip-cidr, ServerA's IP Range, ServerB host-suffix, ServerA's host, ServerB

2⃣️ 在另外分流中通过参数 via=0,如 https://filter.sub.com#via=0 策略偏好 serverA,实现

host-suffix, example.com, ServerA, via-interface=%TUN%

3⃣️ 从而当访问 example.com 时,将会实现ServerA到ServerB的代理链(示范图片内以github.com 为例)

Leefurmore commented 1 year ago

QuanX没有办法实现链式代理吗?

解析器

2022-04-21

新增参数 relay,将 节点订阅 内节点 ip/域名,批量自动转换成 实现QuanX内繁琐代理链的 分流规则,以简化实现【代理链】的步骤

示范,

1⃣️ 将含有ServerA节点订阅添加到分流内: https://server.sub.com#relay=ServerB 则将转换为以下分流:

ip-cidr, ServerA's IP Range, ServerB host-suffix, ServerA's host, ServerB

2⃣️ 在另外分流中通过参数 via=0,如 https://filter.sub.com#via=0 策略偏好 serverA,实现

host-suffix, example.com, ServerA, via-interface=%TUN%

3⃣️ 从而当访问 example.com 时,将会实现ServerA到ServerB的代理链(示范图片内以github.com 为例)

感谢回复,我试一下,看描述应该是把订阅内的所有流量转发到ServerB。不过,我更希望我选定的某个策略组的流量转发到ServerB,能实现吗? PS:目前我有一个订阅,里面包含了一堆节点,我创建了一个叫HK的策略组,我希望这个策略组的流量全部转发给ServerB。ServerB是一个我单独购买的静态住宅IP。

xiaojj commented 1 year ago

可以实现,我就是用url-latency-benchmark从一堆订阅中选了个最快的,然后转发给我自己的vps落地。

Leefurmore commented 1 year ago

可以实现,我就是用url-latency-benchmark从一堆订阅中选了个最快的,然后转发给我自己的vps落地。

能否把你的订阅等敏感信息删除后,发给我看一下呢,已经搞了四个多小时,老是报错,无法成功。另外,你使用的是哪个解析器?

xiaojj commented 1 year ago

[policy] ;Auto 自动选择 url-latency-benchmark=AUTO, resource-tag-regex=^h|^p|^w, server-tag-regex=JP|SG|新加坡|IPLC|香港|HK|日本|美国|USA, check-interval=86400, tolerance=0, alive-checking=true, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/Roundrobin.png

;翻墙用的 static=Global, AUTO, img-url=https://raw.githubusercontent.com/Koolson/Qure/master/IconSet/Color/Google.png

;自己的服务器,落地用的。 ;设置-->分流-->需要翻墙的规则有两个地方需要设置。1.资源路径最后加上#via=0 2.策略偏好打开 使用下面的这个Chain. static=Chain, serverB, img-url=https://raw.githubusercontent.com/Semporia/Hand-Painted-icon/master/Universal/RoundRobin.png

[filter_local] ;将落地ip加到需要翻墙的规则。 ip-cidr, ServerB ip /32, Global

解析用的resource_parser_url=https://cdn.jsdelivr.net/gh/KOP-XIAO/QuantumultX@master/Scripts/resource-parser.js

Leefurmore commented 1 year ago

好的,非常感谢,我再折腾一下看看,解析器我们用的是一样的,但我第一步就报错了,重新添加订阅链接,链接后面加了#relay=Xpolicies,然后就报错无效值。这个Xpolicies就是一个策略组(理论上应该对应你的Golbal),里面又放了一个正则筛选的HK组(对应你的AUTO)。我现在加上Chain和filter_local力的ip-cidr看看。

Leefurmore commented 1 year ago

[policy] ;Auto 自动选择 url-latency-benchmark=AUTO, resource-tag-regex=^h|^p|^w, server-tag-regex=JP|SG|新加坡|IPLC|香港|HK|日本|美国|USA, check-interval=86400, tolerance=0, alive-checking=true, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/Roundrobin.png

;翻墙用的 static=Global, AUTO, img-url=https://raw.githubusercontent.com/Koolson/Qure/master/IconSet/Color/Google.png

;自己的服务器,落地用的。 ;设置-->分流-->需要翻墙的规则有两个地方需要设置。1.资源路径最后加上#via=0 2.策略偏好打开 使用下面的这个Chain. static=Chain, serverB, img-url=https://raw.githubusercontent.com/Semporia/Hand-Painted-icon/master/Universal/RoundRobin.png

[filter_local] ;将落地ip加到需要翻墙的规则。 ip-cidr, ServerB ip /32, Global

解析用的resource_parser_url=https://cdn.jsdelivr.net/gh/KOP-XIAO/QuantumultX@master/Scripts/resource-parser.js

某些网站成功实现了,在[filter_local]里用host-suffix填写规则可以正常使用代理链了,比如,host-suffix,ipinfo.io,Residential,via-interface=%TUN%。 但[filter_remote]里我引用的规则就无法实现,比如,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/QuantumultX/Google/Google.list#via=0, tag=blackmatrix7(Google, Basic), force-policy=Chain, update-interval=86400, opt-parser=false, inserted-resource=true, enabled=true,是我哪里写错了吗?就差这个问题了。

xiaojj commented 1 year ago

改成opt-parser=true

Leefurmore commented 1 year ago

改成opt-parser=true

改过了,但我看网络流量是直连了落地机,没有经过代理节点中转,导致网页打不开。 PS:我的网络环境无法直连落地机。

xiaojj commented 1 year ago

按道理是资源解析器开了以后 #via=0 才起作用。

你改好后重起一下qx试试。

Leefurmore commented 1 year ago

https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/QuantumultX/Google/Google.list#via=0, tag=blackmatrix7(Google, Basic), force-policy=Residetial, update-interval=86400, opt-parser=true, inserted-resource=true, enabled=true 最后的设置是这样,怎么整都是直连落地机,崩溃。

Leefurmore commented 1 year ago

成功了~,分流规则改成这样后就可以了,非常感谢您的帮助~!!!https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/QuantumultX/Google/Google.list#via=%TUN%, tag=blackmatrix7(Google, Basic), force-policy=Residential, update-interval=86400, opt-parser=true, inserted-resource=true, enabled=true

Leefurmore commented 1 year ago

按道理是资源解析器开了以后 #via=0 才起作用。

你改好后重起一下qx试试。

成功了~,分流规则改成这样后就可以了,非常感谢您的帮助~!!!https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/QuantumultX/Google/Google.list#via=%TUN%, tag=blackmatrix7(Google, Basic), force-policy=Residential, update-interval=86400, opt-parser=true, inserted-resource=true, enabled=true

lingbaoboy commented 1 year ago

@

QuanX没有办法实现链式代理吗?

解析器

2022-04-21

新增参数 relay,将 节点订阅 内节点 ip/域名,批量自动转换成 实现QuanX内繁琐代理链的 分流规则,以简化实现【代理链】的步骤

示范,

1⃣️ 将含有ServerA节点订阅添加到分流内: https://server.sub.com#relay=ServerB 则将转换为以下分流:

ip-cidr, ServerA's IP Range, ServerB host-suffix, ServerA's host, ServerB

2⃣️ 在另外分流中通过参数 via=0,如 https://filter.sub.com#via=0 策略偏好 serverA,实现

host-suffix, example.com, ServerA, via-interface=%TUN%

3⃣️ 从而当访问 example.com 时,将会实现ServerA到ServerB的代理链(示范图片内以github.com 为例)

大佬,有订阅分流的转换可以实现代理链,但是 final 分流怎么代理链,我写了 final ,落地机, via-interface=%TUN% 结果报错了

更新 final ,落地机, via-interface=%TUN% 可以正常使用,可能是我第一次英文逗号输入成中文逗号了


另外你这段描述 中serverA其实是落地机,ServerB是中专机 所以代理链是ServerB-serverA,这样是clash中代理链的定义,当时我晕了好久。策略里边分流关联到落地机,然后QuanX自动把落地机流量打包通过中转机发出。

lan852 commented 11 months ago

请问如何为单节点设置前置代理呢? 我有一个SOCK5节点,但是因为在国内被墙,无法直接使用。能否实现在这个SOCKS5节点前设置一个前置代理?这个功能小飞机就有,很方便,但是不知quanx能否设置

Freyja04 commented 3 months ago

@

QuanX没有办法实现链式代理吗?

解析器

2022-04-21

新增参数 relay,将 节点订阅 内节点 ip/域名,批量自动转换成 实现QuanX内繁琐代理链的 分流规则,以简化实现【代理链】的步骤

示范,

1⃣️ 将含有ServerA节点订阅添加到分流内: https://server.sub.com#relay=ServerB 则将转换为以下分流:

ip-cidr, ServerA's IP Range, ServerB host-suffix, ServerA's host, ServerB

2⃣️ 在另外分流中通过参数 via=0,如 https://filter.sub.com#via=0 策略偏好 serverA,实现

host-suffix, example.com, ServerA, via-interface=%TUN%

3⃣️ 从而当访问 example.com 时,将会实现ServerA到ServerB的代理链(示范图片内以github.com 为例)

大佬,有订阅分流的转换可以实现代理链,但是 final 分流怎么代理链,我写了

final ,落地机, via-interface=%TUN%

结果报错了


更新 final ,落地机, via-interface=%TUN% 可以正常使用,可能是我第一次英文逗号输入成中文逗号了


另外你这段描述 中serverA其实是落地机,ServerB是中专机

所以代理链是ServerB-serverA,这样是clash中代理链的定义,当时我晕了好久。策略里边分流关联到落地机,然后QuanX自动把落地机流量打包通过中转机发出。

请问能否将你的链式配置脱敏发来看看,重点体现哪是前置哪是落地,以及对应的操作,我自己试了好久都不行,谢谢🙏

Leefurmore commented 3 months ago

@

QuanX没有办法实现链式代理吗?

解析器

2022-04-21

新增参数 relay,将 节点订阅 内节点 ip/域名,批量自动转换成 实现QuanX内繁琐代理链的 分流规则,以简化实现【代理链】的步骤

示范,

1⃣️ 将含有ServerA节点订阅添加到分流内: https://server.sub.com#relay=ServerB 则将转换为以下分流:

ip-cidr, ServerA's IP Range, ServerB host-suffix, ServerA's host, ServerB

2⃣️ 在另外分流中通过参数 via=0,如 https://filter.sub.com#via=0 策略偏好 serverA,实现

host-suffix, example.com, ServerA, via-interface=%TUN%

3⃣️ 从而当访问 example.com 时,将会实现ServerA到ServerB的代理链(示范图片内以github.com 为例)

大佬,有订阅分流的转换可以实现代理链,但是 final 分流怎么代理链,我写了 final ,落地机, via-interface=%TUN% 结果报错了

更新 final ,落地机, via-interface=%TUN% 可以正常使用,可能是我第一次英文逗号输入成中文逗号了

另外你这段描述 中serverA其实是落地机,ServerB是中专机 所以代理链是ServerB-serverA,这样是clash中代理链的定义,当时我晕了好久。策略里边分流关联到落地机,然后QuanX自动把落地机流量打包通过中转机发出。

请问能否将你的链式配置脱敏发来看看,重点体现哪是前置哪是落地,以及对应的操作,我自己试了好久都不行,谢谢🙏

[policy] static=🌐 Policies, 🇭🇰 Group - HK, 🏳️‍🌈 Group - TW, 🇸🇬 Group - SG, 🇺🇸 Group - US, 🇯🇵 Group - JP, 🇰🇷 Group - KR, 🏳️ Group - ELSE, img-url=globe.system [filter_remote] https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/QuantumultX/Google/Google.list#via=%TUN%, tag=blackmatrix7(Google, Basic), force-policy=🌐 Policies, update-interval=86400, opt-parser=true, enabled=true [server_local] socks5=123.123.123.123:123, username=123, password=123, fast-open=true, udp-relay=true, tag=🇭🇰 ip2w - HK [filter_local] IP-CIDR,123.123.123.123/32,🌐 Policies

太久没用了,刚翻了一下以前用过的配置文件,我记得是这4个地方,当初也是搞了好多天,现在已经不太记得了。这样配置后,访问谷歌的来流量是先通过🌐 Policies策略组定义的节点转到socks定义的节点。前置就是🌐 Policies定义的节点,落地就是socks5定义的节点,剩下的只能靠你自己试了。

Freyja04 commented 3 months ago

我试通了,我表达不好整个过程,但我觉得你给的示例里,远程分流即google.list应该是强制走server local里的socks5节点,而不是作为前置代理的policies,不然按照你的示例,不管是远程分流,还是本地代理,最终出口都是policies里的代理节点,其他没什么问题,然后就是解析器示例过程没问题,但就像你指出的,实际serverA是落地鸡,serverB才是前置代理,代理链是本地 serverB serverA 目标网站

Leefurmore commented 3 months ago

我试通了,我表达不好整个过程,但我觉得你给的示例里,远程分流即google.list应该是强制走server local里的socks5节点,而不是作为前置代理的policies,不然按照你的示例,不管是远程分流,还是本地代理,最终出口都是policies里的代理节点,其他没什么问题,然后就是解析器示例过程没问题,但就像你指出的,实际serverA是落地鸡,serverB才是前置代理,代理链是本地 serverB serverA 目标网站

你的说法不太对,因为,当初我的socks5节点是被墙的,无法直接走。所以,肯定是通过前置走的,socks5是落地。因为,我当初的前置是无法解锁奈飞和迪斯尼的,通过查询落地ip也能确认这一点。

Freyja04 commented 3 months ago

我试通了,我表达不好整个过程,但我觉得你给的示例里,远程分流即google.list应该是强制走server local里的socks5节点,而不是作为前置代理的policies,不然按照你的示例,不管是远程分流,还是本地代理,最终出口都是policies里的代理节点,其他没什么问题,然后就是解析器示例过程没问题,但就像你指出的,实际serverA是落地鸡,serverB才是前置代理,代理链是本地 serverB serverA 目标网站

你的说法不太对,因为,当初我的socks5节点是被墙的,无法直接走。所以,肯定是通过前置走的,socks5是落地。因为,我当初的前置是无法解锁奈飞和迪斯尼的,通过查询落地ip也能确认这一点。

我按照你的配置,访问google的策略走向是,本地-前置-final-google,最后google网页显示地区是加拿大,恰好我的fianl策略组使用的节点是查询ip入口是加拿大,落地显示美国。而按照我的配置,访问google是本地向巴西鸡发起请求,然后这个请求走的是relay策略组的前置鸡,最后google显示的落地是巴西。我又将前置鸡换成了一个ipv6的小鸡,无法访问google,这与我本地没有ipv6的环境吻合。所以我觉得我的配置应该是对的,但我无法解释你的奈飞解锁,可能与你的final策略组有关?

Leefurmore commented 3 months ago

emm,这个确实比较费解,我还专门又重新试了一下,我自己是没有问题的,我也没有其他建议,只能自己慢慢折腾了。

leyle commented 3 months ago

为啥不支持通过界面去配置呢,我看了几个其他的都可以支持,这个搞的好复杂。

leyle commented 3 months ago

🐴的,折腾了一大堆, 终于走通了。

step by step 教程来了。 注意,这里是在电脑版 quanx 上设置的

# 配置步骤大概如下

# 1. 设置自己的 vps 代理,一般使用 shadowsocks 即可
# 在 vps 配置好 ss 后,在 quanx 界面中添加这个 ss 服务,比如我取名 hkss

# 2. 修改 quanx 的配置,直接在 [general] 模块下添加如下内容
resource_parser_url = https://raw.githubusercontent.com/KOP-XIAO/QuantumultX/master/Scripts/resource-parser.js

# 上面是解析器,目的是为了后续解析要被代理的网站的规则,帮助那些规则添加到配置中,目的是为了快速/批量添加 via=%TUN% 这个值

# 3. 在 quanx 界面的 Proxy 中,增加一个服务器分组(目的是作为中转服务器),比如我,选择了机场的 hk 节点作为我将来的中转节点,我给取了个名字 PHongKong

# 4. 修改 quanx 配置文件,在 [filter_local] 下面,添加中转规则
# 中转地逻辑是:为了访问我们自己的 vps,通过 机场的 xxx 服务器进行代理,这里 xxx 服务器我选择的是上一步配置的分组,方便后续从界面上切换中转服务器
ip-cidr, 1.2.3.4/24, PHongKong

# 上面的 1.2.3.4/24 就是我们自己的 vps 的 ip,PHongKong 是我给机场的代理进行的筛选后那批机场代理服务器的名字(也就是 3 中的设置)
# 如果有多个 vps 需要被中转,那就添加多个 ip-cidr 配置即可

# 5. 选择哪些网站需要走中转代理
# 这里需要进行两个配置
# 5.1 在 quanx 的界面的 Proxy 中,添加一个新的分组(也就是它又叫 policy),我取名叫 PFinalHK,本质是服务器分组,比如我有个 hk 的 vps,我就取名 PFinalHK,然后仅添加我 1 中配置的 ss 到这里。这一步的目的是为了在 filter rule 里面指定 force proxy 时,可以选择这个服务器(因为 quanx 无法直接指定服务器,必须是服务器分组)

# 5.2 在 quanx 的界面的 Filter Rule 选项中,通过 Resource Lists 添加一个新的要被代理的网站的规则订阅及相关配置。
# 这里修改的 tab 页面名字是  Resource-Filter
# 很多机场都会屏蔽 22 端口,但是拉取 github 代码用 ssh 比较方便,所以,我这里以 github 为例来说明如何配置一个中转规则
# 首先 Tag 我取名 RGithub
# Resource URL 的原始链接是 https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/QuantumultX/GitHub/GitHub.list
# 我们需要在后面添加上 via=%TUN% 这段内容
# 所以,实际的 url 是 https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/QuantumultX/GitHub/GitHub.list#via=%TUN%
# Fource Policy 选择打开,选择的规则是 5.1 中说的那个我自己的 vps 的服务器分组名 PFinalHK,这里要注意不要和机场的分组名,也就是 4 中说的搞混了
# 然后打开 Resource Parser 开关
# 保存后,会回到上一层的 Filter Resources 页面,点击 update 刷新一下。

# 6. 关闭、重新打开 quanx,打开自己的目标网站,比如 github,看看是否生效。
# 生效的判断,1,请求历史会记录一个 VIA-INTERFACE=%TUN% 的记录;2,通过自己的 vps 的 ss 请求历史检查是否生效。

# 7. 上面说的是通过订阅希望被中转的网站的 list 的方式来添加中转规则的,那么,如果临时有一个指定的网站需要被代理,该怎么搞呢?
# 有点蛋疼,那就是,修改 quanx 的配置文件,在 [filter_local] 下面添加一条规则,比如
host-keyword, github, hkss, via-interface=%TUN%
Freyja04 commented 3 months ago

🐴的,折腾了一大堆,

终于走通了。

step by step 教程来了。

注意,这里是在电脑版 quanx 上设置的


# 配置步骤大概如下

# 1. 设置自己的 vps 代理,一般使用 shadowsocks 即可

# 在 vps 配置好 ss 后,在 quanx 界面中添加这个 ss 服务,比如我取名 hkss

# 2. 修改 quanx 的配置,直接在 [general] 模块下添加如下内容

resource_parser_url = https://raw.githubusercontent.com/KOP-XIAO/QuantumultX/master/Scripts/resource-parser.js

# 上面是解析器,目的是为了后续解析要被代理的网站的规则,帮助那些规则添加到配置中,目的是为了快速/批量添加 via=%TUN% 这个值

# 3. 在 quanx 界面的 Proxy 中,增加一个服务器分组(目的是作为中转服务器),比如我,选择了机场的 hk 节点作为我将来的中转节点,我给取了个名字 PHongKong

# 4. 修改 quanx 配置文件,在 [filter_local] 下面,添加中转规则

# 中转地逻辑是:为了访问我们自己的 vps,通过 机场的 xxx 服务器进行代理,这里 xxx 服务器我选择的是上一步配置的分组,方便后续从界面上切换中转服务器

ip-cidr, 1.2.3.4/24, PHongKong

# 上面的 1.2.3.4/24 就是我们自己的 vps 的 ip,PHongKong 是我给机场的代理进行的筛选后那批机场代理服务器的名字(也就是 3 中的设置)

# 如果有多个 vps 需要被中转,那就添加多个 ip-cidr 配置即可

# 5. 选择哪些网站需要走中转代理

# 这里需要进行两个配置

# 5.1 在 quanx 的界面的 Proxy 中,添加一个新的分组(也就是它又叫 policy),我取名叫 PFinalHK,本质是服务器分组,比如我有个 hk 的 vps,我就取名 PFinalHK,然后仅添加我 1 中配置的 ss 到这里。这一步的目的是为了在 filter rule 里面指定 force proxy 时,可以选择这个服务器(因为 quanx 无法直接指定服务器,必须是服务器分组)

# 5.2 在 quanx 的界面的 Filter Rule 选项中,通过 Resource Lists 添加一个新的要被代理的网站的规则订阅及相关配置。

# 这里修改的 tab 页面名字是  Resource-Filter

# 很多机场都会屏蔽 22 端口,但是拉取 github 代码用 ssh 比较方便,所以,我这里以 github 为例来说明如何配置一个中转规则

# 首先 Tag 我取名 RGithub

# Resource URL 的原始链接是 https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/QuantumultX/GitHub/GitHub.list

# 我们需要在后面添加上 via=%TUN% 这段内容

# 所以,实际的 url 是 https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/QuantumultX/GitHub/GitHub.list#via=%TUN%

# Fource Policy 选择打开,选择的规则是 5.1 中说的那个我自己的 vps 的服务器分组名 PFinalHK,这里要注意不要和机场的分组名,也就是 4 中说的搞混了

# 然后打开 Resource Parser 开关

# 保存后,会回到上一层的 Filter Resources 页面,点击 update 刷新一下。

# 6. 关闭、重新打开 quanx,打开自己的目标网站,比如 github,看看是否生效。

# 生效的判断,1,请求历史会记录一个 VIA-INTERFACE=%TUN% 的记录;2,通过自己的 vps 的 ss 请求历史检查是否生效。

# 7. 上面说的是通过订阅希望被中转的网站的 list 的方式来添加中转规则的,那么,如果临时有一个指定的网站需要被代理,该怎么搞呢?

# 有点蛋疼,那就是,修改 quanx 的配置文件,在 [filter_local] 下面添加一条规则,比如

host-keyword, github, hkss, via-interface=%TUN%

你的配置跟我是一致的,简单说就是,访问的目标网站example.com走落地节点/策略组,加上via=%TUN%参数,落地节点/策略组走前置节点/策略组。目标网站和代理节点都是远程资源的话,以上两个操作都可以用解析器实现,本地资源的话需要自己单独维护。但是我遇到一个问题,就是当落地鸡是ipv6 only的vps时,会出现 no route to host的情况,不知道你有没有遇到,是怎么解决的

Leefurmore commented 3 months ago

就因为过于麻烦和繁琐,已经废弃一年多了,我没试过ipv6 only的vps。不过,我觉得可以通过CF开启小云朵、用workers反代地址等方法实现吧,只能自己研究这么方面知识了。

leyle commented 3 months ago

就因为过于麻烦和繁琐,已经废弃一年多了,我没试过ipv6 only的vps。不过,我觉得可以通过CF开启小云朵、用workers反代地址等方法实现吧,只能自己研究这么方面知识了。

折腾这个整了大半天,工作都耽误了。 后面想到这个时间相对我的收入来说,太划不来了。转手团购了个 surge。 现在 qx、loon、surge 都有了。 电脑上用,目前来看,最好用的还是 surge,最难用的是 loon,qx 介于两者之间。

senzige300 commented 2 weeks ago

[policy] ;Auto 自动选择 url-latency-benchmark=AUTO, resource-tag-regex=^h|^p|^w, server-tag-regex=JP|SG|新加坡|IPLC|香港|HK|日本|美国|美国,check-interval=86400,tolerance=0,alive-checking=true,img-url= https://raw.githubusercontent.com/Orz-3/mini/master/Color/Roundrobin.png

;翻墙用的 static=Global, AUTO, img-url= https://raw.githubusercontent.com/Koolson/Qure/master/IconSet/Color/Google.png

;自己的服务器,落地用的。 ;设置-->分流-->需要翻墙的规则有两个位置需要设置。1.资源路径最后加上#via=0 2.策略优先打开下面使用的这个链。 static=链、serverB、img-url= https://raw.githubusercontent.com/Semporia/Hand-Painted-icon/master/Universal/RoundRobin.png

[filter_local] ;将落地ip加到需要翻墙的规则。 ip-cidr, ServerB ip /32, Global

解析用的resource_parser_url= https://cdn.jsdelivr.net/gh/KOP-XIAO/QuantumultX@master/Scripts/resource-parser.js

大佬大佬,我一直不明白这个serverB是啥啊,而且这个policy啥时候用啊?

senzige300 commented 2 weeks ago

有啥用啊,整了半天,根本不走代理链,浪费时间。。。。。。。。。。。。。。

senzige300 commented 2 weeks ago

🐴的,折腾了一大堆, 终于走通了。

step by step 教程来了。 注意,这里是在电脑版 quanx 上设置的

# 配置步骤大概如下

# 1. 设置自己的 vps 代理,一般使用 shadowsocks 即可
# 在 vps 配置好 ss 后,在 quanx 界面中添加这个 ss 服务,比如我取名 hkss

# 2. 修改 quanx 的配置,直接在 [general] 模块下添加如下内容
resource_parser_url = https://raw.githubusercontent.com/KOP-XIAO/QuantumultX/master/Scripts/resource-parser.js

# 上面是解析器,目的是为了后续解析要被代理的网站的规则,帮助那些规则添加到配置中,目的是为了快速/批量添加 via=%TUN% 这个值

# 3. 在 quanx 界面的 Proxy 中,增加一个服务器分组(目的是作为中转服务器),比如我,选择了机场的 hk 节点作为我将来的中转节点,我给取了个名字 PHongKong

# 4. 修改 quanx 配置文件,在 [filter_local] 下面,添加中转规则
# 中转地逻辑是:为了访问我们自己的 vps,通过 机场的 xxx 服务器进行代理,这里 xxx 服务器我选择的是上一步配置的分组,方便后续从界面上切换中转服务器
ip-cidr, 1.2.3.4/24, PHongKong

# 上面的 1.2.3.4/24 就是我们自己的 vps 的 ip,PHongKong 是我给机场的代理进行的筛选后那批机场代理服务器的名字(也就是 3 中的设置)
# 如果有多个 vps 需要被中转,那就添加多个 ip-cidr 配置即可

# 5. 选择哪些网站需要走中转代理
# 这里需要进行两个配置
# 5.1 在 quanx 的界面的 Proxy 中,添加一个新的分组(也就是它又叫 policy),我取名叫 PFinalHK,本质是服务器分组,比如我有个 hk 的 vps,我就取名 PFinalHK,然后仅添加我 1 中配置的 ss 到这里。这一步的目的是为了在 filter rule 里面指定 force proxy 时,可以选择这个服务器(因为 quanx 无法直接指定服务器,必须是服务器分组)

# 5.2 在 quanx 的界面的 Filter Rule 选项中,通过 Resource Lists 添加一个新的要被代理的网站的规则订阅及相关配置。
# 这里修改的 tab 页面名字是  Resource-Filter
# 很多机场都会屏蔽 22 端口,但是拉取 github 代码用 ssh 比较方便,所以,我这里以 github 为例来说明如何配置一个中转规则
# 首先 Tag 我取名 RGithub
# Resource URL 的原始链接是 https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/QuantumultX/GitHub/GitHub.list
# 我们需要在后面添加上 via=%TUN% 这段内容
# 所以,实际的 url 是 https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/QuantumultX/GitHub/GitHub.list#via=%TUN%
# Fource Policy 选择打开,选择的规则是 5.1 中说的那个我自己的 vps 的服务器分组名 PFinalHK,这里要注意不要和机场的分组名,也就是 4 中说的搞混了
# 然后打开 Resource Parser 开关
# 保存后,会回到上一层的 Filter Resources 页面,点击 update 刷新一下。

# 6. 关闭、重新打开 quanx,打开自己的目标网站,比如 github,看看是否生效。
# 生效的判断,1,请求历史会记录一个 VIA-INTERFACE=%TUN% 的记录;2,通过自己的 vps 的 ss 请求历史检查是否生效。

# 7. 上面说的是通过订阅希望被中转的网站的 list 的方式来添加中转规则的,那么,如果临时有一个指定的网站需要被代理,该怎么搞呢?
# 有点蛋疼,那就是,修改 quanx 的配置文件,在 [filter_local] 下面添加一条规则,比如
host-keyword, github, hkss, via-interface=%TUN%

我整了半天,死活不走代理链,真恶心啊,还不如 clash 呢。直接整个界面的不就好了么。文档也不配俩图片,操蛋

gugu33 commented 1 week ago

代理链的配置是有点绕,我总结下

原代理路径: 本机(tun) -> ProxyA -> Target 你要的代理链路径: 本机(tun)-> ProxyB -> ProxyA -> Target

一句话原理:使发往 ProxyA 的请求 再回到TUN 接口(通过给分流添加参数 via-interface=%TUN%),经再次规则匹配后发往 ProxyB,实现经 B 发往 A,A 发往 Target

解析器参数:via=0 对应 via-interface=%TUN%

示范:

1️⃣ ProxyA->Target

单条分流

host-suffix, target.com, ProxyA, via-interface=%TUN%

订阅分流,由解析器批量追加 via-interface 参数

https://url/target.list*#via=0, tag=Google, force-policy=ProxyA, update-interval=86400, opt-parser=true*, inserted-resource=true, enabled=true

2️⃣ ProxyB->ProxyA

ip-cidr, ProxyA's IPrange, ProxyB host-suffix, ProxyA's Domain, ProxyB

ProxyA节点订阅 批量添加分流

https://url.to/ProxyA.sub*#relay=ProxyB, tag=为需要代理链的节点批量添加中转分流, update-interval=86400, opt-parser=true*, inserted-resource=true, enabled=true

【技巧1】: ProxyA 是出口,ProxyB 是 中继或中转 新建两个 static类型 策略组 ,用的时候手动在组里面任选节点 ChainOut 内含ProxyA们 (如:static=ChainOut, ProxyA, 🇺🇲 美国, img-url= https://raw.githubusercontent.com/erdongchanyo/icon/main/Policy-Filter/Direct.png ) ChainRelay 内含ProxyB们 (如:static=ChainRelay, ProxyB, 🇭🇰 香港, proxy, direct, img-url= https://raw.githubusercontent.com/erdongchanyo/icon/main/Policy-Filter/Direct.png )

1️⃣ 为斯巴达网页 配个代理链访问分流

host-keyword, spartanhost, ChainOut, via-interface=%TUN%

2️⃣ 为出口机们配置中继分流

ip-cidr, 124.220.134.73/32, ChainRelay https://url.to/sub*#relay=ChainRelay, ...*

【技巧2】: 如果你有建个策略组叫 FINAL,把 ProxyB 放入

需要代理链时,让 FINAL 选中 ProxyB,省略2️⃣,由兜底分流规则去处理 final, FINAL

senzige300 @.***> 于2024年8月22日周四 00:50写道:

🐴的,折腾了一大堆, 终于走通了。

step by step 教程来了。 注意,这里是在电脑版 quanx 上设置的

配置步骤大概如下

1. 设置自己的 vps 代理,一般使用 shadowsocks 即可# 在 vps 配置好 ss 后,在 quanx 界面中添加这个 ss 服务,比如我取名 hkss

2. 修改 quanx 的配置,直接在 [general] 模块下添加如下内容

resource_parser_url = https://raw.githubusercontent.com/KOP-XIAO/QuantumultX/master/Scripts/resource-parser.js

上面是解析器,目的是为了后续解析要被代理的网站的规则,帮助那些规则添加到配置中,目的是为了快速/批量添加 via=%TUN% 这个值

3. 在 quanx 界面的 Proxy 中,增加一个服务器分组(目的是作为中转服务器),比如我,选择了机场的 hk 节点作为我将来的中转节点,我给取了个名字 PHongKong

4. 修改 quanx 配置文件,在 [filter_local] 下面,添加中转规则# 中转地逻辑是:为了访问我们自己的 vps,通过 机场的 xxx 服务器进行代理,这里 xxx 服务器我选择的是上一步配置的分组,方便后续从界面上切换中转服务器

ip-cidr, 1.2.3.4/24, PHongKong

上面的 1.2.3.4/24 就是我们自己的 vps 的 ip,PHongKong 是我给机场的代理进行的筛选后那批机场代理服务器的名字(也就是 3 中的设置)# 如果有多个 vps 需要被中转,那就添加多个 ip-cidr 配置即可

5. 选择哪些网站需要走中转代理# 这里需要进行两个配置# 5.1 在 quanx 的界面的 Proxy 中,添加一个新的分组(也就是它又叫 policy),我取名叫 PFinalHK,本质是服务器分组,比如我有个 hk 的 vps,我就取名 PFinalHK,然后仅添加我 1 中配置的 ss 到这里。这一步的目的是为了在 filter rule 里面指定 force proxy 时,可以选择这个服务器(因为 quanx 无法直接指定服务器,必须是服务器分组)

5.2 在 quanx 的界面的 Filter Rule 选项中,通过 Resource Lists 添加一个新的要被代理的网站的规则订阅及相关配置。# 这里修改的 tab 页面名字是 Resource-Filter# 很多机场都会屏蔽 22 端口,但是拉取 github 代码用 ssh 比较方便,所以,我这里以 github 为例来说明如何配置一个中转规则# 首先 Tag 我取名 RGithub# Resource URL 的原始链接是 https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/QuantumultX/GitHub/GitHub.list# 我们需要在后面添加上 via=%TUN% 这段内容# 所以,实际的 url 是 https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/QuantumultX/GitHub/GitHub.list#via=%TUN%# Fource Policy 选择打开,选择的规则是 5.1 中说的那个我自己的 vps 的服务器分组名 PFinalHK,这里要注意不要和机场的分组名,也就是 4 中说的搞混了# 然后打开 Resource Parser 开关# 保存后,会回到上一层的 Filter Resources 页面,点击 update 刷新一下。

6. 关闭、重新打开 quanx,打开自己的目标网站,比如 github,看看是否生效。# 生效的判断,1,请求历史会记录一个 VIA-INTERFACE=%TUN% 的记录;2,通过自己的 vps 的 ss 请求历史检查是否生效。

7. 上面说的是通过订阅希望被中转的网站的 list 的方式来添加中转规则的,那么,如果临时有一个指定的网站需要被代理,该怎么搞呢?# 有点蛋疼,那就是,修改 quanx 的配置文件,在 [filter_local] 下面添加一条规则,比如

host-keyword, github, hkss, via-interface=%TUN%

我整了半天,死活不走代理链,真恶心啊,还不如 clash 呢。直接整个界面的不就好了么。文档也不配俩图片,操蛋

— Reply to this email directly, view it on GitHub https://github.com/crossutility/Quantumult-X/issues/100#issuecomment-2302542718, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABO2Q4PKQGV5QEGL76R5F3TZSTANVAVCNFSM5NDTWZM2U5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TEMZQGI2TIMRXGE4A . You are receiving this because you commented.Message ID: @.***>

--

Just like the wind I've always been Driftins' high up in a skay that never ends Through thick and thin.... -RECORD- 从背后拥抱着你 用我故乡的话 对你轻声倾吐 有一点心痛的罗曼蒂克 独行人 永远的火炎 我的爱。