写了个屏蔽不良网站的 chrome 扩展,但是...

2018-08-03 19:00:07 +08:00
 cr4fun

有时候不小心,总会点到一些很黄很暴力的网址,如果自己一个人还好,如果旁边人多,那得多尴尬?

所以,就写了一个 chrome 扩展插件,希望点击到不好的网站时直接给 404。

现在,我搜集了 3 个黄色网站,放在了 blacklist.js 里,只要这个黑名单里的 url 被打开,扩展就会自动给 404。

那么问题来了,如何在 chrome 扩展里可以每天自动更新这个黑名单?这样就不用每次重新载入扩展了。

高手们给个参考建议哈?

https://github.com/pmthink/404

10768 次点击
所在节点    Chrome
60 条回复
vmos
2018-08-04 14:25:32 +08:00
你永远想不到你的项目是怎么火的
yuanfnadi
2018-08-04 14:44:23 +08:00
@cr4fun

你的需求很简单 我之前写过一个一键转换文档中英文的插件。
自己维护了一个中文文档-》英文文档的 map
自动更新原理就是把数据放到 github,每次启动浏览器都从 github 请求一些文件。

源码就几行。
https://github.com/DiamondYuan/switch-document/blob/master/background.js
xcssum
2018-08-04 14:45:54 +08:00
启动的时候尝试拉一下你 github 上的 blacklist.js ?
Tyanboot
2018-08-04 15:00:31 +08:00
说了多少遍了,md5 不是加密,是摘要。
CSwater
2018-08-04 15:15:34 +08:00
@Tyanboot @Tyanboot md5 属于单向加密 : ), 说是加密也未尝不可.
InternetExplorer
2018-08-04 16:31:44 +08:00
@cr4fun #33 你加了 md5 别人怎么知道你屏蔽了些什么,所以必须明文 口亨~
898601566
2018-08-04 16:40:07 +08:00
成年人应该知道的网站
Greatshu
2018-08-04 17:27:20 +08:00
建议定期使用 17ce 等工具检测网站可用性
zhishidahao
2018-08-04 18:38:20 +08:00
火绒好像是有个屏蔽这种网站的功能,lz 研究一下能不能把里面的 list 导出来用在你的扩展里
cr4fun
2018-08-04 23:03:04 +08:00
@yuanfnadi 非常感谢,已更新,现在能自动读取 github 上的列表了。
cr4fun
2018-08-04 23:10:16 +08:00
感谢 @yuanfnadi

用你的方法,已经能实现自动加载 json 文件升级黑名单了。这样以后只要维护 blacklist.json,扩展插件就可以挡住更多的不良网站。

现在,打算要做个新功能,就是一旦用户访问钓鱼网站时,能强制给跳转到真网站上去。

因此,目前需要考虑的是,钓鱼网站列表写在黑名单里,还是写在一另一个 json 里?欢迎大家给出建议。
nciyuan
2018-08-05 00:18:19 +08:00
@cr4fun 推荐使用正则表达式,比如
(^|\.)sexx20[0-9]?\.com$
nciyuan
2018-08-05 00:22:28 +08:00
@cr4fun 有了钓鱼网站列表,还得有一个转向地址,另外这种网站的域名和主机基本上域名一星期一星期一换,ip 天天换,封禁域名的话建议加上过期时间,封 ip 万万不可,因为 CloudFlare,所以不太现实,还有赛尔号开发商上海淘米曾经推出过一款安全浏览器,然后就没有然后了
agagega
2018-08-05 01:00:31 +08:00
不可逆散列就完事了
lslqtz
2018-08-05 03:37:50 +08:00
只希望不要加密,😄
wdv2ly
2018-08-05 09:55:21 +08:00
第一条 4chan ?没有 pornhub ?🙃
cr4fun
2018-08-05 19:11:08 +08:00
@nciyuan 如果接入区块链,用户贡献虚假网站即可得 token,如何?
cr4fun
2018-08-05 20:50:14 +08:00
@nciyuan 是个好方法,否则数量越来越多,循环比对很浪费时间。但是这种正则匹配,可能会误伤一些正常网站,因此还得配合一个白名单。
nciyuan
2018-08-06 05:13:47 +08:00
@cr4fun 我认为正则不是必须使用,该用还得一条一条的,另外正则其实好处在于规律,比如谷歌全家桶域名,别人写的 shit 一样 ACL 是一条一条加,传统的 hosts 也且只能一条一条加,特别反感这种 ACL,还去 Github 丢人。所以我只要
(^|\.)google\.[a-z]+$
(^|\.)google\.com?\.[a-z][a-z]$
这两条中第一条就匹配了谷歌所有的 ccTLD 域名,以及 gTLD 的保护性域名,当然 google.wang 这种也能匹配上,而第二条亦可以匹配谷歌的 2ndTLD 域名类似 co.jpcom.twco.uk 这些 co/com+ccTLD,这种东西的魅力就在于此。另外微软家 msn.global 和 live.global 以及 windows.global 也是可以用这种方法匹配(微软土豪,几百个域名)

另外第二条您可能有点过了,现在 V2 咋啥玩意都能根 blockchain 联系在一块?谁当做节点?还是用 ETH?谁出成本?这种东西的维护真的很心累,你看 github 上 hosts 停更了,ss 原作者已退,蓝灯已跑路,gfwlist 等很多 list 的维护者也基本上缓更,所以这就是全凭兴趣,真的很难做的长久,再说推广还是个问题
cr4fun
2018-08-07 17:50:04 +08:00
@nciyuan 但愿能坚持下去~

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/476702

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX