reject-data-source.js 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235
  1. // @ts-check
  2. /** @type {[string, boolean][]} */
  3. const HOSTS = [
  4. ['https://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&showintro=0&mimetype=plaintext', true],
  5. ['https://raw.githubusercontent.com/hoshsadiq/adblock-nocoin-list/master/hosts.txt', false],
  6. ['https://raw.githubusercontent.com/crazy-max/WindowsSpyBlocker/master/data/hosts/spy.txt', false],
  7. ['https://raw.githubusercontent.com/jerryn70/GoodbyeAds/master/Extension/GoodbyeAds-Xiaomi-Extension.txt', false],
  8. ['https://raw.githubusercontent.com/jdlingyu/ad-wars/master/hosts', false]
  9. ]
  10. const ADGUARD_FILTERS = /** @type {const} */([
  11. // Easy List
  12. [
  13. 'https://easylist.to/easylist/easylist.txt',
  14. [
  15. 'https://easylist-downloads.adblockplus.org/easylist.txt',
  16. 'https://raw.githubusercontent.com/easylist/easylist/gh-pages/easylist.txt',
  17. 'https://secure.fanboy.co.nz/easylist.txt'
  18. ],
  19. false
  20. ],
  21. // Easy Privacy
  22. [
  23. 'https://easylist.to/easylist/easyprivacy.txt',
  24. [
  25. 'https://secure.fanboy.co.nz/easyprivacy.txt',
  26. 'https://raw.githubusercontent.com/easylist/easylist/gh-pages/easyprivacy.txt',
  27. 'https://easylist-downloads.adblockplus.org/easyprivacy.txt'
  28. ],
  29. false
  30. ],
  31. // AdGuard DNS Filter
  32. [
  33. 'https://adguardteam.github.io/AdGuardSDNSFilter/Filters/filter.txt',
  34. [
  35. 'https://filters.adtidy.org/extension/chromium/filters/15.txt'
  36. ]
  37. ],
  38. // AdGuard CNAME Filter Combined
  39. 'https://raw.githubusercontent.com/AdguardTeam/cname-trackers/master/data/combined_disguised_ads.txt',
  40. 'https://raw.githubusercontent.com/AdguardTeam/cname-trackers/master/data/combined_disguised_trackers.txt',
  41. 'https://raw.githubusercontent.com/AdguardTeam/cname-trackers/master/data/combined_disguised_clickthroughs.txt',
  42. 'https://raw.githubusercontent.com/AdguardTeam/cname-trackers/master/data/combined_disguised_trackers.txt',
  43. 'https://raw.githubusercontent.com/AdguardTeam/cname-trackers/master/data/combined_disguised_microsites.txt',
  44. // uBlock Origin Filter List
  45. [
  46. 'https://ublockorigin.github.io/uAssets/filters/filters.txt',
  47. [
  48. 'https://ublockorigin.github.io/uAssetsCDN/filters/filters.txt',
  49. 'https://ublockorigin.pages.dev/filters/filters.txt'
  50. ],
  51. false
  52. ],
  53. [
  54. 'https://ublockorigin.github.io/uAssets/filters/filters-2020.txt',
  55. [
  56. 'https://ublockorigin.github.io/uAssetsCDN/filters/filters-2020.txt',
  57. 'https://ublockorigin.pages.dev/filters/filters-2020.txt'
  58. ],
  59. false
  60. ],
  61. [
  62. 'https://ublockorigin.github.io/uAssets/filters/filters-2021.txt',
  63. [
  64. 'https://ublockorigin.github.io/uAssetsCDN/filters/filters-2021.txt',
  65. 'https://ublockorigin.pages.dev/filters/filters-2021.txt'
  66. ],
  67. false
  68. ],
  69. [
  70. 'https://ublockorigin.github.io/uAssets/filters/filters-2022.txt',
  71. [
  72. 'https://ublockorigin.github.io/uAssetsCDN/filters/filters-2022.txt',
  73. 'https://ublockorigin.pages.dev/filters/filters-2022.txt'
  74. ],
  75. false
  76. ],
  77. [
  78. 'https://ublockorigin.github.io/uAssets/filters/filters-2023.txt',
  79. [
  80. 'https://ublockorigin.github.io/uAssetsCDN/filters/filters-2023.txt',
  81. 'https://ublockorigin.pages.dev/filters/filters-2023.txt'
  82. ],
  83. false
  84. ],
  85. // uBlock Origin Badware Risk List
  86. [
  87. 'https://ublockorigin.github.io/uAssets/filters/badware.txt',
  88. [
  89. 'https://ublockorigin.github.io/uAssetsCDN/filters/badware.txt',
  90. 'https://ublockorigin.pages.dev/filters/badware.txt'
  91. ],
  92. false
  93. ],
  94. // uBlock Origin Privacy List
  95. [
  96. 'https://ublockorigin.github.io/uAssets/filters/privacy.txt',
  97. [
  98. 'https://ublockorigin.github.io/uAssetsCDN/filters/privacy.txt',
  99. 'https://ublockorigin.pages.dev/filters/privacy.txt'
  100. ],
  101. false
  102. ],
  103. // uBlock Origin Resource Abuse
  104. [
  105. 'https://ublockorigin.github.io/uAssets/filters/resource-abuse.txt',
  106. [
  107. 'https://ublockorigin.github.io/uAssetsCDN/filters/resource-abuse.txt',
  108. 'https://ublockorigin.pages.dev/filters/resource-abuse.txt'
  109. ],
  110. false
  111. ],
  112. // uBlock Origin Unbreak
  113. [
  114. 'https://ublockorigin.github.io/uAssets/filters/unbreak.txt',
  115. [
  116. 'https://ublockorigin.github.io/uAssetsCDN/filters/unbreak.txt',
  117. 'https://ublockorigin.pages.dev/filters/unbreak.txt'
  118. ],
  119. false
  120. ],
  121. // AdGuard Base Filter
  122. 'https://filters.adtidy.org/extension/ublock/filters/2_without_easylist.txt',
  123. // AdGuard Mobile AD
  124. 'https://filters.adtidy.org/extension/ublock/filters/11_optimized.txt',
  125. // AdGuard Tracking Protection
  126. 'https://filters.adtidy.org/extension/ublock/filters/3_optimized.txt',
  127. // AdGuard Japanese filter
  128. 'https://filters.adtidy.org/extension/ublock/filters/7_optimized.txt',
  129. // AdGuard Chinese filter (EasyList China + AdGuard Chinese filter)
  130. 'https://filters.adtidy.org/extension/ublock/filters/224_optimized.txt',
  131. // AdGuard Annoyances filter
  132. 'https://filters.adtidy.org/android/filters/14_optimized.txt',
  133. // EasyList Germany filter
  134. [
  135. 'https://easylist.to/easylistgermany/easylistgermany.txt',
  136. [
  137. 'https://easylist-downloads.adblockplus.org/easylistgermany.txt'
  138. ],
  139. false
  140. ],
  141. // Curben's UrlHaus Malicious URL Blocklist
  142. [
  143. 'https://curbengh.github.io/urlhaus-filter/urlhaus-filter-agh-online.txt',
  144. [
  145. 'https://urlhaus-filter.pages.dev/urlhaus-filter-agh-online.txt',
  146. // Prefer mirror, since malware-filter.gitlab.io has not been updated for a while
  147. // 'https://malware-filter.gitlab.io/urlhaus-filter/urlhaus-filter-agh-online.txt'
  148. ],
  149. false
  150. ],
  151. // Curben's Phishing URL Blocklist
  152. [
  153. 'https://curbengh.github.io/phishing-filter/phishing-filter-agh.txt',
  154. [
  155. 'https://phishing-filter.pages.dev/phishing-filter-agh.txt',
  156. // Prefer mirror, since malware-filter.gitlab.io has not been updated for a while
  157. // 'https://malware-filter.gitlab.io/malware-filter/phishing-filter-agh.txt'
  158. ],
  159. false
  160. ],
  161. // Curben's PUP Domains Blocklist
  162. [
  163. 'https://curbengh.github.io/pup-filter/pup-filter-agh.txt',
  164. [
  165. 'https://pup-filter.pages.dev/pup-filter-agh.txt',
  166. // Prefer mirror, since malware-filter.gitlab.io has not been updated for a while
  167. // 'https://malware-filter.gitlab.io/malware-filter/pup-filter-agh.txt'
  168. ],
  169. false
  170. ],
  171. // GameConsoleAdblockList
  172. 'https://raw.githubusercontent.com/DandelionSprout/adfilt/master/GameConsoleAdblockList.txt',
  173. // PiHoleBlocklist
  174. 'https://raw.githubusercontent.com/Perflyst/PiHoleBlocklist/master/SmartTV-AGH.txt',
  175. // Spam404
  176. 'https://raw.githubusercontent.com/Spam404/lists/master/adblock-list.txt',
  177. // BarbBlock
  178. 'https://paulgb.github.io/BarbBlock/blacklists/ublock-origin.txt',
  179. // Brave First Party & First Party CNAME
  180. 'https://raw.githubusercontent.com/brave/adblock-lists/master/brave-lists/brave-firstparty.txt',
  181. 'https://raw.githubusercontent.com/brave/adblock-lists/master/brave-lists/brave-firstparty-cname.txt',
  182. 'https://raw.githubusercontent.com/brave/adblock-lists/master/coin-miners.txt'
  183. ]);
  184. const PREDEFINED_WHITELIST = [
  185. 'localhost',
  186. 'broadcasthost',
  187. 'ip6-loopback',
  188. 'ip6-localnet',
  189. 'ip6-mcastprefix',
  190. 'ip6-allnodes',
  191. 'ip6-allrouters',
  192. 'ip6-allhosts',
  193. 'mcastprefix',
  194. 'skk.moe',
  195. 'analytics.google.com',
  196. 'msa.cdn.mediaset.net', // Added manually using DOMAIN-KEYWORDS
  197. 'cloud.answerhub.com',
  198. 'ae01.alicdn.com',
  199. 'whoami.akamai.net',
  200. 'whoami.ds.akahelp.net',
  201. 'pxlk9.net.', // This one is malformed from EasyList, which I will manually add instead
  202. 'instant.page', // No, it doesn't violate anyone's privacy. I will whitelist it
  203. 'piwik.pro',
  204. 'mixpanel.com',
  205. 'cdn.mxpnl.com',
  206. 'heapanalytics.com',
  207. 'segment.com',
  208. 'segmentify.com',
  209. 't.co', // pgl yoyo add t.co to the blacklist
  210. 'survicate.com', // AdGuardDNSFilter
  211. 'perfops.io', // AdGuardDNSFilter
  212. 'd2axgrpnciinw7.cloudfront.net', // ADGuardDNSFilter
  213. 'tb-lb.sb-cd.com', // AdGuard
  214. 'storage.yandexcloud.net', // phishing list
  215. 'login.microsoftonline.com', // phishing list
  216. 'api.xiaomi.com', // https://github.com/jerryn70/GoodbyeAds/issues/281
  217. 'api.io.mi.com', // https://github.com/jerryn70/GoodbyeAds/issues/281
  218. 'cdn.userreport.com', // https://github.com/AdguardTeam/AdGuardSDNSFilter/issues/1158
  219. 'ip-api.com',
  220. 'fastly-analytics.com',
  221. 'syd1.digitaloceanspaces.com',
  222. 's3.nl-ams.scw.cloud',
  223. 'geolocation-db.com'
  224. ];
  225. const PREDEFINED_ENFORCED_BACKLIST = [
  226. 'telemetry.mozilla.org'
  227. ];
  228. module.exports.HOSTS = HOSTS;
  229. module.exports.ADGUARD_FILTERS = ADGUARD_FILTERS;
  230. module.exports.PREDEFINED_WHITELIST = PREDEFINED_WHITELIST;
  231. module.exports.PREDEFINED_ENFORCED_BACKLIST = PREDEFINED_ENFORCED_BACKLIST;