├── .github └── workflows │ ├── adblock.yml │ ├── pages.yml │ └── smartdns.yml ├── README.md ├── ad-edentw.txt ├── ad-mo.txt ├── ad-pc.txt ├── ad.txt ├── ad2.txt ├── ad3.txt └── mod ├── GeneralBlock.txt ├── TiebaBlock.txt ├── ad-edentw-title.txt ├── ad-mo-title.txt ├── ad-pc-title.txt ├── ad-title.txt ├── ad2-title.txt ├── ad3-title.txt └── addChecksum.pl /.github/workflows/adblock.yml: -------------------------------------------------------------------------------- 1 | name: Build adblock rules files 2 | on: 3 | schedule: 4 | - cron: 0 */6 * * * 5 | workflow_dispatch: 6 | 7 | jobs: 8 | build: 9 | name: Build 10 | runs-on: ubuntu-latest 11 | steps: 12 | - name: Setup Go 1.x 13 | uses: actions/setup-go@v3 14 | with: 15 | go-version: "^1.14" 16 | 17 | - name: Set $GOPATH and more variables 18 | run: | 19 | echo "RELEASE_NAME=Released on $(date -d "8 hour" -u +%Y%m%d%H%M)" >> $GITHUB_ENV 20 | echo "TAG_NAME=$(date -d "8 hour" -u +%Y%m%d%H%M)" >> $GITHUB_ENV 21 | echo "MODIFIED_TIME=$(date -d "8 hour" -u "+%Y年%m月%d日 %H:%M")" >> $GITHUB_ENV 22 | echo "EASYLIST_URL=https://easylist-downloads.adblockplus.org/easylist.txt" >> $GITHUB_ENV 23 | echo "EASYLISTCHINA_URL=https://easylist-downloads.adblockplus.org/easylistchina.txt" >> $GITHUB_ENV 24 | echo "EASYPRIVACY_URL=https://easylist-downloads.adblockplus.org/easyprivacy.txt" >> $GITHUB_ENV 25 | echo "CJXLIST_URL=https://raw.githubusercontent.com/cjx82630/cjxlist/master/cjxlist.txt" >> $GITHUB_ENV 26 | echo "CJX_ANNOYANCE_URL=https://raw.githubusercontent.com/cjx82630/cjxlist/master/cjx-annoyance.txt" >> $GITHUB_ENV 27 | echo "ANTI_ADBLOCK_KILLER_FILTERS_URL=https://raw.githubusercontent.com/reek/anti-adblock-killer/master/anti-adblock-killer-filters.txt" >> $GITHUB_ENV 28 | echo "ANTIADBLOCKFILTERS_URL=https://easylist-downloads.adblockplus.org/antiadblockfilters.txt" >> $GITHUB_ENV 29 | echo "ABP_FILTERS_ANTI_CV_URL=https://easylist-downloads.adblockplus.org/abp-filters-anti-cv.txt" >> $GITHUB_ENV 30 | echo "XINGGSF_MV_URL=https://raw.githubusercontent.com/xinggsf/Adblock-Plus-Rule/master/mv.txt" >> $GITHUB_ENV 31 | echo "GOPATH=$(dirname $GITHUB_WORKSPACE)" >> $GITHUB_ENV 32 | echo "$(dirname $GITHUB_WORKSPACE)/bin" >> $GITHUB_PATH 33 | shell: bash 34 | 35 | - name: Initialize Git 36 | run: | 37 | git config --global user.email 41898282+github-actions[bot]@users.noreply.github.com 38 | git config --global user.name github-actions[bot] 39 | 40 | - name: Checkout the "master" branch 41 | uses: actions/checkout@v3 42 | with: 43 | ref: master 44 | 45 | - name: Get every files 46 | id: download 47 | run: | 48 | mkdir -p ./download/ 49 | cd ./download 50 | curl -sSL $EASYLIST_URL | sed -e '/^! /d' -e '1c ! EasyList' -e '/^!$/d' -e '/The End/d' -e '/^$/d' > ./easylist.txt 51 | curl -sSL $EASYLISTCHINA_URL | sed -e '/^! /d' -e '1c ! EasyList China' -e '/^!$/d' -e '/The End/d' -e '/^$/d' > ./easylistchina.txt 52 | curl -sSL $EASYPRIVACY_URL | sed -e '/^! /d' -e '1c ! EasyPrivacy' -e '/^!$/d' > ./easyprivacy.txt 53 | curl -sSL $CJXLIST_URL | sed -e '/^! /d' -e '1c ! EasyList Lite' -e '/^!$/d' -e '/The End/d' -e '/^$/d' > ./cjxlist.txt 54 | curl -sSL $CJX_ANNOYANCE_URL | sed -e '/^! /d' -e "1c ! CJX's Annoyance List" -e '/^!$/d' -e '/The End/d' -e '/^$/d' | sed '/热门话题/,+1d' > ./cjx-annoyance.txt 55 | sed -i '/!#include cjx-ublock.txt/c !#include https://raw.githubusercontent.com/cjx82630/cjxlist/master/cjx-ublock.txt' ./cjx-annoyance.txt 56 | curl -sSL $XINGGSF_MV_URL | sed '/禁止站内新开窗/,+2d' | sed -e '/^! /d' -e '1c ! 乘风 视频广告过滤规则' -e '/^!$/d' -e '/^$/d' > ./xinggsf-mv.txt 57 | curl -sSL $ANTIADBLOCKFILTERS_URL | sed -e '1c ! Adblock Warning Removal List' -e '/^! Checksum/,/! Please check our guidelines/d' -e '/^!$/d' -e '/The End/d' -e '/^$/d' > ./antiadblockfilters.txt 58 | curl -sSL $ABP_FILTERS_ANTI_CV_URL | sed -e '1c ! abp-filters-anti-cv' -e '/^! Checksum/,/adblockplus.org/d' -e '/^!$/d' -e '/The End/d' -e '/^$/d' > ./abp-filters-anti-cv.txt 59 | curl -sSL $ANTI_ADBLOCK_KILLER_FILTERS_URL | sed -e '1c ! AakList (Anti-Adblock Killer)' -e '/^! Title/,/^! RegExpVisualizer/d' -e '/^!$/d' -e '/The End/d' -e '/^$/d' > ./anti-adblock-killer-filters.txt 60 | for i in $(ls *.txt); do 61 | if [[ `cat $i |wc -l` -eq 0 ]]; then 62 | echo "status=failed">> $GITHUB_OUTPUT 63 | break 64 | else 65 | echo "status=success">> $GITHUB_OUTPUT 66 | echo "" >> $i 67 | fi 68 | done 69 | 70 | - name: Generate adblock files 71 | if: steps.download.outputs.status == 'success' 72 | run: | 73 | mkdir -p ./new/ 74 | cd ./download 75 | cat ../mod/GeneralBlock.txt ../mod/TiebaBlock.txt easylist.txt easylistchina.txt easyprivacy.txt cjx-annoyance.txt xinggsf-mv.txt > ../new/ad-pc.txt 76 | cat ../mod/GeneralBlock.txt easylist.txt easylistchina.txt easyprivacy.txt cjx-annoyance.txt > ../new/ad-mo.txt 77 | cat ../mod/GeneralBlock.txt ../mod/TiebaBlock.txt xinggsf-mv.txt easylistchina.txt cjxlist.txt cjx-annoyance.txt > ../new/ad.txt 78 | cat xinggsf-mv.txt easylistchina.txt cjxlist.txt cjx-annoyance.txt > ../new/ad2.txt 79 | cat xinggsf-mv.txt easylistchina.txt cjxlist.txt cjx-annoyance.txt easyprivacy.txt > ../new/ad3.txt 80 | cat antiadblockfilters.txt abp-filters-anti-cv.txt anti-adblock-killer-filters.txt > ../new/ad-edentw.txt 81 | for i in $(ls ../new/*.txt); do 82 | sed -i '/^$/d' $i 83 | done 84 | 85 | - name: Diff and addChecksum 86 | id: diffResult 87 | if: steps.download.outputs.status == 'success' 88 | run: | 89 | mkdir -p ./old_no_title/ 90 | chmod +x ./mod/addChecksum.pl 91 | for i in $(ls ad*.txt); do 92 | sed '1,/^!$/d' $i > ./old_no_title/$i 93 | done 94 | diffFile="$(diff -q new/ old_no_title/ |grep -o '[a-zA-Z0-9-]\+.txt' |sort -u)" 95 | if [ -n "$diffFile" ]; then 96 | for i in $diffFile ; do 97 | titleName=$(echo "$i" |sed 's#.txt#-title.txt#') 98 | cat ./mod/$titleName ./new/$i > ./$i 99 | sed -i -e "s#201412030951#$TAG_NAME#" -e "s#201412030952#$MODIFIED_TIME#" ./$i 100 | perl ./mod/addChecksum.pl ./$i 101 | echo "status=success">> $GITHUB_OUTPUT 102 | done 103 | else 104 | echo "status=failed">> $GITHUB_OUTPUT 105 | fi 106 | 107 | - name: Deliver download Dir 108 | uses: actions/upload-artifact@v3 109 | if: steps.download.outputs.status == 'failed' 110 | with: 111 | name: AllFiles 112 | path: | 113 | ./download/ 114 | 115 | - name: Deliver new and old_no_title Di 116 | uses: actions/upload-artifact@v3 117 | if: steps.diffResult.outputs.status == 'failed' 118 | with: 119 | name: AllFiles 120 | path: | 121 | * 122 | !./.git/ 123 | 124 | - name: Git push assets to github & coding 125 | if: steps.diffResult.outputs.status == 'success' 126 | run: | 127 | rm -rf .git/ download/ new/ old_no_title/ 128 | git init 129 | git checkout -b master 130 | git add --all 131 | git commit -m "${{ env.RELEASE_NAME }}" 132 | git remote add origin "https://${{ github.actor }}:${{ secrets.WORKFLOW_TOKEN }}@github.com/${{ github.repository }}" 133 | #git remote set-url --add origin "https://${{ secrets.CODING_ACCOUNT }}:${{ secrets.CODING_PASSWORD }}@e.coding.net/${{ secrets.CODING_NAME }}/list.git" 134 | git push -u -f origin master 135 | 136 | - name: Release and Upload Assets 137 | if: steps.diffResult.outputs.status == 'success' 138 | uses: ncipollo/release-action@v1 139 | with: 140 | name: adblock 141 | body: ${{ env.RELEASE_NAME }} 142 | tag: adblock 143 | makeLatest: true 144 | allowUpdates: true 145 | removeArtifacts: true 146 | artifacts: | 147 | *.txt 148 | -------------------------------------------------------------------------------- /.github/workflows/pages.yml: -------------------------------------------------------------------------------- 1 | # Simple workflow for deploying static content to GitHub Pages 2 | name: Deploy static content to Pages 3 | 4 | on: 5 | # Runs on pushes targeting the default branch 6 | push: 7 | branches: ["master"] 8 | 9 | # Allows you to run this workflow manually from the Actions tab 10 | workflow_dispatch: 11 | 12 | # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages 13 | permissions: 14 | contents: read 15 | pages: write 16 | id-token: write 17 | 18 | # Allow one concurrent deployment 19 | concurrency: 20 | group: "pages" 21 | cancel-in-progress: true 22 | 23 | jobs: 24 | # Single deploy job since we're just deploying 25 | deploy: 26 | environment: 27 | name: github-pages 28 | url: ${{ steps.deployment.outputs.page_url }} 29 | runs-on: ubuntu-latest 30 | steps: 31 | - name: Checkout 32 | uses: actions/checkout@v3 33 | - name: Setup Pages 34 | uses: actions/configure-pages@v2 35 | - name: Upload artifact 36 | uses: actions/upload-pages-artifact@v1 37 | with: 38 | # Upload entire repository 39 | path: '.' 40 | - name: Deploy to GitHub Pages 41 | id: deployment 42 | uses: actions/deploy-pages@v1 43 | -------------------------------------------------------------------------------- /.github/workflows/smartdns.yml: -------------------------------------------------------------------------------- 1 | name: Smartdns Rules 2 | on: 3 | schedule: 4 | - cron: 0 20 * * * 5 | #push: 6 | # branches: 7 | # - master 8 | workflow_dispatch: 9 | 10 | jobs: 11 | build: 12 | name: Build 13 | runs-on: ubuntu-latest 14 | steps: 15 | - name: Set Variables 16 | run: | 17 | mkdir publish 18 | echo "RELEASE_NAME=Released on $(date -d "8 hour" -u +%Y%m%d%H%M)" >> $GITHUB_ENV 19 | echo "anti_ad_domains=https://raw.githubusercontent.com/privacy-protection-tools/anti-AD/master/anti-ad-domains.txt" >> $GITHUB_ENV 20 | echo "anti_ad_domains_whitelist=https://raw.githubusercontent.com/privacy-protection-tools/dead-horse/master/anti-ad-white-list.txt" >> $GITHUB_ENV 21 | echo "CHINA_DOMAINS_URL=https://raw.githubusercontent.com/felixonmars/dnsmasq-china-list/master/accelerated-domains.china.conf" >> $GITHUB_ENV 22 | echo "GOOGLE_DOMAINS_URL=https://raw.githubusercontent.com/felixonmars/dnsmasq-china-list/master/google.china.conf" >> $GITHUB_ENV 23 | echo "APPLE_DOMAINS_URL=https://raw.githubusercontent.com/felixonmars/dnsmasq-china-list/master/apple.china.conf" >> $GITHUB_ENV 24 | echo "GFW_DOMAINS_URL=https://raw.githubusercontent.com/Loyalsoldier/v2ray-rules-dat/release/gfw.txt" >> $GITHUB_ENV 25 | echo "GREATFIRE_DOMAINS_URL=https://raw.githubusercontent.com/Johnshall/cn-blocked-domain/release/domains.txt" >> $GITHUB_ENV 26 | echo "CUSTOM_DIRECT=https://raw.githubusercontent.com/Loyalsoldier/domain-list-custom/release/cn.txt" >> $GITHUB_ENV 27 | echo "CUSTOM_PROXY=https://raw.githubusercontent.com/Loyalsoldier/domain-list-custom/release/geolocation-!cn.txt" >> $GITHUB_ENV 28 | 29 | - name: Checkout the "hidden" branch of Loyalsoldier/v2ray-rules-dat 30 | uses: actions/checkout@v3 31 | with: 32 | repository: Loyalsoldier/v2ray-rules-dat 33 | ref: hidden 34 | path: extra 35 | 36 | - name: Generate anti_ad files 37 | run: | 38 | curl -sSL $anti_ad_domains |sed '/^#/d' > publish/anti_ad_domains.txt 39 | curl -sSL $anti_ad_domains_whitelist |sed '/^#/d' > publish/anti_ad_domains_whitelist.txt 40 | 41 | - name: Get and add direct domains into temp-direct.txt file 42 | run: | 43 | curl -sSL $CHINA_DOMAINS_URL | perl -ne '/^server=\/([^\/]+)\// && print "$1\n"' > temp-direct.txt 44 | curl -sSL ${CUSTOM_DIRECT} -o CUSTOM_DIRECT.txt 45 | cat CUSTOM_DIRECT.txt | perl -ne '/^(domain):([^:]+)(\n$|:@.+)/ && print "$2\n"' >> temp-direct.txt 46 | cat extra/direct.txt >> temp-direct.txt 47 | #cat temp-direct.txt |sed '/\./!d' | sort --ignore-case -u > direct-list-with-redundant 48 | cat temp-direct.txt | sort --ignore-case -u > direct-list-with-redundant 49 | 50 | - name: Get and add proxy domains into temp-proxy.txt file 51 | run: | 52 | curl -sSL $GFW_DOMAINS_URL | sed '$a\\n' > temp-proxy.txt 53 | curl -sSL $GREATFIRE_DOMAINS_URL | perl -ne '/^((?=^.{3,255})[a-zA-Z0-9][-_a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-_a-zA-Z0-9]{0,62})+)/ && print "$1\n"' >> temp-proxy.txt 54 | curl -sSL $GOOGLE_DOMAINS_URL | perl -ne '/^server=\/([^\/]+)\// && print "$1\n"' >> temp-proxy.txt 55 | curl -sSL $APPLE_DOMAINS_URL | perl -ne '/^server=\/([^\/]+)\// && print "$1\n"' >> temp-proxy.txt 56 | curl -sSL ${CUSTOM_PROXY} -o CUSTOM_PROXY.txt 57 | cat CUSTOM_PROXY.txt | grep -Ev ":@cn" | perl -ne '/^(domain):([^:]+)(\n$|:@.+)/ && print "$2\n"' >> temp-proxy.txt 58 | cat CUSTOM_PROXY.txt | grep -Ev ":@cn" | perl -ne '/^(full:[^:]+)(\n$|:@.+)/ && print "$1\n"' | sort --ignore-case -u > proxy-reserve.txt 59 | cat extra/proxy.txt >> temp-proxy.txt 60 | #cat temp-proxy.txt |sed '/\./!d' | sort --ignore-case -u > proxy-list-with-redundant 61 | cat temp-proxy.txt | sort --ignore-case -u > proxy-list-with-redundant 62 | 63 | - name: Remove redundant domains 64 | run: | 65 | chmod +x extra/findRedundantDomain.py 66 | ./extra/findRedundantDomain.py ./direct-list-with-redundant ./direct-list-deleted-unsort 67 | ./extra/findRedundantDomain.py ./proxy-list-with-redundant ./proxy-list-deleted-unsort 68 | [ ! -f "direct-list-deleted-unsort" ] && touch direct-list-deleted-unsort 69 | [ ! -f "proxy-list-deleted-unsort" ] && touch proxy-list-deleted-unsort 70 | sort ./direct-list-deleted-unsort > ./direct-list-deleted-sort 71 | sort ./proxy-list-deleted-unsort > ./proxy-list-deleted-sort 72 | diff ./direct-list-deleted-sort ./direct-list-with-redundant | awk '/^>/{print $2}' > ./direct-list-without-redundant 73 | diff ./proxy-list-deleted-sort ./proxy-list-with-redundant | awk '/^>/{print $2}' > ./proxy-list-without-redundant 74 | 75 | - name: Remove domains from "need-to-remove" lists in "hidden" branch 76 | run: | 77 | diff ./extra/direct-need-to-remove.txt ./direct-list-without-redundant | awk '/^>/{print $2}' > temp-cn.txt 78 | diff ./extra/proxy-need-to-remove.txt ./proxy-list-without-redundant | awk '/^>/{print $2}' > temp-geolocation-\!cn.txt 79 | 80 | - name: Remove domains end with ".cn" in "temp-geolocation-!cn.txt" and write lists to data directory 81 | run: | 82 | cat temp-cn.txt | sort --ignore-case -u | perl -ne '/^((?=^.{1,255})[a-zA-Z0-9][-_a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-_a-zA-Z0-9]{0,62})*)/ && print "$1\n"' > cn.txt 83 | cat temp-geolocation-\!cn.txt | sort --ignore-case -u | perl -ne '/^((?=^.{1,255})[a-zA-Z0-9][-_a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-_a-zA-Z0-9]{0,62})*)/ && print "$1\n"' | perl -ne 'print if not /\.cn$/' > geolocation-\!cn.txt 84 | 85 | - name: Add `full`, `regexp` and `keyword` type of rules back into "cn", "geolocation-!cn" and "category-ads-all" list 86 | run: | 87 | cat CUSTOM_DIRECT.txt | perl -ne '/^(full:[^:]+)(\n$|:@.+)/ && print "$1\n"' | sort --ignore-case -u > direct-reserve.txt 88 | [ -f "direct-reserve.txt" ] && cat direct-reserve.txt >> cn.txt 89 | [ -f "proxy-reserve.txt" ] && cat proxy-reserve.txt >> geolocation-\!cn.txt 90 | #if [ -f "proxy-reserve.txt" ]; then 91 | # for i in `cat proxy-reserve.txt`; do 92 | # if ! grep -q "^${i##full:}$" proxy-list-deleted-unsort; then 93 | # echo -e "$i" 94 | # fi 95 | # done >> temp-proxy.txt 96 | #fi 97 | 98 | - name: Transform "full:" suit for Smartdns 99 | run: | 100 | sed 's#^full:#-.#' cn.txt > ./publish/direct_list.txt 101 | sed 's#^full:#-.#' geolocation-\!cn.txt > ./publish/proxy_list.txt 102 | 103 | - name: Upload To Artifact 104 | uses: actions/upload-artifact@v3 105 | with: 106 | name: list 107 | path: | 108 | * 109 | 110 | - name: Generate sha256sum 111 | working-directory: publish 112 | run: | 113 | for i in $(ls *.txt); do 114 | sha256sum $i > $i.sha256sum 115 | done 116 | 117 | - name: Release and Upload Assets 118 | uses: ncipollo/release-action@v1 119 | with: 120 | name: SmartDNS 121 | body: ${{ env.RELEASE_NAME }} 122 | tag: smartdns 123 | makeLatest: false 124 | allowUpdates: true 125 | removeArtifacts: true 126 | artifacts: | 127 | publish/*.txt 128 | publish/*.txt.sha256sum 129 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## ABP/ublock订阅规则 2 | 1. ad-pc.txt:[推荐桌面端]合并自乘风视频广告过滤规则、Easylist、EasylistChina、EasyPrivacy、CJX'sAnnoyance,以及补充的一些规则; 3 | 1. ad-mo.txt:合并自Easylist、EasylistChina、EasyPrivacy、CJX'sAnnoyance; 4 | 3. ad.txt:[推荐移动端]合并自乘风视频广告过滤规则、EasylistChina、EasylistLite、CJX'sAnnoyance,以及补充的一些规则; 5 | 4. ad2.txt:合并自乘风视频广告过滤规则、EasylistChina、EasylistLite、CJX'sAnnoyance; 6 | 5. ad3.txt:合并自乘风视频广告过滤规则、EasylistChina、EasylistLite、CJX'sAnnoyance、EasyPrivacy; 7 | 6. ad-edentw.txt:合并自Adblock Warning Removal List、ABP filters、anti-adblock-killer-filters。 8 | -------------------------------------------------------------------------------- /mod/GeneralBlock.txt: -------------------------------------------------------------------------------- 1 | ! Fix for MS Edge 2 | tieba.baidu.com###pagelet_entertainment-liveshow\/pagelet\/video_head 3 | ! Start 4 | 500px.com###hellobar 5 | bing.com###banner 6 | coding.net##.smart-app-banner 7 | coolapk.com##[style*="position: fixed;bottom: 0"] 8 | engadget.com###ldrBoardAd 9 | gelbooru.com##A[href*="ads="] 10 | github.com##.js-notice 11 | jav777.cc###divExoLayerWrapper 12 | mp.weixin.qq.com###js_pc_qr_code 13 | m.chouti.com##.m_download_box 14 | m.jd.com##.download-pannel 15 | m.jiemian.com###js-b-ad 16 | m.qidian.com###fixBoxs, #read_app_download 17 | news.sina.com.cn##.news_weixin_ercode 18 | yahoo.com###my-adsFPL 19 | yahoo.com##.js-stream-featured-ad 20 | vdisk.weibo.com###ads_layer 21 | weibo.com##div.wbpro-side-panel:first-child 22 | weibo.cn##.tips.m-container-max 23 | www.1069gay.net###shortcut 24 | www.15yan.com##.tooltip 25 | www.52tian.net##.adwidewrap 26 | www.acfun.cn###guide-fix 27 | www.douyu.com##.giftbatter-box 28 | www.dwnews.com##.big2-gg 29 | www.freehao123.com##A[href*="/go/"] 30 | www.google.com##.ads-ad 31 | www.hardsextube.com##.right-col.right 32 | www.le.com###full_Column_big 33 | www.le.com###full_Column_small 34 | www.le.com###rightBottomPop 35 | www.lofter.com###appdownloadbanner 36 | www.raybt.com##td[width="13"] 37 | www.yizhibo.com##.register_guide 38 | tumblr.com##.standalone-ad-container 39 | twitter.com##.presented 40 | www.xilinjie.com###xlj-da-block-overlay 41 | xhamster.com##.sponsorBottom 42 | .com/c.gif? 43 | .cn/a.gif? 44 | .cn/b.gif? 45 | .cn/r.gif? 46 | .cn/s.gif? 47 | .cn/z.gif? 48 | .com/pv.gif? 49 | .hk/ad2/ 50 | .hk/groupon/ads/ 51 | ://ads2. 52 | /atrk.js 53 | /googlead.js 54 | /popunder.js 55 | /popunder2.js 56 | /videojs5/*vpaid.min.js$domain=91porn.com|email.91dizhi.at.gmail.com.8h9.space 57 | /fans/*$domain=91porn.com|email.91dizhi.at.gmail.com.8h9.space 58 | /openload.co$third-party,domain=openload.co|oload.tv 59 | |http://*/source/plugin/u179_jtft/ 60 | |https:$popup,domain=openload.co|oload.tv|javno.me 61 | |http:$popup,domain=openload.co|oload.tv 62 | |http:$script,domain=imagebam.com|imagevenue.com|playvid.com|4horlover.com 63 | |http:$subdocument,domain=imagebam.com|playvid.com 64 | |http:$third-party,domain=linkshrink.net 65 | |https:$third-party,domain=linkshrink.net 66 | @@||apis.google.com^$domain=openload.co|oload.tv|javno.me|imagebam.com|imagevenue.com|playvid.com|4horlover.com|linkshrink.net 67 | @@||cdn.bootcss.com^$domain=openload.co|oload.tv|javno.me|imagebam.com|imagevenue.com|playvid.com|4horlover.com|linkshrink.net 68 | @@||googleapis.com^$domain=openload.co|oload.tv|javno.me|imagebam.com|imagevenue.com|playvid.com|4horlover.com|linkshrink.net 69 | !@@||googletagmanager.com/gtm.js$domain=www.nintendo.co.jp 70 | @@/js/ads.$domain=shrinklink.co 71 | ||115.com/static/plug/video_play/qrcode.js 72 | ||ad.directrev.com^$popup 73 | ||ad.mail.ru^ 74 | ||adadvisor.net^ 75 | ||addtoany.com/menu/transparent.gif 76 | ||adk2x.com^$third-party 77 | ||admaster.com.cn^$third-party 78 | ||ads.yahoo.com^ 79 | ||adsfactor.net^ 80 | ||adskeeper.co.uk^ 81 | ||adstract.com^$third-party 82 | ||adxxx.$third-party 83 | ||adrunnr.com^ 84 | ||adzerk.net^ 85 | ||aidigua.com^ 86 | ||amung.us^ 87 | ||api.kodcloud.com/data/notify/ 88 | ||an.yandex.ru^ 89 | ||analytics.163.com^ 90 | ||ancplayer.com/ancplayer/ads 91 | ||atemda.com^$third-party 92 | ||awempire.com^$third-party 93 | ||baifendian.com^$third-party 94 | ||blogamethu.com^ 95 | ||bthand.com/static/js/default.js 96 | ||buysellads.com^$third-party 97 | ||cache.netease.com/cnews/js/qrcode.js 98 | ||cache1.value-domain.com/xrea_header.js 99 | @@||cdndx.clouddata8g.xyz^$domain=ohmanhua.com 100 | ||changyan.itc.cn/mdevp/extensions/mobile-cmt-advert/ 101 | ||clicksor.net^$third-party 102 | ||comgnnyx.com^ 103 | ||cmsjs.eastmoney.com/js/news_*.js 104 | ||creative.xtendmedia.com^ 105 | ||criteo.com^$third-party 106 | ||criteo.net^$third-party 107 | ||da-ads.com^$third-party 108 | ||directtrk.com/js/pop.js$third-party 109 | ||discuss.com.hk/include/javascript/idle_check.js 110 | ||discuss.com.hk/overture/ 111 | ||doubleclick.net/instream/ad_status.js 112 | ||dwnews.com/RealMedia/ads/ 113 | ||dwnews.net/images/www/ad/ 114 | ||dwnews.net/js/common/dwnews.dwcn.ad.js 115 | ||dwnews.net/js/common/dwnews.ga.js 116 | ||elcncc.com^$third-party 117 | ||ero-advertising.com^ 118 | ||etahub.com^$third-party 119 | ||exoticads.com^$third-party 120 | ||feih.com.cn^$third-party 121 | ||flashi.tv/histats.php? 122 | ||forum.xitek.com/xml/flash.swf 123 | ||gelbooru.com/script/application.js 124 | ||genieessp.com^$third-party 125 | ||greencompute.org^$third-party 126 | ||guardwork.info^$third-party 127 | ||hb.vntsm.com/v3/live/ad-manager.min.js 128 | ||histats.com^$third-party 129 | ||insightexpressai.com^ 130 | ||jav777.cc/wp-content/themes/baskerville/js/jquery-ui 131 | ||js.fhxiaoshuo.com^ 132 | ||juiceads.net^ 133 | ||juicyads.com^ 134 | ||live800.com^$domain=licai.com 135 | ||m.addthis.com/live/red_lojson/300lo.json 136 | ||m.paipai.fm/js/jquery.slides.min.js 137 | ||mobfox.com/ad_sdk.js 138 | ||moatads.com^ 139 | ||media.pussycash.com^$third-party 140 | ||member.jschina.com.cn/AD 141 | ||okmuxdbq.com^ 142 | ||onclickpredictiv.com^ 143 | ||onclickads.net^ 144 | ||oload.tv/assets/js/script.packed 145 | ||openload.co/assets/js/script.packed 146 | ||optimix.asia^ 147 | ||optimizely.com^$third-party 148 | ||networld.hk^$third-party 149 | ||nibblebit.com/assets/media/adverts.php 150 | ||padstm.com^$third-party 151 | ||projectwonderful.com$third-party 152 | ||popads.net^$third-party 153 | ||popcash.net^$third-party 154 | ||popmyads.com^$third-party 155 | ||prf.hn^$third-party 156 | ||prscripts.com^$third-party 157 | ||prpops.com^$third-party 158 | ||qiniucdn.com^$domain=enrz.com,image 159 | ||revcontent.com^$third-party 160 | ||serving-sys.com^ 161 | ||sexad.net^$third-party 162 | ||ssl.trace.zhiziyun.com^ 163 | ||statcounter.com/counter/counter.js 164 | ||stats.hosting24.com/count.php 165 | ||static.creatives.livejasmin.com/adcreative2/ 166 | ||static.xvideos.com/js/jquery.popunder.js 167 | ||strdef.world/js/acheck.js 168 | ||syndication.jsadapi.com^$third-party 169 | ||tianqi.com/img/wx2211.js 170 | ||tkres.tuku.cc/k32/ 171 | ||traffichaus.com^ 172 | ||trafficjunky.net^ 173 | ||trafficfactory.biz^ 174 | ||trafficstars.com^ 175 | ||tribalfusion.com^ 176 | ||trw12.com^$third-party 177 | ||uuxs.net^$subdocument 178 | ||videowood.tv/assets/js/popup.js 179 | ||videowood.tv/pop^$popup 180 | ||videowood.tv/pop2 181 | ||watchmygf.to^$third-party 182 | ||www.blnovel.com/cmjs/$script 183 | ||www.blnovel.com/e/$script 184 | ||www.blnovel.com/qrcode.php 185 | ||www.gelbooru.com/thumbnails/ 186 | ||www.pcbeta.com//data/cache/ggk.js 187 | ||xiamp4.com/tj.js 188 | ||xiucm.com^$third-party 189 | ||xemphimviet.net^$third-party 190 | ||xxxnavy.com^$third-party 191 | ||xtube.com/js/ht.js 192 | ||xtube.com/theme/v2/vendor/js-popunder/ 193 | ||yllix.com^ 194 | ||yahoo.com^*banner_ad 195 | ||yimg.com/*/ads/ 196 | ||yimg.com/av/gemini/ga/gemini.js 197 | ||yimg.com/rq/darla/ 198 | ||yimg.com/uq/syndication/yad.js 199 | ||yimg.com/zz/combo?cv 200 | ||zhongxinghuanyu.com^$third-party 201 | ||zedo.com^$third-party 202 | ||zencdn.net^$domain=freegaypornsex.net|www.gayvl.info 203 | ! 2345 204 | @@||union2.50bang.org^$third-party 205 | ! 6park 206 | !|http:$third-party,image,domain=www.6park.com 207 | !|https:$third-party,image,domain=www.6park.com 208 | @@||popo8.com^$domain=www.6park.com 209 | ! BiliBili 210 | live.bilibili.com##.fans-medal-item-ctnr 211 | ! Cam4 212 | ||cam4.com/ads/ 213 | ||cam4.com/buygift/ 214 | ||cam4.com/directoryFanClubs? 215 | */web/js/th/$domain=cam4.com 216 | cam4.com###Cam4DialogContainer 217 | cam4.com###disclaimerModal 218 | cam4.com###goldNavbar 219 | cam4.com###subfoot 220 | cam4.com###tippingCulture 221 | cam4.com##.hbanner 222 | cam4.com##.promo-center 223 | cam4.com##.sponsorAd 224 | cam4.com##.stickyAd 225 | cam4.com##.xmlAdsTitle 226 | cam4.com##.xmlAdsWrapper 227 | ! Chaturbate 228 | ||chaturbate.com/affiliates/ 229 | ||nsimg.net^ 230 | chaturbate.com##IMG[rel="nofollow"] 231 | chaturbate.com##.ad 232 | chaturbate.com##.banner 233 | ! 中华网闲置2分钟广告 234 | junshi.china.com###mod-box 235 | junshi.china.com##.w_xiao>.side_bdgg 236 | toutiao.china.com###js-free-time-show 237 | ! COCOmanhua 238 | @@||cdndx.clouddata8g.xyz^$script,domain=www.cocomanhua.com 239 | ! 低端影视 240 | ||ddrk.me/vjs-plugins/videojs.das.min.js 241 | !通用去除dplayer播放器logo https://bbs.kafan.cn/forum.php?mod=redirect&goto=findpost&ptid=2180923&pid=46929896 242 | ##.dplayer-logo 243 | ###sponsorAdDiv 244 | ###sponsorAdCountdown 245 | ###adleft 246 | ###adright 247 | nfmovies.com##[src*="/pic/tu/"] 248 | nfmovies.com##[src*="/static/"] 249 | ||nfmovies.com/templets/default/images/js/layer/layer.js 250 | nfmovies.com###aaaDiv 251 | nfmovies.com###zzzif 252 | nfmovies.com###zzzif2 253 | nfmovies.com###aaaCountdown 254 | nfmovies.com###aaaDiv2 255 | nfmovies.com##.fa fa-volume-down 256 | nfmovies.com##.close-box.tips 257 | nfmovies.com##.hidden-xs.dropdown-hover 258 | nfmovies.com##li.dropdown-hover:nth-of-type(9) 259 | nfmovies.com##.myui-player__operate > li:nth-of-type(1) 260 | nfmovies.com##.myui-player__operate > li:nth-of-type(4) 261 | nfmovies.com##.myui-player__operate > li:nth-of-type(5) 262 | nfmovies.com##+js(nano-sib) 263 | nfmovies.com##+js(nostif, container) 264 | nfmovies.com##body:style(opacity:1!important) 265 | nfmovies.com##body > div.hidden-xs 266 | @@||www.nfmovies.com/static/side.jpg 267 | @@||www.nfmovies.com/pic/tu/banner-03.jpg 268 | @@||www.nfmovies.com/pic/tu/banner03.jpg 269 | ! Facebook 270 | www.facebook.com###pagelet_side_ads 271 | www.facebook.com##.egoOrganicColumn+* 272 | ! ithome 273 | ithome.com###a_ad 274 | www.ithome.com###lapin 275 | www.ithome.com##.content>a[href="http://m.ithome.com/ithome/"] 276 | ||img.ithome.com/file/js/wap/apprecommend.js 277 | ! Letv 278 | |http://*/letv-gug/ 279 | ||banana.le.com/letv_tracker.js$domain=m.le.com 280 | ||dc.letv.com/op/? 281 | ||player.letvcdn.com/*/newplayer/1/WatchingBuy.swf 282 | ! leisu 283 | @@||tracker.namitiyu.com^ 284 | ! mgtv 285 | m.mgtv.com##.mg-dcross 286 | www.mgtv.com##.m-headgg 287 | ! mydrivers 288 | www.mydrivers.com###weixin_box 289 | ! OutLook 290 | ||res.office365.com/*/scripts/owa.AdsPanel.js 291 | ||res.office365.com/*/scripts/microsoft.owa.adsbar.js 292 | ||outlook.live.com/*/scripts/microsoft.owa.adsbar.js 293 | ! Paper 294 | www.thepaper.cn##.pdtt01 295 | m.thepaper.cn##.toutiao 296 | m.thepaper.cn##.bot_banner 297 | ! PornHub 298 | pornhub.com###hd-rightColVideoPage>none 299 | pornhub.com##.videos-morepad.videos.full-row-thumbs.videos-being-watched.logInHotContainer+* 300 | pornhub.com##.inesuch 301 | pornhub.com##.hd.clear 302 | ||doublepimpssl.com^$third-party 303 | ||phncdn.com/html5shiv-*.js 304 | ||phncdn.com/www-static/js/widgets-live-popup.js 305 | ||phncdn.com/www-static/js/ph-tracking.js 306 | ||phncdn.com/www-static/js/promo-banner.js 307 | ! QQ video 308 | @@||video.qq.com^*&refer=http$script 309 | ! Youtube 310 | youtube.com###contents>ytd-search-pyv-renderer 311 | youtube.com##+js(json-prune, playerResponse.adPlacements playerResponse.playerAds adPlacements playerAds) 312 | youtube.com###video-masthead 313 | youtube.com###masthead-ad 314 | m.youtube.com###koya_child_6 315 | !m.youtube.com##._menb>._mab:nth-child(1) 316 | ||youtube.com/*=adunit& 317 | ||youtube.com/*&yt_ad 318 | ||youtube.com/get_midroll_info? 319 | ! 心魔听书网 320 | ||m.ixinmo.com/template/m/js/yidong*.js 321 | ! Baidu 322 | ^monitor.jpg?xcode^ 323 | pan.baidu.com##.upload-bar.global-clearfix 324 | -------------------------------------------------------------------------------- /mod/TiebaBlock.txt: -------------------------------------------------------------------------------- 1 | ! Images & Scripts 2 | */widget/spage_game_tab/$domain=tieba.baidu.com 3 | ||xiu8.com/live/$domain=tieba.baidu.com 4 | ||share.baidu.com/static/js/ 5 | ||tieba.baidu.com/app/pop/bws/popup 6 | ||tieba.baidu.com/tbapp/user/getRecommendApp 7 | ||static.tieba.baidu.com/tb/pms/ 8 | ||static.tieba.baidu.com/tb/img/pv.gif 9 | ||static.tieba.baidu.com/tb/img/track.gif 10 | ||bdstatic.com/r/www/*cache/baidu_search/ 11 | ||bdstatic.com/tb/_/qrcode_*.js 12 | ||bdstatic.com/tb/_/umoney_*.js 13 | ||bdstatic.com/tb/cms/post/bubble/ 14 | ||bdstatic.com/tb/img/firework_ 15 | ||bdstatic.com/tb/static-common/js/pic_share/logger.js 16 | ||bdstatic.com/tb/static-pb/img/voice_ad.gif 17 | ! iTieba & Homepage 18 | jump.bdimg.com,tieba.baidu.com###adide_platform 19 | jump.bdimg.com,tieba.baidu.com###media_item 20 | jump.bdimg.com,tieba.baidu.com###spage_game_tab_wrapper 21 | jump.bdimg.com,tieba.baidu.com###spage_liveshow_slide 22 | jump.bdimg.com,tieba.baidu.com###plat_act_wrapper 23 | jump.bdimg.com,tieba.baidu.com##.ihome_aside_section[j-mygift] 24 | jump.bdimg.com,tieba.baidu.com##.ihome_game_group 25 | jump.bdimg.com,tieba.baidu.com##.member_rank 26 | jump.bdimg.com,tieba.baidu.com##.userinfo_scores 27 | ! Top Right 28 | jump.bdimg.com,tieba.baidu.com##.fMember_cnt 29 | jump.bdimg.com,tieba.baidu.com##.split 30 | jump.bdimg.com,tieba.baidu.com##.u_app 31 | jump.bdimg.com,tieba.baidu.com##.u_appcenterEntrance 32 | !jump.bdimg.com,tieba.baidu.com##.u_bdhome 33 | jump.bdimg.com,tieba.baidu.com##.u_blue 34 | jump.bdimg.com,tieba.baidu.com##.u_game 35 | jump.bdimg.com,tieba.baidu.com##.u_grab_treasure 36 | jump.bdimg.com,tieba.baidu.com##.u_joinvip 37 | jump.bdimg.com,tieba.baidu.com##.u_split 38 | !jump.bdimg.com,tieba.baidu.com##.u_member 39 | jump.bdimg.com,tieba.baidu.com##.u_menu_tbmall 40 | jump.bdimg.com,tieba.baidu.com##.u_mytbmall 41 | jump.bdimg.com,tieba.baidu.com##.u_xiu8 42 | jump.bdimg.com,tieba.baidu.com##.u_wallet 43 | ! Top 44 | jump.bdimg.com,tieba.baidu.com###local_board 45 | jump.bdimg.com,tieba.baidu.com###j_navtab_wanle 46 | jump.bdimg.com,tieba.baidu.com###j_navtab_game 47 | jump.bdimg.com,tieba.baidu.com##.gift-goin 48 | jump.bdimg.com,tieba.baidu.com##.icon_group 49 | jump.bdimg.com,tieba.baidu.com##.j_tbnav_tab_a[stats-data^="fr=tb0_forum&st_mod=frs&st_value=tabgroup"] 50 | jump.bdimg.com,tieba.baidu.com##.star_nav_ico_activity 51 | jump.bdimg.com,tieba.baidu.com##.star_nav_ico_deal 52 | jump.bdimg.com,tieba.baidu.com##.star_nav_ico_group 53 | jump.bdimg.com,tieba.baidu.com##.star_nav_ico_tuan 54 | ! Sides 55 | jump.bdimg.com,tieba.baidu.com###aside_ad 56 | jump.bdimg.com,tieba.baidu.com###aside_ad_wrapper 57 | jump.bdimg.com,tieba.baidu.com###novel-ranking 58 | jump.bdimg.com,tieba.baidu.com###tieba-notice.region_bright 59 | jump.bdimg.com,tieba.baidu.com##.app_download_box 60 | jump.bdimg.com,tieba.baidu.com##.app_forum_rank_float 61 | jump.bdimg.com,tieba.baidu.com##.aside_region.celebrity 62 | jump.bdimg.com,tieba.baidu.com##.fansparty-wrap 63 | jump.bdimg.com,tieba.baidu.com##.guess-sidebar-container 64 | jump.bdimg.com,tieba.baidu.com##.nani_app_download_box 65 | jump.bdimg.com,tieba.baidu.com##.platform_aside_tieba_partner 66 | jump.bdimg.com,tieba.baidu.com##.profile_bottom 67 | jump.bdimg.com,tieba.baidu.com##.region_bright.celebrity 68 | jump.bdimg.com,tieba.baidu.com##.tbui_fbar_bazhu 69 | jump.bdimg.com,tieba.baidu.com##.tbui_fbar_props 70 | jump.bdimg.com,tieba.baidu.com##.tieba_notice 71 | jump.bdimg.com,tieba.baidu.com##.user_score 72 | ! Central 73 | jump.bdimg.com,tieba.baidu.com###top_activity 74 | jump.bdimg.com,tieba.baidu.com##.achievement_medal_wrapper 75 | jump.bdimg.com,tieba.baidu.com##.card_userinfo_honor 76 | jump.bdimg.com,tieba.baidu.com##.d_icons 77 | jump.bdimg.com,tieba.baidu.com##.d_nameplate 78 | jump.bdimg.com,tieba.baidu.com##.dialogJ.game_player_auth_dialog 79 | jump.bdimg.com,tieba.baidu.com##.dialogJ.tieba-sign-card 80 | jump.bdimg.com,tieba.baidu.com##.fav-wrapper 81 | jump.bdimg.com,tieba.baidu.com##.icon_author 82 | jump.bdimg.com,tieba.baidu.com##.icon_wrap 83 | jump.bdimg.com,tieba.baidu.com##.icon_replyer 84 | jump.bdimg.com,tieba.baidu.com##.icon_tbworld 85 | jump.bdimg.com,tieba.baidu.com##.j-post-send-gift 86 | jump.bdimg.com,tieba.baidu.com##.p_mall_tail 87 | jump.bdimg.com,tieba.baidu.com##.pre_icon_wrap 88 | jump.bdimg.com,tieba.baidu.com##.save_face_bg 89 | jump.bdimg.com,tieba.baidu.com##.sofa_front_list_wrap 90 | jump.bdimg.com,tieba.baidu.com##.share_btn_wrapper 91 | jump.bdimg.com,tieba.baidu.com##.thread_recommend_ps 92 | jump.bdimg.com,tieba.baidu.com##.user_card_vip_tips 93 | ! Bottom 94 | jump.bdimg.com,tieba.baidu.com###bdshare 95 | jump.bdimg.com,tieba.baidu.com###guide_fc 96 | jump.bdimg.com,tieba.baidu.com###xiu8_follow_warn 97 | jump.bdimg.com,tieba.baidu.com##.add_guessing_btn 98 | jump.bdimg.com,tieba.baidu.com##.edui-btn-medal 99 | jump.bdimg.com,tieba.baidu.com##.edui-btn-paypost 100 | jump.bdimg.com,tieba.baidu.com##.j_surveillance 101 | jump.bdimg.com,tieba.baidu.com##.showBar 102 | ! Mobile 103 | ||tieba.baidu.com/mo/q/appSpecialThread 104 | tieba.baidu.com##.client_ghost_icon 105 | tieba.baidu.com##.daoliu_sign_in_show 106 | tieba.baidu.com##.dia_mask 107 | tieba.baidu.com##.dia_wrapper 108 | tieba.baidu.com##.forum_recommend_w 109 | tieba.baidu.com##.light_top_ext_area 110 | tieba.baidu.com##.j_click_stats, .j_click_stats+* 111 | tieba.baidu.com##.more_btn_package 112 | tieba.baidu.com##.tuijian-wrap 113 | -------------------------------------------------------------------------------- /mod/ad-edentw-title.txt: -------------------------------------------------------------------------------- 1 | [Adblock Plus 2.0] 2 | ! Title: edentwCustom 3 | ! Expires: 12 hours 4 | ! Version: 201412030951 5 | ! Last Modified: 201412030952 6 | ! Homepage: https://adf.minggo.eu.org 7 | ! 本规则合并自Adblock Warning Removal List、ABP filters、anti-adblock-killer-filters,感谢各位大大的分享! 8 | ! 仅合并规则,未做其余任何处理 9 | ! 如有任何疑问、意见或建议,请反馈至:HalfLife吧 10 | ! 11 | -------------------------------------------------------------------------------- /mod/ad-mo-title.txt: -------------------------------------------------------------------------------- 1 | [Adblock Plus 2.0] 2 | ! Title: My AdFilters(for Mobile) 3 | ! Expires: 12 hours 4 | ! Version: 201412030951 5 | ! Last Modified: 201412030952 6 | ! Homepage: https://adf.minggo.eu.org 7 | ! 本规则合并自Easylist、EasylistChina、EasyPrivacy、CJX'sAnnoyance 8 | ! 感谢各位前辈的分享! 9 | ! 如有任何疑问、意见或建议,请反馈至:HalfLife吧 10 | ! 11 | -------------------------------------------------------------------------------- /mod/ad-pc-title.txt: -------------------------------------------------------------------------------- 1 | [Adblock Plus 2.0] 2 | ! Title: My AdFilters(for PC) 3 | ! Expires: 12 hours 4 | ! Version: 201412030951 5 | ! Last Modified: 201412030952 6 | ! Homepage: https://adf.minggo.eu.org 7 | ! 本规则合并自乘风视频广告过滤规则、Easylist、EasylistChina、EasyPrivacy、CJX'sAnnoyance 8 | ! 并补充了贴吧过滤规则,感谢各位前辈的分享! 9 | ! 如有任何疑问、意见或建议,请反馈至:HalfLife吧 10 | ! 11 | -------------------------------------------------------------------------------- /mod/ad-title.txt: -------------------------------------------------------------------------------- 1 | [Adblock Plus 2.0] 2 | ! Title: My AdFilters 3 | ! Expires: 12 hours 4 | ! Version: 201412030951 5 | ! Last Modified: 201412030952 6 | ! Homepage: https://adf.minggo.eu.org 7 | ! 本规则合并自乘风视频广告过滤规则、EasylistChina、EasylistLite、CJX'sAnnoyance 8 | ! 并补充了贴吧过滤规则,感谢各位前辈的分享! 9 | ! 如有任何疑问、意见或建议,请反馈至:HalfLife吧 10 | ! 11 | -------------------------------------------------------------------------------- /mod/ad2-title.txt: -------------------------------------------------------------------------------- 1 | [Adblock Plus 2.0] 2 | ! Title: CJX's AdFilters 3 | ! Expires: 12 hours 4 | ! Version: 201412030951 5 | ! Last Modified: 201412030952 6 | ! Homepage: https://adf.minggo.eu.org 7 | ! 本规则合并自乘风视频广告过滤规则、EasylistChina、EasylistLite、CJX'sAnnoyance 8 | ! 仅合并规则,未做其余任何处理 9 | ! 如有任何疑问、意见或建议,请反馈至:HalfLife吧 10 | ! 11 | -------------------------------------------------------------------------------- /mod/ad3-title.txt: -------------------------------------------------------------------------------- 1 | [Adblock Plus 2.0] 2 | ! Title: AdFilters 3 | ! Expires: 12 hours 4 | ! Version: 201412030951 5 | ! Last Modified: 201412030952 6 | ! Homepage: https://adf.minggo.eu.org 7 | ! 本规则合并自乘风视频广告过滤规则、EasylistChina、EasylistLite、CJX'sAnnoyance、EasyPrivacy,感谢各位大大的分享! 8 | ! 仅合并规则,未做其余任何处理 9 | ! 如有任何疑问、意见或建议,请反馈至:HalfLife吧 10 | ! 11 | -------------------------------------------------------------------------------- /mod/addChecksum.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | 3 | ############################################################################# 4 | # To add a checksum to a subscription file, run the script like this: # 5 | # perl addChecksum.pl subscription.txt # 6 | ############################################################################# 7 | 8 | use strict; 9 | use warnings; 10 | use Digest::MD5 qw(md5_base64); 11 | 12 | die "Usage: $^X $0 subscription.txt\n" unless @ARGV; 13 | 14 | #my $file = $ARGV[0]; 15 | foreach my $file (@ARGV) { 16 | my $data = readFile($file); 17 | 18 | # Get existing checksum. 19 | $data =~ /^.*!\s*checksum[\s\-:]+([\w\+\/=]+).*\n/gmi; 20 | my $oldchecksum = $1; 21 | 22 | # Remove already existing checksum. 23 | $data =~ s/^.*!\s*checksum[\s\-:]+([\w\+\/=]+).*\n//gmi; 24 | 25 | # Calculate new checksum: remove all CR symbols and empty 26 | # lines and get an MD5 checksum of the result (base64-encoded, 27 | # without the trailing = characters). 28 | my $checksumData = $data; 29 | $checksumData =~ s/\r//g; 30 | $checksumData =~ s/\n+/\n/g; 31 | 32 | # Calculate new checksum 33 | my $checksum = md5_base64($checksumData); 34 | 35 | # If the old checksum matches the new one bail. 36 | if ($checksum eq $oldchecksum) 37 | { 38 | $data = (); 39 | next; 40 | } 41 | 42 | # Update the date. 43 | my @months = qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec); 44 | my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(); 45 | $year += 1900; # Year is years since 1900. 46 | my $todaysdate = "$mday $months[$mon] $year"; 47 | $data =~ s/(^.*!.*Updated:\s*)(.*)\s*$/$1$todaysdate/gmi; 48 | 49 | # Recalculate the checksum as we've altered the date. 50 | $checksumData = $data; 51 | $checksumData =~ s/\r//g; 52 | $checksumData =~ s/\n+/\n/g; 53 | $checksum = md5_base64($checksumData); 54 | 55 | # Insert checksum into the file 56 | $data =~ s/(\r?\n)/$1! Checksum: $checksum$1/; 57 | 58 | writeFile($file, $data); 59 | $data = (); 60 | } 61 | 62 | sub readFile 63 | { 64 | my $file = shift; 65 | 66 | open(local *FILE, "<", $file) || die "Could not read file '$file'"; 67 | binmode(FILE); 68 | local $/; 69 | my $result = ; 70 | close(FILE); 71 | 72 | return $result; 73 | } 74 | 75 | sub writeFile 76 | { 77 | my ($file, $contents) = @_; 78 | 79 | open(local *FILE, ">", $file) || die "Could not write file '$file'"; 80 | binmode(FILE); 81 | print FILE $contents; 82 | close(FILE); 83 | } 84 | --------------------------------------------------------------------------------