Hide.me Cli adalah klien VPN untuk digunakan dengan Eventure Ltd. Hide.me VPN Layanan berdasarkan protokol Wireguard. Fitur klien meliputi:
TODO:
Anda dapat mengkloning repositori ini dan menjalankan:
go build -o hide.me
Atau, unduh Build terbaru dari bagian Rilis.
Sumber pohon dan pelepasan biner berisi instalasi sederhana dan skrip uninstallation. Hide.me cli akan diinstal di /opt/hide.me Directory. Selain menyalin file hide.me ke /opt/hide.me tidak ada modifikasi pada sistem yang dilakukan.
Ketika distribusi berbasis systemd terdeteksi, penginstal menautkan file unit templat yang dapat digunakan untuk membuat koneksi.
Anda dapat membangun paket menggunakan pkgbuild yang disediakan dalam kemasan/archlinux/(membutuhkan git clone --recurse-submodules ) atau dari https://aur.archlinux.org/packages/hide client/
Untuk membangun:
makepkg && sudo pacman -U hide-client-0.9.1-1-any.pkg.tar.zst
Perhatikan bahwa paket Archlinux mengubah lokasi default file yang diinstal ke /usr/bin/hide.me untuk biner, /etc/hide.me/accessToken.txt untuk accessToken, /usr/share/hide.me/CA.pem untuk sertifikat dan /usr/lib/systemd/system/hide.me@service untuk unit systemd.
Wireguard adalah salah satu solusi tunneling VPN paling aman dan paling sederhana di industri ini. Mudah diatur dan digunakan selama tidak ada pertukaran kunci publik Wireguard atas media yang tidak aman (seperti internet) diperlukan. Segala jenis pertukaran kunci publik Wireguard berada di luar ruang lingkup spesifikasi Wireguard.
Tugas rumit pertukaran kunci publik dan negosiasi kunci rahasia atas media yang tidak aman adalah, biasanya, ditangani oleh:
hide.me Implementasi Wireguard Leverages HTTPS (TLS) untuk pertukaran:
Otentikasi untuk semua operasi memerlukan penggunaan akses yang dijalankan. Access-Token hanyalah gumpalan biner yang secara kriptografis terikat pada akun hide.me.
Koneksi ke server hide.me vpn akan dibuat dalam langkah -langkah ini:
Berbeda dengan banyak solusi lain, hide.me CLI tidak menggunakan teknologi firewalling Linux apa pun (ptables, nftables atau EBPF). Alih -alih mengandalkan kerangka kerja pemfilteran IP Linux, hide.me Cli secara selektif merutekan lalu lintas dengan menyiapkan tabel perutean khusus dan satu set aturan basis data kebijakan perutean. Rute Blackhole di meja perutean yang disebutkan di atas semua lalu lintas kecuali memenuhi salah satu kondisi berikut:
Mode operasi ini memungkinkan pengguna untuk menetapkan kebijakan firewalling mereka sendiri yang dengannya hide.me cli tidak akan mengganggu.
Instruksi Penggunaan dapat dicetak dengan menjalankan Hide.me CLI tanpa parameter apa pun.
Usage:
./hide.me [options...] <command> [host]
...
hide.me cli antarmuka pengguna cukup sederhana. Hanya ada tiga perintah yang tersedia:
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
Untuk terhubung ke server VPN, Access-Token harus diminta dari server VPN. Permintaan yang diuji akses dikeluarkan oleh perintah token . Akses yang dikeluarkan oleh server mana pun dapat digunakan, untuk tujuan otentikasi, dengan server VPN hide.me lainnya. Ketika server mengeluarkan access-token token itu harus disimpan dalam file. Nama file default untuk Access-Token adalah "AccessToken.txt".
Setelah Access-Token ada di tempat itu dapat digunakan untuk permintaan Connect . Token akses basi diperbarui secara otomatis.
hide.me cli tidak harus dipanggil dengan banyak parameter baris perintah. Sebaliknya, file konfigurasi yang diformat YAML dapat digunakan untuk menentukan semua opsi. Untuk menghasilkan file konfigurasi tersebut, perintah conf dapat digunakan.
Untuk keperluan pemfilteran DNS (SmartGuard), daftar kategori penyaringan dapat diperoleh dengan perintah kategori
hide.me cli dapat dijalankan dalam mode layanan . Saat dimulai dalam mode layanan, sembunyikan.me CLI hanya memperlihatkan antarmuka REST untuk kontrol. Pengontrol bertanggung jawab untuk mengonfigurasi koneksi, aktivasi pembunuhan kill atau operasi lainnya. REST antarmuka Dengarkan alamat dapat dikonfigurasi melalui opsi -CADDR.
Perhatikan bahwa ada beberapa opsi yang hanya dapat dikonfigurasi melalui file konfigurasi. Opsi seperti itu adalah:
host:
fqdn, short name or an IP address of a hide.me server
Required when the configuration file does not contain it
Hostname dari hide.me istirahat titik akhir dapat ditentukan sebagai nama domain yang sepenuhnya memenuhi syarat (nl.hide.me), nama pendek (NL) atau alamat IP. Tidak ada jaminan bahwa titik akhir istirahat akan cocok dengan titik akhir Wireguard.
-4 Use IPv4 tunneling only
Batasi semua operasi protokol IP ke IPv4. Meskipun server akan menyediakan IPv4 dan IPv6 yang hanya membahas alamat IPv4, aturan IPv4 dan rute IPv4 diinstal. Perlindungan Kebocoran/Kill-Switch hanya berfungsi untuk lalu lintas IPv4. Aliran lalu lintas IPv6 tetap tidak aman.
PERINGATAN : Opsi ini menurunkan keamanan dan harus digunakan hanya ketika aman untuk melakukannya, misalnya ketika mesin klien memiliki stack IPv6 dinonaktifkan. Tolong, jangan menggunakannya karena kebocoran IPv6 mungkin terjadi.
-6 Use IPv6 tunneling only
Batasi semua operasi protokol IP ke IPv6. Meskipun server akan menyediakan IPv4 dan IPv6 yang hanya membahas alamat IPv6, aturan IPv6 dan rute IPv6 diinstal. Perlindungan Kebocoran/Kill-Switch hanya berfungsi untuk lalu lintas IPv6. Aliran lalu lintas IPv4 tetap tidak aman.
PERINGATAN : Opsi ini menurunkan keamanan dan tidak boleh digunakan kecuali klien ingin melakukan tunnel lalu lintas IPv6 saja.
-b filename
resolv.conf backup filename (default "")
Hide.me cli menyimpan cadangan /etc/resolv.conf di memori. Selain cadangan Hide.me CLI dapat mencadangkan /etc/resolv.conf ke file yang ditentukan oleh opsi ini.
-c filename
Configuration filename
Gunakan file konfigurasi bernama "nama file".
-ca string
CA certificate bundle (default "CA.pem")
Selama negosiasi TLS, sertifikat server VPN perlu diverifikasi. Opsi ini memungkinkan untuk menentukan file bundel sertifikat CA alternatif.
-caddr address
Control interface listen address (default "@hide.me")
Atur Alamat Dengarkan Antarmuka Kontrol Mode Layanan. hide.me cli, secara default, mendengarkan soket unix abstrak hide.me
-ccert certificate
Control interface certificate file
Atur Sertifikat Kontrol Mode Layanan X509 Sertifikat dalam format PEM
-ckey key
Control interface key file
Atur Kunci Privat Antarmuka Kontrol Mode Layanan dalam format 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")
Secara default, hide.me CLI menggunakan hide.me yang dioperasikan server DNS untuk menyelesaikan nama server VPN saat meminta token atau selama permintaan koneksi. Set server DNS yang digunakan untuk tujuan ini dapat disesuaikan dengan opsi ini.
-dpd duration
DPD timeout (default 1m0s)
Untuk mendeteksi apakah suatu koneksi telah macet, biasanya karena masalah jaringan, hide.me cli secara berkala memeriksa status koneksi. Periode pemeriksaan dapat diubah dengan opsi ini, tetapi tidak bisa lebih tinggi dari satu menit.
-i interface
network interface name (default "vpn")
Gunakan opsi ini untuk menentukan nama antarmuka jaringan untuk membuat atau menggunakan.
-l port
listen port
Tentukan port mendengarkan untuk lalu lintas Wireguard terenkripsi.
-m mark
firewall mark for wireguard traffic (default 0 - no packet marks)
Atur Mark Firewall Modul Kernel Wireguard akan menandai paketnya.
-p port
remote port (default 432)
Port titik akhir Remote REST dapat diubah dengan opsi ini.
-pf
enable dynamic port-forwarding technologies (uPnP and NAT-PMP)
Laporan port dinamis, secara default, dinonaktifkan. Gunakan opsi ini untuk menyalakannya untuk upaya koneksi tertentu. Atau, pengaliran port dapat diaktifkan dengan menambahkan akhiran @PF ke nama pengguna saat meminta token. Token semacam itu mengaktifkan pengaliran port pada setiap upaya koneksi, dan Anda tidak boleh menggunakan opsi ini saat menggunakannya.
-r table
routing table to use (default 55555)
Atur tabel perutean untuk digunakan untuk lalu lintas umum dan mekanisme perlindungan bocor.
-R priority
RPDB rule priority (default 10)
Tetapkan prioritas aturan RPDB yang diinstal. Hide.me cli mengambil keuntungan dari perutean kebijakan dengan memasang aturan RPDB (satu per protokol IP) untuk mengarahkan lalu lintas ke tabel perutean yang dipilih dan memastikan perlindungan kebocoran IP.
-s networks
comma separated list of networks (CIDRs) for which to bypass the VPN
Daftar jaringan split-tunneled, yaitu jaringan yang lalu lintas tidak boleh di-tunneling di atas VPN.
-t string
access token filename (default "accessToken.txt")
Nama file yang berisi akses-acak.
-u username
hide.me username
Atur hide.me nama pengguna.
Hide.me Cli mendukung pemfilteran berbasis DNS (SmartGuard). Opsi berikut mengontrol pemfilteran DNS:
-forceDns
force tunneled DNS handling on hide.me servers
Aktifkan pengalihan DNS pada server hide.me vpn sedemikian rupa sehingga setiap permintaan UDP atau TCP DNS akan ditangani oleh hide.me vpn server itu
-whitelist dns names
comma separated list of allowed dns names
Sufiks DNS yang akan melewati mesin penyaringan (wildcards diterima)
-blacklist dns names
comma separated list of filtered dns names
Nama DNS yang akan disaring
-noAds
filter ads
Mengaktifkan pemfilteran iklan berbasis SmartGuard
-noCategories categories
comma separated list of filtered content categories
Mengaktifkan pemfilteran SmartGuard berbutir halus. Ambil daftar kategori dengan perintah kategori
-noIllegal kind
filter illegal kind (content, warez, spyware, copyright)
Mengaktifkan pemfilteran tingkat kasar dari konten ilegal, warez, spyware dan materi yang dilindungi hak cipta
-noMalicious
filter malicious destinations
Mengaktifkan pemfilteran host berbahaya, situs web atau domain
-noMalware
filter malware
Mengaktifkan filter malware. Situs apa pun yang hosting atau mendistribusikan malware harus disaring
-noRisk level
filter content according to risk level (possible, medium, high)
Mengaktifkan filter risiko
-noTrackers
filter trackers
Mengaktifkan filter pelacakan
-pg age
apply a parental guidance style age filter (12, 18)
Mengaktifkan filter gaya panduan orang tua sesuai dengan batas usia yang diberikan. Konten yang tidak pantas akan disaring
-safeSearch
force safe search with search engines
Menegakkan Mode SafeSearch dengan mesin pencari yang didukung (Google, Bing)
Hide.me Cli dapat digunakan mandiri atau sebagai layanan SystemD. Menggunakan hide.me CLI sebagai layanan SystemD memungkinkan Anda untuk memanfaatkan resolusi ketergantungan SystemD, pemantauan dan berbagai fitur pengerasan.
Script installer menautkan file unit template [email protected] untuk Anda atau Anda dapat secara manual menautkan file unit template dengan menjalankan:
Systemctl Link hide.me@service
Untuk mengelola koneksi, perintah berikut dapat digunakan:
| Operasi | Memerintah |
|---|---|
| Buat koneksi | Systemctl Aktifkan hide.me@server |
| Mulai koneksi | SystemCTL Mulai hide.me@server |
| Hentikan koneksi | SystemCTL berhenti hide.me@server |
| Hapus koneksi | Systemctl Nonaktifkan hide.me@server |
Server adalah nama server, nama grup atau alamat IP.
Opsi Commandline Tambahan ke perintah hide.me connect dijalankan oleh layanan SystemD dapat dimasukkan ke dalam variabel OPTIONS= konfigurasi di /opt/hide.me/config .
Startup layanan dianggap berhasil ketika koneksi ke hide.me server akan sepenuhnya dibuat.
Hide.me Cli adalah pilihan terbaik untuk PC desktop, tetapi mungkin tidak pantas untuk router atau perangkat tertanam. Untuk perangkat kecil itu kami mengembangkan satu set skrip abu (dalam skrip/ direktori):
Di header setiap skrip, Anda akan menemukan contoh penggunaan.
Fungsionalitas skrip -skrip itu adalah dasar, yaitu mereka akan membuat Anda terhubung/terputus, tetapi tidak akan memantau koneksi Anda. Set fitur terbatas seperti itu mungkin hanya cukup untuk menggunakan hide.me dengan router yang memiliki teknik pemantauan dan kegagalan sendiri.
Setiap skrip telah diverifikasi pada router berbasis OpenWRT dengan firmware stabil terbaru (19.07.7) dan dukungan Wireguard. Prasyarat, yang harus diinstal OPKG, adalah:
Jika Anda ingin berkontribusi pada proyek ini, silakan baca panduan kontribusi.