Closed liuwl-j closed 1 month ago
因为我不用 Google 只写了个批量转换成 uBO 规则的脚本,但是这个和 #2 一样,在 uBO 的效果是访问网页时过滤。把sed的正则改成匹配Google搜索结果的元素应该也可以,没有尝试。
#!/bin/bash
set -euo pipefail
IFS=$'\n\t'
ASSET="blocklist.txt"
URL="https://github.com/obgnail/chinese-internet-is-dead/raw/refs/heads/master/${ASSET}"
OUTPUT="ubo.txt"
# get filters
wget --quiet -O ${ASSET} ${URL}
# convert uBlacklist to uBlock Origin
# oneliner to grep supported syntax, convert & sort
# 1. s@\*://\*\.(.*)/\*@||\1$all@:处理以 *://*. 开头的域名
# 2. s@\*://([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/\*@||\1$all@:处理以 *:// 开头的 IP 地址
# 3. s@\*://([^/]+)/\*@||\1$all@:处理以 *:// 开头的其他域名(不带通配符或路径)
# 4. s@\*://([^/]+)/.*@\||\1$all@:处理以 *:// 开头的域名,后面跟有路径的情况
grep "*://*" "${ASSET}" | sed -E 's@\*://\*\.(.*)/\*@||\1$all@; s@\*://([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/\*@||\1$all@; s@\*://([^/]+)/\*@||\1$all@; s@\*://([^/]+)/.*@\||\1$all@' | sort | uniq > "${OUTPUT}"
# garbage collect
rm ${ASSET}
我是firefox用户,请问支持 uBlock Origin 使用吗??