diff --git a/.github/workflows/run.yml b/.github/workflows/run.yml index 0e909bbe..4ebde080 100644 --- a/.github/workflows/run.yml +++ b/.github/workflows/run.yml @@ -67,18 +67,11 @@ jobs: cp -r ../meta-rules-dat/geo ./ bash ../workflow/resouces/merge_geo_ir.sh ./geo ../Iran-sing-box-rules/ - - name: RU copy geo rules + - name: RU antizapret env: NO_SKIP: true run: | - cd sing-rule || exit 1 - curl -o geo/geoip/blocked@ru.srs -sSL https://github.com/runetfreedom/russia-v2ray-rules-dat/raw/refs/heads/release/sing-box/rule-set-geoip/geoip-ru-blocked.srs - curl -o geo/geoip/blocked-community@ru.srs -sSL https://github.com/runetfreedom/russia-v2ray-rules-dat/raw/refs/heads/release/sing-box/rule-set-geoip/geoip-ru-blocked-community.srs - curl -o geo/geoip/re-filter@ru.srs -sSL https://github.com/runetfreedom/russia-v2ray-rules-dat/raw/refs/heads/release/sing-box/rule-set-geoip/geoip-re-filter.srs - curl -o geo/geosite/blocked@ru.srs -sSL https://github.com/runetfreedom/russia-v2ray-rules-dat/raw/refs/heads/release/sing-box/rule-set-geosite/geosite-ru-blocked.srs - curl -o geo/geosite/available-only-inside@ru.srs -sSL https://github.com/runetfreedom/russia-v2ray-rules-dat/raw/refs/heads/release/sing-box/rule-set-geosite/geosite-ru-available-only-inside.srs - # curl -o geo/geosite/antizapret@ru.srs -sSL https://github.com/savely-krasovsky/antizapret-sing-box/releases/latest/download/antizapret.srs - + bash ../workflow/resouces/ru_antizapret.sh ./sing-rule - name: maker karing built-in rule-set group env: @@ -87,12 +80,12 @@ jobs: mkdir -p ./sing-rule/recommend python workflow/resouces/kr_builtin_ruleset.py ./sing-rule/ - - name: convert AdGuardSDNSFilter to srs - env: - NO_SKIP: true - run: | - python workflow/resouces/convert_adguard.py ./sing-rule/ - +# - name: convert AdGuardSDNSFilter to srs +# env: +# NO_SKIP: true +# run: | +# python workflow/resouces/convert_adguard.py ./sing-rule/ +# - name: rm sing-box files env: NO_SKIP: true diff --git a/resouces/helper/helper.py b/resouces/helper/helper.py index e89b41f6..dfa8ec57 100644 --- a/resouces/helper/helper.py +++ b/resouces/helper/helper.py @@ -78,6 +78,16 @@ def remove_ansi_escape_codes(text: str) -> str: return ansi_escape.sub('', text) +def is_url(string): + pattern = re.compile( + r'^(https?://)?' # http:// 或 https://(可选) + r'([a-zA-Z0-9_-]+\.)+[a-zA-Z]{2,6}' # 域名部分 + r'(:[0-9]{1,5})?' # 端口号(可选) + r'(/.*)?$' # 路径部分(可选) + ) + return bool(pattern.match(string)) + + if __name__ == '__main__': # text = "example string//with spaces---and////slashes" text = 'uBlock-filters-–-Resource-abuse-' diff --git a/resouces/ru_antizapret.sh b/resouces/ru_antizapret.sh new file mode 100644 index 00000000..ba68dc62 --- /dev/null +++ b/resouces/ru_antizapret.sh @@ -0,0 +1,56 @@ +#!/bin/bash +###antizapret +# Соберите популярные правила и преобразуйте их в правила sing-box для удобства использования в Karing. +# https://github.com/runetfreedom/russia-v2ray-rules-dat +# https://github.com/savely-krasovsky/antizapret-sing-box + +CURRENT_DIR=$(cd $(dirname $0); pwd) + +target_dir=$1 +if [ -z "$target_dir" ]; then + target_dir=$CURRENT_DIR +fi + +if [ ! -d "$target_dir" ]; then + echo "${target_dir} unkown directory" + exit 1 +fi + +# ——————————————————————————————————————————————————————————————————————————————————————————————— + + ## runetfreedom/russia-v2ray-rules-dat +function clone_runetfreedom(){ + git clone -b release --single-branch --depth=1 git@github.com:runetfreedom/russia-v2ray-rules-dat.git runetfreedom + rm -rf runetfreedom/.git + cd runetfreedom/sing-box/ + cp rule-set-geoip/geoip-ru-blocked.srs $work_dir/geo/geoip/blocked@ru.srs + cp rule-set-geoip/geoip-ru-blocked-community.srs $work_dir/geo/geoip/blocked-community@ru.srs + cp rule-set-geoip/geoip-re-filter.srs $work_dir/geo/geoip/re-filter@ru.srs + cp rule-set-geosite/geosite-ru-blocked.srs $work_dir/geo/geosite/blocked@ru.srs + cp rule-set-geosite/geosite-ru-available-only-inside.srs $work_dir/geo/geosite/available-only-inside@ru.srs +} + + ## savely-krasovsky/antizapret-sing-box +function download_antizapret(){ + mkdir -p $target_dir/antizapret + cd $target_dir/antizapret/ + + file_array=("antizapret.srs" "antizapret.srs.sha256sum") + for file in "${file_array[@]}"; do + echo $file + wget --no-check-certificate -q --show-progress -T10 -t3 "https://github.com/savely-krasovsky/antizapret-sing-box/releases/latest/download/${file}" + done +} + +# ——————————————————————————————————————————————————————————————————————————————————————————————— +work_dir=$(realpath "$target_dir") +target_dir="${work_dir}/russia" + +rm -rf $target_dir ; mkdir $target_dir ; cd $target_dir +echo "start<= ${target_dir}" + +clone_runetfreedom +download_antizapret + +echo "end<= ${target_dir}" +#END FILE \ No newline at end of file