mirror of
https://github.com/KaringX/karing-ruleset.git
synced 2025-06-08 20:24:13 +08:00
ensure_ascii false
This commit is contained in:
parent
2acf1348e2
commit
354ba9e22e
2
.github/workflows/run.yml
vendored
2
.github/workflows/run.yml
vendored
@ -71,7 +71,7 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
NO_SKIP: true
|
NO_SKIP: true
|
||||||
run: |
|
run: |
|
||||||
mkdir -p ./sing-rule/karing
|
mkdir -p ./sing-rule/recommend
|
||||||
python workflow/resouces/kr_builtin_ruleset.py ./sing-rule/
|
python workflow/resouces/kr_builtin_ruleset.py ./sing-rule/
|
||||||
|
|
||||||
- name: Git push assets to "sing-rule" branch
|
- name: Git push assets to "sing-rule" branch
|
||||||
|
@ -2,9 +2,10 @@
|
|||||||
|
|
||||||
|
|
||||||
- outbound:
|
- outbound:
|
||||||
- direct_out 直连
|
- direct_out [direct] 直连
|
||||||
- block_out 屏蔽
|
- block_out [block] 屏蔽
|
||||||
- selector_out 当前选择[default]
|
- selector_out [currentSelected] 当前选择(default)
|
||||||
|
- [selector] 自动选择
|
||||||
|
|
||||||
- default
|
- default
|
||||||
- geoip/[area].srs
|
- geoip/[area].srs
|
||||||
@ -30,6 +31,15 @@ def debug_log(msg: str):
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
# diy change for karing
|
||||||
|
OPT_CFG_JSON_DIR = 'recommend'
|
||||||
|
OPT_OUTBOUND_CHG_MAP = {
|
||||||
|
'direct_out': 'direct',
|
||||||
|
'block_out': 'block',
|
||||||
|
'selector_out': 'currentSelected',
|
||||||
|
}
|
||||||
|
|
||||||
|
# rule-set
|
||||||
OPT_RULESET_GROUPS = {}
|
OPT_RULESET_GROUPS = {}
|
||||||
OPT_RULESET_GROUPS['default'] = {
|
OPT_RULESET_GROUPS['default'] = {
|
||||||
'🛑 Adblock': {
|
'🛑 Adblock': {
|
||||||
@ -226,12 +236,15 @@ OPT_RULESET_GROUPS['ir']['☁️ parspack'] = {
|
|||||||
|
|
||||||
def maker_for_area(area: str, config: dict, root_path: str) -> bool:
|
def maker_for_area(area: str, config: dict, root_path: str) -> bool:
|
||||||
# config dir/file
|
# config dir/file
|
||||||
cfg_dir = os.path.join(root_path, 'karing')
|
cfg_dir = os.path.join(root_path, OPT_CFG_JSON_DIR)
|
||||||
if not os.path.exists(cfg_dir):
|
if not os.path.exists(cfg_dir):
|
||||||
os.mkdir(cfg_dir)
|
os.mkdir(cfg_dir)
|
||||||
debug_log(f"mkdir {cfg_dir}")
|
debug_log(f"mkdir {cfg_dir}")
|
||||||
|
|
||||||
cfg_file = os.path.join(cfg_dir, f"{area}.json")
|
files = {
|
||||||
|
'rule_set': os.path.join(cfg_dir, f"{area}-set.json"),
|
||||||
|
'rules': os.path.join(cfg_dir, f"{area}.json"),
|
||||||
|
}
|
||||||
|
|
||||||
# for each group
|
# for each group
|
||||||
route_dict = {'rules': {}, 'rule_set': {}}
|
route_dict = {'rules': {}, 'rule_set': {}}
|
||||||
@ -253,17 +266,18 @@ def maker_for_area(area: str, config: dict, root_path: str) -> bool:
|
|||||||
|
|
||||||
# END for
|
# END for
|
||||||
|
|
||||||
|
ret = 0
|
||||||
|
for fk, file in files.items():
|
||||||
# convert to list
|
# convert to list
|
||||||
route_dict['rule_set'] = list(route_dict['rule_set'].values())
|
route_list = list(route_dict[fk].values())
|
||||||
route_dict['rules'] = list(route_dict['rules'].values())
|
|
||||||
|
|
||||||
json_string = json.dumps({'route': route_dict})
|
json_string = json.dumps({fk: route_list}, indent=4, ensure_ascii=False)
|
||||||
with open(cfg_file, "w") as json_file:
|
with open(file, "w") as json_file:
|
||||||
json_file.write(json_string)
|
json_file.write(json_string)
|
||||||
debug_log(f"wirte to {cfg_file}")
|
debug_log(f"wirte to {file}")
|
||||||
return True
|
ret += 1
|
||||||
|
|
||||||
return False
|
return True if ret == len(files) else False
|
||||||
|
|
||||||
|
|
||||||
def maker_one_rule(name: str, group: dict) -> dict:
|
def maker_one_rule(name: str, group: dict) -> dict:
|
||||||
@ -315,6 +329,9 @@ def maker_one_row(gval: any) -> dict:
|
|||||||
else:
|
else:
|
||||||
raise ValueError(f"ERR: type:{vtype} gval:{gval}")
|
raise ValueError(f"ERR: type:{vtype} gval:{gval}")
|
||||||
|
|
||||||
|
## chg for karing
|
||||||
|
gval['outbound'] = OPT_OUTBOUND_CHG_MAP[gval['outbound']]
|
||||||
|
|
||||||
return gval
|
return gval
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user