Skip to content

Commit 45855d2

Browse files
committed
fix: remove geosite download in sing-box
1 parent 8241f10 commit 45855d2

File tree

3 files changed

+103
-24
lines changed

3 files changed

+103
-24
lines changed

README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,8 @@
6464

6565
## 最近更新
6666

67-
- 2024-11-19
68-
- 改进了整体UI交互体验,提升了操作流畅度
67+
- 2024-11-20
68+
- 修复sing-box配置初次下载过慢的问题
6969

7070
[查看更新日志](/docs/update-log.md)
7171

docs/update-log.md

+4
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
## 2024-11-20
44

5+
- 修复sing-box配置初次下载过慢的问题
6+
7+
## 2024-11-19
8+
59
- 改进了整体UI交互体验,提升了操作流畅度
610

711
## 2024-11-05

src/config.js

+97-22
Original file line numberDiff line numberDiff line change
@@ -71,13 +71,6 @@ export const UNIFIED_RULES = [
7171
site_rules: ['apple'],
7272
ip_rules: []
7373
},
74-
{
75-
name: 'Bahamut',
76-
outbound: '🎮 巴哈姆特',
77-
site_rules: ['bahamut'],
78-
ip_rules: []
79-
},
80-
8174
{
8275
name: 'Social Media',
8376
outbound: '🌐 社交媒体',
@@ -87,7 +80,7 @@ export const UNIFIED_RULES = [
8780
{
8881
name: 'Streaming',
8982
outbound: '🎬 流媒体',
90-
site_rules: ['netflix', 'hulu', 'disney', 'hbo', 'amazon'],
83+
site_rules: ['netflix', 'hulu', 'disney', 'hbo', 'amazon','bahamut'],
9184
ip_rules: []
9285
},
9386
{
@@ -113,13 +106,19 @@ export const UNIFIED_RULES = [
113106
outbound: '☁️ 云服务',
114107
site_rules: ['aws', 'azure', 'digitalocean', 'heroku', 'dropbox'],
115108
ip_rules: []
109+
},
110+
{
111+
name: 'Non-China',
112+
outbound: '🌐 非中国',
113+
site_rules: ['geolocation-!cn'],
114+
ip_rules: []
116115
}
117116

118117
];
119118

120119
export const PREDEFINED_RULE_SETS = {
121-
minimal: ['Location:CN', 'Private'],
122-
balanced: ['Location:CN', 'Private', 'Google', 'Youtube', 'AI Services', 'Telegram'],
120+
minimal: ['Location:CN', 'Private', 'Non-China'],
121+
balanced: ['Location:CN', 'Private', 'Non-China', 'Google', 'Youtube', 'AI Services', 'Telegram'],
123122
comprehensive: UNIFIED_RULES.map(rule => rule.name)
124123
};
125124

@@ -242,9 +241,19 @@ export function generateRuleSets(selectedRules = [], customRules = []) {
242241
type: 'remote',
243242
format: 'binary',
244243
url: `${IP_RULE_SET_BASE_URL}${IP_RULE_SETS[rule]}`,
245-
download_detour: '⚡ 自动选择'
244+
download_detour: '⚡ 自动选择'
246245
}));
247246

247+
if(!selectedRules.includes('Non-China')){
248+
site_rule_sets.push({
249+
tag: 'geolocation-!cn',
250+
type: 'remote',
251+
format: 'binary',
252+
url: `${SITE_RULE_SET_BASE_URL}geosite-geolocation-!cn.srs`,
253+
download_detour: '⚡ 自动选择'
254+
});
255+
}
256+
248257
if(customRules){
249258
customRules.forEach(rule => {
250259
if(rule.site!=''){
@@ -281,23 +290,75 @@ export function generateRuleSets(selectedRules = [], customRules = []) {
281290
export const SING_BOX_CONFIG = {
282291
dns: {
283292
servers: [
284-
{ tag: 'dns_proxy', address: 'tls://1.1.1.1', address_resolver: 'dns_resolver' },
285-
{ tag: 'dns_direct', address: 'h3://dns.alidns.com/dns-query', address_resolver: 'dns_resolver', detour: 'DIRECT' },
286-
{ tag: 'dns_fakeip', address: 'fakeip' },
287-
{ tag: 'dns_resolver', address: '223.5.5.5', detour: 'DIRECT' },
288-
{ tag: 'dns_block', address: 'rcode://success' }
293+
{
294+
tag: "dns_proxy",
295+
address: "tcp://1.1.1.1",
296+
address_resolver: "dns_resolver",
297+
strategy: "ipv4_only",
298+
detour: "🚀 节点选择"
299+
},
300+
{
301+
tag: "dns_direct",
302+
address: "https://dns.alidns.com/dns-query",
303+
address_resolver: "dns_resolver",
304+
strategy: "ipv4_only",
305+
detour: "DIRECT"
306+
},
307+
{
308+
tag: "dns_resolver",
309+
address: "223.5.5.5",
310+
detour: "DIRECT"
311+
},
312+
{
313+
tag: "dns_success",
314+
address: "rcode://success"
315+
},
316+
{
317+
tag: "dns_refused",
318+
address: "rcode://refused"
319+
},
320+
{
321+
tag: "dns_fakeip",
322+
address: "fakeip"
323+
}
289324
],
290325
rules: [
291-
{ outbound: ['any'], server: 'dns_resolver' },
292-
{ geosite: ['category-ads-all'], server: 'dns_block', disable_cache: true },
293-
{ geosite: ['geolocation-!cn'], query_type: ['A', 'AAAA'], server: 'dns_fakeip' },
294-
{ geosite: ['geolocation-!cn'], server: 'dns_proxy' }
326+
{
327+
outbound: "any",
328+
server: "dns_resolver"
329+
},
330+
{
331+
rule_set: "geolocation-!cn",
332+
query_type: [
333+
"A",
334+
"AAAA"
335+
],
336+
server: "dns_fakeip"
337+
},
338+
{
339+
rule_set: "geolocation-!cn",
340+
query_type: [
341+
"CNAME"
342+
],
343+
server: "dns_proxy"
344+
},
345+
{
346+
query_type: [
347+
"A",
348+
"AAAA",
349+
"CNAME"
350+
],
351+
invert: true,
352+
server: "dns_refused",
353+
disable_cache: true
354+
}
295355
],
296-
final: 'dns_direct',
356+
final: "dns_direct",
297357
independent_cache: true,
298358
fakeip: {
299359
enabled: true,
300-
inet4_range: '198.18.0.0/15'
360+
inet4_range: "198.18.0.0/15",
361+
inet6_range: "fc00::/18"
301362
}
302363
},
303364
ntp: {
@@ -317,6 +378,20 @@ export const SING_BOX_CONFIG = {
317378
{ type: 'dns', tag: 'dns-out' }
318379
],
319380
route : {
381+
"rule_set": [
382+
{
383+
"tag": "geosite-geolocation-!cn",
384+
"type": "local",
385+
"format": "binary",
386+
"path": "geosite-geolocation-!cn.srs"
387+
}
388+
],
389+
rules: [
390+
{
391+
"outbound": "any",
392+
"server": "dns_resolver"
393+
}
394+
]
320395
},
321396
experimental: {
322397
cache_file: {

0 commit comments

Comments
 (0)