Chomper 是一種開源工具,用於在用戶瀏覽會話期間創建要列入黑名單或白名單的網站列表。 咀嚼者 是用 Python 編寫的終端驅動工具。 這意味著它完全可以從終端操作。 其設計背後的動機是幫助人們避免互聯網分心,專注於在工作時間訪問高效網站,還有助於暫時阻止 Linux 桌面上的網站。 Chomper 也可以用作家長控制工具 – 例如限制孩子訪問的網站。
Chomper 的工作原理
與其他使用 Linux 主機文件過濾 IP 地址和域名的攔截器不同,Chomper 通過透明代理過濾傳出請求。 這使得 Chomper 非常適合在 URL 級別過濾 Web 內容。 您只需填寫要阻止的內容和要列入白名單的內容列表,Chomper 將為您完成其餘的工作。
在 Linux 上安裝 Chomper
目前安裝 Chomper 的唯一方法是從源代碼構建它。 一個先決條件是安裝 git、make 和 cmake。 由於此設置是在 Ubuntu 16.04 上完成的,因此安裝的所有 deps 都特定於 Ubuntu。
$ sudo apt-get install git cmake build-essential curl python-pip
完成後,繼續安裝 pyenv。 為此,我們將避免手動安裝,而是使用安裝程序。
# curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 2099 100 2099 0 0 2011 0 0:00:01 0:00:01 --:--:-- 2012 Cloning into '/home/jmutai/.pyenv' .....
通過修改自動加載pyenv ~/.bash_profile 文件:
$ vim ~/.bash_profile
然後加:
export PATH="/home/jmutai/.pyenv/bin:$PATH" eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)"
要手動加載 env,請在當前會話中獲取文件。
$ source ~/.bash_profile $ pyenv versions * system (set by /home/jmutai/.pyenv/version)
從 git 克隆 Chomper。
$ git clone https://github.com/aniketpanjwani/chomper.git $ cd chomper $ make init
這 進行初始化 命令將下載特定於 chomper 的軟件包並準備好環境。 如果您選擇安裝 CPython 3.6,完成設置可能需要幾分鐘時間。 然後你應該看到:
To activate this project's virtualenv, run the following: $ pipenv shell ....
現在啟動外殼:
$ pipenv shell $ mitmdump # mitmdump Proxy server listening at https://*:8080
一旦 mitmdump 第一次開始,使用組合鍵退出它 – [ Ctrl+C Ctrl+C ]. 將生成許多證書文件。
# ls ~/.mitmproxy mitmproxy-ca-cert.cer mitmproxy-ca-cert.pem mitmproxy-ca.pem mitmproxy-ca-cert.p12 mitmproxy-ca.p12 mitmproxy-dhparam.pem
你需要導入 mitmproxy-capem 證書到您的瀏覽器。
Chrome :轉至設置 > 高級設置 > 管理證書 > 權限。 單擊導入,選擇 mitmproxy-ca.pem,勾選所有三個框,然後單擊確定
Firefox:轉到首選項 > 隱私和安全 > 證書 > 查看證書 > 權限。 單擊導入,選擇 mitmproxy-ca.pem,勾選所有三個框,然後單擊確定。
接下來要做的是啟用 IP 轉發。
# vim /etc/sysctl.d/99-sysctl.conf
添加:
net.ipv4.ip_forward=1 net.ipv6.conf.all_forwarding=1
Save 然後運行:
# sysctl -p
使用 Chomper
Chomper 使用三個級別的 YAML 語法文件進行配置。
- 第一級定義規則的名稱。
- 第二級定義規則是黑名單還是白名單。
- 第三層定義了規則中涉及的地址。
下面是一個包含少量黑名單和白名單的簡單配置文件
$ cat data/rules.yaml work_allow: - block_type: - whitelist - addresses: - linoxide.com - stackoverflow.com work_block: - block_type: - blacklist - addresses: - facebook.com - twitter.com - youtube.com
運行位於下的 chopper 應用程序時 垃圾桶 目錄,需要兩個參數。
- 這 規則名稱
- 這 區塊時間 在幾分鐘內
為了 example 運行 work_block 規則 20 分鐘。 我會執行
# cd bin # ./chomper work_block 20 New block in effect until 2018-02-20 23:34:08.
此規則阻止指定的網站。 嘗試訪問任何列出的站點。 您應該會收到一條橫幅消息,上面寫著“網站已被 Chomper 封鎖!”。
結論
我們已經涵蓋了開始使用 Chomper 所需的所有關鍵事項。 這個工具看起來很有趣。 它仍然很新鮮,但正在積極開發中。 當前版本僅適用於 Linux 系統,但開發人員旨在為其提供適用於 MacOS 和 GUI 的版本。 享受使用 Chomper 的樂趣。