Support Clash Fake IP Filter Ruleset

This commit is contained in:
SukkaW
2024-10-16 14:36:59 +08:00
parent 973d2ce3d1
commit a5a3e061f6
6 changed files with 159 additions and 108 deletions

View File

@@ -2,6 +2,8 @@ export interface DNSMapping {
hosts: {
[domain: string]: string[]
},
/** which also disallows wildcard */
realip: boolean,
dns: string,
/**
* domain[0]
@@ -13,10 +15,11 @@ export interface DNSMapping {
domains: string[]
}
export const DIRECTS = {
export const DIRECTS: Record<string, DNSMapping> = {
HOTSPOT_CAPTIVE_PORTAL: {
dns: 'system',
hosts: {},
realip: false,
domains: [
'securelogin.com.cn',
'$captive.apple.com',
@@ -26,6 +29,7 @@ export const DIRECTS = {
ROUTER: {
dns: 'system',
hosts: {},
realip: false,
domains: [
'+home',
// 'zte.home', // ZTE CPE
@@ -82,6 +86,7 @@ export const DIRECTS = {
SYSTEM: {
dns: 'system',
hosts: {},
realip: true,
domains: [
'+m2m',
// TailScale Magic DNS
@@ -94,17 +99,17 @@ export const DIRECTS = {
'+bogon',
'+_msdcs'
]
}
} satisfies Record<string, DNSMapping>;
export const LANS = {
},
LAN: {
dns: 'system',
hosts: {},
hosts: {
localhost: ['127.0.0.1']
},
realip: true,
domains: [
'+lan',
// 'amplifi.lan',
'$localhost',
// '$localhost',
'localdomain',
'home.arpa',
// AS112
@@ -113,21 +118,21 @@ export const LANS = {
'17.172.in-addr.arpa',
'18.172.in-addr.arpa',
'19.172.in-addr.arpa',
'2?.172.in-addr.arpa',
// '20.172.in-addr.arpa',
// '21.172.in-addr.arpa',
// '22.172.in-addr.arpa',
// '23.172.in-addr.arpa',
// '24.172.in-addr.arpa',
// '25.172.in-addr.arpa',
// '26.172.in-addr.arpa',
// '27.172.in-addr.arpa',
// '28.172.in-addr.arpa',
// '29.172.in-addr.arpa',
// '2?.172.in-addr.arpa',
'20.172.in-addr.arpa',
'21.172.in-addr.arpa',
'22.172.in-addr.arpa',
'23.172.in-addr.arpa',
'24.172.in-addr.arpa',
'25.172.in-addr.arpa',
'26.172.in-addr.arpa',
'27.172.in-addr.arpa',
'28.172.in-addr.arpa',
'29.172.in-addr.arpa',
'30.172.in-addr.arpa',
'31.172.in-addr.arpa',
'168.192.in-addr.arpa',
'254.169.in-addr.arpa'
]
}
} satisfies Record<string, DNSMapping>;
};

View File

@@ -1,11 +1,12 @@
import type { DNSMapping } from './direct';
export const DOMESTICS = {
export const DOMESTICS: Record<string, DNSMapping> = {
ALIBABA: {
hosts: {
'dns.alidns.com': ['223.5.5.5', '223.6.6.6', '2400:3200:baba::1', '2400:3200::1']
},
dns: 'quic://dns.alidns.com:853',
realip: false,
domains: [
'uc.cn',
// 'ucweb.com', // UC International
@@ -89,6 +90,7 @@ export const DOMESTICS = {
'dns.pub': ['120.53.53.53', '1.12.12.12', '1.12.34.56']
},
dns: 'https://doh.pub/dns-query',
realip: false,
domains: [
// 'dns.pub',
// 'doh.pub',
@@ -142,6 +144,7 @@ export const DOMESTICS = {
BILIBILI_ALI: {
dns: 'quic://dns.alidns.com:853',
hosts: {},
realip: false,
domains: [
'$upos-sz-mirrorali.bilivideo.com',
'$upos-sz-estgoss.bilivideo.com'
@@ -150,6 +153,7 @@ export const DOMESTICS = {
BILIBILI_BD: {
dns: '180.76.76.76',
hosts: {},
realip: false,
domains: [
'$upos-sz-mirrorbd.bilivideo.com',
'$upos-sz-mirrorbos.bilivideo.com'
@@ -158,6 +162,7 @@ export const DOMESTICS = {
BILIBILI: {
dns: 'https://doh.pub/dns-query',
hosts: {},
realip: false,
domains: [
'$upos-sz-mirrorcoso1.bilivideo.com',
'$upos-sz-mirrorcosbstar1.bilivideo.com', // Bilibili Intl with Tencent Cloud CDN
@@ -187,6 +192,7 @@ export const DOMESTICS = {
XIAOMI: {
dns: 'https://doh.pub/dns-query',
hosts: {},
realip: false,
domains: [
'mi.com',
'duokan.com',
@@ -205,6 +211,7 @@ export const DOMESTICS = {
BYTEDANCE: {
dns: '180.184.2.2',
hosts: {},
realip: false,
domains: [
'+bytecdn.cn',
'+toutiaoimg.com',
@@ -251,6 +258,7 @@ export const DOMESTICS = {
BAIDU: {
dns: '180.76.76.76',
hosts: {},
realip: false,
domains: [
'91.com',
'hao123.com',
@@ -288,6 +296,7 @@ export const DOMESTICS = {
'dns.360.net': ['101.198.198.198', '101.198.199.200']
},
dns: 'https://dns.360.net/dns-query',
realip: false,
domains: [
'+qhimg.com',
'+qhimgs.com',
@@ -323,4 +332,4 @@ export const DOMESTICS = {
'qiku.com'
]
}
} satisfies Record<string, DNSMapping>;
};