其實我根本不知道色情守門員的原理是什麼,也不想知道 (怨念很深)
這個程式沒有那麼神通廣大,不能自動偵測網站有沒有腥羶色,只能擋掉你指定的網站
本人不是什麼高手,只求堪用就好~
大家可以把程式裝在男/女朋友或小孩的電腦裡,設定擋掉指定網站的時間,時間到了又可以上了喔!
使用環境
程式碼
import time
from datetime import datetime as dt
hosts_path = "C:/Windows/System32/drivers/etc/hosts" # 這是Windows系統的路徑,別的系統我不會喔
redirect = "127.0.0.1" # 這邊設定連到本機,你可以設定任何莫名其妙的IP
website_list = ["cn.pornhub.com","www.pornhub.com"] # 要擋的網站
while True:
if dt(dt.now().year, dt.now().month, dt.now().day,00) < dt.now() < dt(dt.now().year, dt.now().month, dt.now().day,23): # 設定禁止時間區間(24小時制)
print("守門員上班ing")
with open(hosts_path, 'r+') as file: # 打開hosts檔案
content = file.read()
for website in website_list:
if website in content:
pass
else:
file.write(redirect + " " + website + "\n") # 寫入上面的設定
else:
with open(hosts_path, 'r+') as file:
content=file.readlines()
file.seek(0)
for line in content:
if not any(website in line for website in website_list):
file.write(line)
file.truncate() # 刪除剛剛寫入的那些網站設定
print("可以壞壞囉")
time.sleep(5)
成果發表會
執行程式後網站就上不了囉~
我沒在開車,只是想表達真的無法連上,拜託不要檢舉我><
原理說明
好的,雖然我很想把原理說明移到下一篇,
但為了觀看次數著想,還是在這邊簡單的說明一下這是怎麼做到的:
C:/Windows/System32/drivers/etc/hosts
Windows系統裡的這個文件,是瀏覽器上網的第一道門,
如果這個檔案有寫入網站對應的IP,就會直接送到該IP,不會做任何確認。
就像你手機的電話簿一樣,你媽的電話是0912345678,
但今天把你媽在電話簿的號碼改成110,之後你在電話簿按你媽的名字,也會無條件打給110。
所以只要更改這個文件,把你要擋的網站指向127.0.0.1(本機)或任何IP,
除非你把檔案改回來,不然你永遠都不能連上該網站囉~
啊如果想檢查你有沒有被這樣搞的話,你可以ping你連不上的網站,
看看網站連線有沒有被改成奇怪的IP喔~
這個就是被改過指向IP了喔!
然後再做一點點修改,華麗變身「色情領航員」,一份 code 做兩門生意 XD
對耶! 我怎麼沒想到XDD
樓主一生平安
GOOD!
之前都是直接改 hosts
是用來檔網頁上 不想看的 廣告 & js 檔
是 很有用喔!
但很多 擋不完啦!
最後放棄了!
對耶! 也可以拿來擋廣告!
開一個 coredns 比較快吧
可是這樣好像不能偷藏在別人電腦裡執行耶><
直接在 DHCP 裡把 DNS 偷走如何?
純粹來置入行銷,我也有色情守門員
https://ithelp.ithome.com.tw/articles/10217411
大神請接受我一拜!