HIDE.ME CLI是基於WireGuard協議的Eventure Ltd. hide.me VPN服務的VPN客戶端。客戶的功能包括:
托多:
您可以克隆此存儲庫並運行:
go build -o hide.me
或者,從“版本”部分下載最新的構建。
源樹和二進製版本包含簡單的安裝和卸載腳本。 hide.me cli安裝在 /opt/hide.me目錄中。除了將hide.me文件複製到 /opt/hide.me,對系統沒有修改。
當檢測到基於系統D的分佈時,安裝程序鏈接模板單元文件,該文件可用於實例化連接。
您可以使用包裝/Archlinux/(需要git clone --recurse-submodules )或https://aur.archlinux.org/packages/packages/hide-client/中構建包裹(需要git克隆 - recurse-submodules)
構建:
makepkg && sudo pacman -U hide-client-0.9.1-1-any.pkg.tar.zst
請注意,ArchLinux軟件包將已安裝文件的默認位置更改為二進制,/eTc /usr/bin/hide.me /etc/hide.me/accessToken.txt accesstoken.txt for AccessToken,/usr/share/hide.me/ca的二進制/usr/share/hide.me/CA.pem
Wineguard是該行業中最安全,最簡單的VPN隧道解決方案之一。只要需要在不安全的媒體上(例如互聯網)上的電線固定鑰匙交換,就很容易設置並使用。任何類型的鋼線公共鑰匙交換都超出了鋼線規範的範圍。
通常,關於不安全媒介的公共密鑰交換和秘密密鑰談判的複雜任務通常是由:
hide.me的實施Wireguard的實現HTTPS(TLS)進行交換:
所有操作的身份驗證都需要使用訪問權限。訪問說明是一個二進制斑點,在密碼上綁定到hide.me帳戶。
在以下步驟中建立了與hide.me VPN服務器的連接:
與許多其他解決方案相反,hide.me CLI不使用任何類型的Linux防火牆技術(Iptables,ntfables或EBPF)。與其依靠Linux'es IP過濾框架,不如通過設置特殊路由表和一組路由策略數據庫規則來選擇性地路由流量。除非符合以下條件之一,否則上述路由表中的黑洞路線會丟棄所有流量:
這種操作模式使用戶有可能建立自己的防火牆策略,而hide.me cli不會干擾。
使用hide.me cli可以打印使用指令,而無需任何參數。
Usage:
./hide.me [options...] <command> [host]
...
hide.me CLI用戶界面非常簡單。只有三個命令:
command:
token - request an Access-Token (required for connect)
connect - connect to a vpn server
conf - generate a configuration file to be used with the -c option
categories - fetch and dump filtering category list
service - run in remotely controlled service mode
為了連接到VPN服務器,必須從VPN服務器請求訪問。令牌命令發出訪問請求。任何其他服務器發出的訪問token可以使用任何其他HIDE.ME VPN服務器。當服務器發出訪問時,必須將令牌存儲在文件中。訪問權限的默認文件名是“ accessToken.txt”。
一旦到位後,便可以將其用於連接請求。陳舊的訪問令牌會自動更新。
hide.me cli不一定必須使用一堆命令行參數調用。相反,可以使用YAML格式的配置文件來指定所有選項。要生成此類配置文件,可以使用conf命令。
出於DNS過濾(SmartGuard)的目的,可以使用類別命令獲得過濾類別列表
hide.me CLI可以在服務模式下運行。當以服務模式啟動時,hide.me cli只是公開了一個用於控制的REST接口。控制器負責配置連接,激活殺戮開關或任何其他操作。 REST接口偵聽地址可通過-CADDR選項配置。
請注意,只有通過配置文件可以配置一些選項。這樣的選項是:
host:
fqdn, short name or an IP address of a hide.me server
Required when the configuration file does not contain it
hide.me休息端點的主機名可以指定為完全合格的域名(nl.hide.me),縮短名稱(NL)或IP地址。無法保證其餘端點將匹配線條端點。
-4 Use IPv4 tunneling only
將所有IP協議操作限制為IPv4。即使服務器將提供僅處理IPv4地址的IPv4和IPv6,IPv4規則和IPv4路線也已安裝。洩漏保護/殺戮開關僅適用於IPv4流量。 IPv6交通流量保持不安全。
警告:此選項會降低安全性,並且僅在安全時才應使用,例如,當客戶端計算機具有IPv6堆棧禁用時。請否則請不要使用它,因為IPv6洩漏可能會發生。
-6 Use IPv6 tunneling only
將所有IP協議操作限制為IPv6。即使服務器將提供僅處理IPv6地址的IPv4和IPv6,IPv6規則和IPv6路線也已安裝。洩漏保護/殺戮開關僅適用於IPv6流量。 IPv4交通流量保持不安全。
警告:此選項會降低安全性,除非客戶只想僅隧道IPv6流量進行隧道,否則不應使用安全性。
-b filename
resolv.conf backup filename (default "")
hide.me cli在內存中保留/etc/resolv.conf的備份。除了備份hide.me Cli外,還可以將 /etc/resolv.conf備份到該選項指定的文件中。
-c filename
Configuration filename
使用名為“文件名”的配置文件。
-ca string
CA certificate bundle (default "CA.pem")
在TLS協商期間,需要驗證VPN服務器的證書。此選項使指定替代CA證書捆綁文件成為可能。
-caddr address
Control interface listen address (default "@hide.me")
設置服務模式控制接口收聽地址。默認情況下,hide.me cli,在抽象的unix套接字hide.me上聽。
-ccert certificate
Control interface certificate file
設置服務模式控制接口X509 PEM格式證書
-ckey key
Control interface key file
設置PEM格式的服務模式控制接口私鑰
-d DNS servers
comma separated list of DNS servers used for client requests (default "209.250.251.37:53,217.182.206.81:53")
默認情況下,hide.me cli使用hide.me操作的dns服務器在請求令牌或連接請求時解決VPN服務器名稱。使用此選項可以自定義用於這些目的的DNS服務器集。
-dpd duration
DPD timeout (default 1m0s)
為了檢測連接是否停滯,通常由於網絡問題,hide.me cli會定期檢查連接狀態。該選項可以更改檢查期,但不能高於一分鐘。
-i interface
network interface name (default "vpn")
使用此選項來指定用於創建或使用的網絡接口的名稱。
-l port
listen port
為加密的VireGareard流量指定收聽端口。
-m mark
firewall mark for wireguard traffic (default 0 - no packet marks)
設置防火牆標記鋼絲櫃內核模塊將標記其數據包。
-p port
remote port (default 432)
可以使用此選項更改遠程休息端點端口。
-pf
enable dynamic port-forwarding technologies (uPnP and NAT-PMP)
默認情況下,動態端口向上是禁用的。使用此選項將其打開,以進行特定的連接嘗試。另外,在請求令牌時,可以在用戶名中添加@pf後綴來啟用端口 - 端口。這樣的令牌會激活每次連接嘗試的端口 - 向驗證,並且在使用時,您不應使用此選項。
-r table
routing table to use (default 55555)
將路由表設置為用於一般流量和洩漏保護機制。
-R priority
RPDB rule priority (default 10)
設置已安裝的RPDB規則的優先級。 HIDE.ME CLI通過安裝RPDB規則(一個IP協議)來利用策略路由,以將流量推向所選路由表並確保IP洩漏保護。
-s networks
comma separated list of networks (CIDRs) for which to bypass the VPN
拆分隧道網絡的列表,即不應在VPN上隧道隧道的網絡。
-t string
access token filename (default "accessToken.txt")
文件的名稱包含訪問權限。
-u username
hide.me username
設置hide.me用戶名。
HIDE.ME CLI支持基於DNS的過濾(SmartGuard)。以下選項控制DNS過濾:
-forceDns
force tunneled DNS handling on hide.me servers
激活DNS在hide.me VPN服務器上激活DNS重定向,以使每個UDP或TCP DNS請求都會由該hied.me VPN服務器處理
-whitelist dns names
comma separated list of allowed dns names
DNS後綴將繞過任何過濾引擎(接受的通配符)
-blacklist dns names
comma separated list of filtered dns names
DNS名稱將被過濾
-noAds
filter ads
激活基於SmartGuard的廣告過濾
-noCategories categories
comma separated list of filtered content categories
激活細粒度的智能守衛過濾。帶有類別命令的獲取類別列表
-noIllegal kind
filter illegal kind (content, warez, spyware, copyright)
激活非法含量,Warez,間諜軟件和受版權保護的材料的粗級過濾
-noMalicious
filter malicious destinations
激活惡意主機,網站或域的過濾
-noMalware
filter malware
激活惡意軟件過濾器。任何託管或分發惡意軟件的網站都應被過濾掉
-noRisk level
filter content according to risk level (possible, medium, high)
激活風險過濾器
-noTrackers
filter trackers
激活跟踪過濾器
-pg age
apply a parental guidance style age filter (12, 18)
根據給定的年齡限制激活父母的指導樣式過濾器。不適當的內容將被過濾掉
-safeSearch
force safe search with search engines
使用受支持的搜索引擎(Google,bing)強制執行Safesearch模式
hide.me cli可以獨立使用,也可以用作SystemD服務。使用HIDE.ME CLI作為SystemD服務,您可以利用Systemd的依賴性分辨率,監視和各種硬化功能。
安裝程序腳本鏈接模板單元文件[email protected] for for for for for for for for hout
SystemCtl鏈接hide.me@service
要管理連接以下命令:
| 手術 | 命令 |
|---|---|
| 創建連接 | systemctl啟用hide.me@server |
| 開始連接 | systemctl啟動hide.me@server |
| 停止連接 | SystemCtl stop hide.me@server |
| 刪除連接 | SystemCtl禁用hide.me@server |
服務器是服務器名稱,組名稱或IP地址。
由SystemD Service運行的hide.me connect命令的其他命令行選項可以放入/opt/hide.me/config中的OPTIONS= configuration變量中。
當與hide.me服務器的連接完全建立時,服務啟動被認為是成功的。
hide.me CLI是台式PC的最佳選擇,但可能不適合路由器或嵌入式設備。對於那些小設備,我們開發了一組ASH腳本(在腳本/目錄中):
在每個腳本的標題中,您會找到使用示例。
這些腳本的功能是基本的,即它們會讓您連接/斷開連接,但不會監視您的連接。這樣有限的功能集可能足以將hide.me與具有自己的監視和故障技術的路由器一起使用。
每個腳本都通過最新的穩定固件(19.07.7)和Wineguard支持在基於OpenWRT的路由器上進行了驗證。應安裝OPKG的先決條件是:
如果您想為該項目做出貢獻,請閱讀《貢獻指南》。