Loon:新手从入门到卸载的教程--名词篇

Loon:新手从入门到卸载的教程--名词篇
LD2J 依旧是开篇的一些废话(艹),因本教程面向的是刚刚购买APP或刚刚了解ios代理软件的新手小白,故本文将事无巨细(无比琐碎)为小白们传授相关知识。
侧栏会有跳转按钮,方便大家对应查找。
Loon有关的名词及其解释
为什么会要先讲这个东西?因为是写给新手看的!
1. Loon
- Loon是一款iOS上强大的网络工具,支持基于域名、IP、URL,SSID规则进行分流,强大的策略组组合可以满足任何的网络分流需求;Loon可以抓取、保存、修改HTTP/HTTPs流量,配合Javascript可以处理任何复杂的需求。
2. 节点
- 节点是指用于转发网络请求的服务器或中继点,可以通过购买服务器来搭建或购买机场服务来获得。注意:节点只负责转发流量由于众所周知(GFW)的原因,如果想要访问一些国外的网站,就需要一个中继点来转发你的请求以达到你访问外网的目的。注意Loon不会为你提供节点,你需要自行获取。
3. 机场
- 机场,一个为用户提供节点资源,帮助用户达到科学上网、加速访问目的的服务商。
4. 订阅
- 机场订阅内往往包含了多个节点,其中囊括了n个地区的多个节点,具体情况视机场服务说明。
5. 规则
- 规则是决定使用哪个节点进行转发你的流量的必要条件。大家应该都见过小孩子玩的一种益智玩具–将不同形状的积木穿过不同形状的洞,大家可以把规则当做那个限制必须符合形状的积木才能通过的洞。Loon支持的规则类型如下(后续会详细介绍):
1
2
3
4
5
6
7
8域名类规则
IP类规则
HTTP类规则
端口类规则
协议类规则
逻辑规则
Final
订阅规则
6. 域名类规则
6.1 DOMAIN
匹配整个域名
1
DOMAIN,google.com,proxy
6.2 DOMAIN-SUFFIX
匹配域名后缀,例如apple.com可以匹配icloud.apple.com,www.apple.com,但是不能够匹配app-apple.com
1
DOMAIN-SUFFIX,apple.com,proxy
6.3 DOMAIN-KEYWORD
域名关键词匹配,例如下面,将匹配到所有包含apple的域名
1
DOMAIN-KEYWORD,apple,proxy
7. IP类规则
7.1 IPV4
匹配IPV4类型的规则,IP后的/32表示子网掩码,用于确定IP末位的范围,no-resolve表示无需DNS解析。
1
IP-CIDR,118.89.204.198/32,no-resolve
7.2 IPV6
同理
1
IP-CIDR6,2402:4e00:1200:ed00:0:9089:6dac:96b6/128
7.3 GEOIP
根据mmdb查询的IP国家地区进行匹配。注意:请不要将关于cn的GEOIP规则放入本地规则中,详见规则匹配优先级
1
geoip,cn,DIRECT
7.4 IP-ASN
根据IP服务商进行匹配。注意:由于ASN数据库和ASN规则相较于GEOIP数据库和IP-CIDR规则精细度较差,若直接采用ASN规则,其效果不如GEOIP和IP-CIDR准确,所以不推荐优先使用。
1
IP-ASN,4134,DIRECT,no-resolve
8. HTTP类规则
HTTP类型的规则只会对HTTP、HTTPS类型的请求进行匹配
8.1 URL-REGEX
根据提供的正则表达式对请求的url进行匹配
1
URL-REGEX,^http://google\.com,PROXY
8.2 USER-AGENT
根据请求header中的user-agent进行匹配,支持通配符
1
USER-AGENT,Apple*,DIRECT
9. 端口规则
根据请求的源端口或者目标端口进行匹配(Loon 3.1.7+)。
- 表示特定的某个端口,如DEST-PORT,443,DIRECT
- 表示端口闭区间,如DEST-PORT,80-443,DIRECT
- 使用>, <, <=, >= 表示一个无穷区间,如DEST-PORT,>=443,DIRECT
9.1 SRC-PORT
1 | SRC-PORT,443,DIRECT |
9.2 DEST-PORT
1 | DEST-PORT,443,DIRECT |
10. 协议类规则
根据请求的协议类型进行匹配(3.1.7+),目前支持HTTP/HTTPS/TCP/QUIC/STUN/UDP。
10.1 PROTOCOL
1 | PROTOCOL,STUN,REJECT |
11. 逻辑规则
使用或(OR)、与(AND)、非(NOT)逻辑将多个规则合并成一个规则(3.1.7+)。
如果逻辑规则里面有域名有IP,尽量把IP的子规则放在后面,防止不必要的DNS查询。
11.1 AND
多个子规则同时满足时才会匹配。
写法:AND,((子规则),(子规则)),PolicyName PolicyName为策略名,详见
1
AND,((DOMAIN-SUFFIX,axample),(DEST-PORT,443),(GEOIP,CN)),DIRECT
11.2 OR
子规则满足一个时匹配。
写法:OR,((子规则),(子规则)),PolicyName PolicyName为策略名,详见
1
OR,((DOMAIN-SUFFIX,axample),(DEST-PORT,443),(GEOIP,CN,no-resolve)),DIRECT
11.3 NOT
子规则不满足时匹配,只有有一个子规则。
写法:NOT,((子规则)),PolicyName PolicyName为策略名,详见
1
NOT,((AND,((DOMAIN-SUFFIX,axample),(DEST-PORT,443),(GEOIP,CN)))),DIRECT
12. Final
Final表示最后、兜底,即在没有匹配到配置的规则后,使用Final指定的策略。
1
final,DIRECT
13. 订阅规则
订阅规则是一系列规则的集合,只要是满足Loon类型的规则都可以放入规则集中。
注意:这只是示例,切勿添加
1
https://raw.githubusercontent.com/Loon0x00/LoonExampleConfig/master/Rule/ExampleRule.list, PROXY
14. 规则匹配优先级
域名和IP类型的规则有优先级,其他所有规则会按照配置文件中的顺序来决定优先级,即:排在前面的优先级高于排在后面的;同时本地规则 > 插件中的规则 > 订阅规则,未匹配到任何规则后会使用Final。
15. 策略
在Loon中策略可以是 a)内置策略 b)单独的一个节点 c) 一个由多个节点组成的策略(组)
Loon的流量走向机制:
拿到手机的请求 -> 匹配规则 -> 查询规则指定的策略 -> 根据策略获取到相应的节点
即节点负责转发流量,规则可以指向策略,策略决定使用的节点/内置策略
15.1 DIRECT(直连)
流量不经过任何代理服务器,直接发送到目的地,使用大写的DIRECT表示。
1
DOMAIN,apple.com,DIRECT
15.2 REJECT(拒绝)
顾名思义就是不将流量转发出去到任何服务器,可以理解为将家里的门锁上,你就出不去了。
Loon提供以下REJECT(拒绝)策略
1
2
3
4
5REJECT (返回404和空响应体)
REJECT-IMG (返回200和一个 1px GIF 的响应体)
REJECT-DICT (返回200和内容为空的 JSON 的响应体)
EJECT-ARRY (返回200和一个内容为空的 JSON 数组)
REJECT-DROP (拒绝并丢弃请求,且不会返回任何响应。因为部分程序有着十分暴力的重试逻辑,连接失败后会立刻进行重试,导致请求风暴)
16. 策略组
策略组是一系列策略、策略组的集合,手动或自动的决定使用策略组中的哪一个策略,可以在配置文件中**[Proxy Group]**模块下添加或更改,策略组是可以相互嵌套的。
Loon提供的策略组类型如下:
1
2
3
4select 策略组
url-test 策略组
fallback
load-balance
16.1 select 策略组
该类型的测录组是手动类型,需要你在策略页面进行手动选择要使用的策略。
16.2 url-test 策略组
根据提供的url,每隔一段时间对该策略组下的所有节点进行测速,选择最快的一个节点使用。
可在UI/配置文件中配置一下参数:
1
2
3url:测速的url,loon会向该url发起header请求
interval:测速间隔时间,单位秒
tolerance:容差,如果当前测速后的最优节点和之前最优节点的测速相差小于tolerance,将不会进行节点切换,单位毫秒
16.3 fallback
根据提供的url,每隔一段时间对该策略组下的所有节点进行测速,选择第一个可用的节点使用。即哪个节点相应最快就使用哪个节点(相应最快不代表该节点最优)。
可在UI/配置文件中配置一下参数:
1
2
3url:测速的url,loon会向该url发起header请求
interval:测速间隔时间,单位秒
max-timeout:最大超时时间,如果一个节点测速超过了这个值,就将该节点认作为不可用节点,不会进行排序,单位毫秒
16.4 load-balance
负载均衡,根据所选的负载均衡算法,自动选择子策略。
可在UI/配置文件中配置一下参数:
1
2
3url:测速的url,loon会向该url发起header请求
interval:测速间隔时间,单位秒
max-timeout:最大超时时间,如果一个节点测速超过了这个值,就将该节点认作为不可用节点,不会进行排序,单位毫秒
可选负载均衡算法(algorithm):
1
2
3Random:随机选择子策略
PCC:基于Random,不同于Random,PCC会让相同主机名的请求锁定同一节点
Round-Robin:轮询选择子策略

