Klien WireGuard, firewall dan monitor jaringan yang terinspirasi OpenSnitch + DNS yang terinspirasi pi-hole melalui klien HTTPS dengan daftar blokir.
Dengan kata lain, Rethink DNS + Firewall memiliki tiga mode utama, VPN, DNS, dan Firewall. Mode VPN (proxifier) mendukung beberapa upstream WireGuard dalam konfigurasi terowongan terpisah. Mode DNS merutekan semua lalu lintas DNS yang dihasilkan oleh aplikasi ke penyelesai DNS-over-HTTPS atau DNSCrypt yang dipilih pengguna . Mode Firewall memungkinkan pengguna menolak akses internet ke seluruh aplikasi berdasarkan peristiwa seperti screen-on / screen-off, app-foreground / app-background, unmetered-connection / metered-connection; atau berdasarkan kategori yang ditentukan play-store seperti Sosial, Game, Utilitas, Produktivitas; atau sebagai tambahan, berdasarkan daftar penolakan yang ditentukan pengguna.
Rethink mendukung penerusan koneksi TCP dan UDP melalui terowongan SOCKS5, HTTP CONNECT, dan WireGuard. Kanalisasi terpisah lebih lanjut membantu menjalankan beberapa terowongan tersebut secara bersamaan dan memungkinkan pengguna merutekan aplikasi yang berbeda melalui terowongan yang berbeda. Misalnya, seseorang dapat merutekan Firefox melalui SOCKS5 yang terhubung ke Tor, Netflix melalui WireGuard yang terhubung melalui penyedia VPN populer mana pun, dan Telegram atau WhatsApp melalui titik akhir HTTP CONNECT yang tahan sensor pada saat yang bersamaan.
Firewall tidak terlalu peduli dengan koneksi itu sendiri, melainkan apa yang membuat koneksi tersebut. Ini berbeda dari firewall tradisional tetapi sejalan dengan Little Snitch, LuLu, Glasswire, dan lainnya.
Saat ini, pemetaan koneksi per aplikasi diimplementasikan dengan menangkap koneksi udp
dan tcp
yang dikelola oleh firestack
(ditulis dalam golang) dan meminta ConnectivityService sebagai pemiliknya, sebuah API yang hanya tersedia di Android 10 atau lebih tinggi. procfs
( /proc/net/tcp
dan /proc/net/udp
) dibaca sesuai permintaan untuk melacak koneksi per aplikasi seperti yang dilakukan NetGuard atau OpenSnitch, di Android 9 dan versi yang lebih rendah.
Monitor jaringan adalah semacam laporan per aplikasi tentang kapan koneksi dibuat, berapa banyak yang dibuat, dan ke mana. Pelacakan TCP sejauh ini terbukti mudah. Paket DNS lebih sulit dilacak, sehingga heuristik kasar digunakan untuk saat ini, yang mungkin tidak berlaku di semua kasus.
Hampir semua kode terkait jaringan ( firestack
), termasuk DNS melalui terowongan terpisah HTTPS, merupakan hard fork dari Jigsaw-Code/outline-go-tun2socks yang ditulis dalam golang. UI-nya sangat berbeda tetapi sedikit meminjam dari Jigsaw-Code/Intra. Terowongan terpisah menjebak permintaan yang dikirim ke titik akhir DNS VPN dan meneruskannya ke titik akhir DNS-over-HTTPS / DNSCrypt yang dipilih pengguna, mencatat latensi ujung ke ujung, waktu permintaan, permintaan permintaan dns itu sendiri, dan permintaannya. menjawab.
DNS malware dan pemblokiran iklan melalui pemecah masalah HTTPS di https://sky.rethinkdns.com/1:IAAgAA==
(disebarkan ke 300+ lokasi di seluruh dunia melalui Cloudflare Workers) adalah titik akhir DNS default pada aplikasi, meskipun pengguna bebas mengubahnya. Penyelesai DNS yang dapat dikonfigurasi yang memungkinkan pengguna menambah atau menghapus daftar yang ditolak dan yang diizinkan, menambahkan penulisan ulang, menganalisis permintaan DNS diluncurkan pada akhir tahun 2023. Saat ini, DNS gratis melalui titik akhir HTTPS dengan daftar blokir khusus dapat disiapkan di sini: rethinkdns.com/ konfigurasikan.
Resolver diterapkan ke Fly.io di max.rethinkdns.com
dan Deno Deploy di rdns.deno.dev
juga, selain penerapan default di Cloudflare Workers.
Penyelesainya adalah perangkat lunak sumber terbuka: serverless-dns.
Merutekan koneksi TCP melalui proxy tanpa server (yang dihosting di Cloudflare Workers) akan segera menjadi bagian dari Rethink. Pengguna akan dapat menghostingnya sendiri atau menggunakan yang kami jalankan dengan bandwidth tak terbatas sebesar $1 bulan. Layanan ini diperkirakan akan diluncurkan pada akhir tahun 2023.
Proksinya adalah perangkat lunak sumber terbuka: proxy tanpa server.
Bantu terjemahkan Pikirkan Ulang DNS + Firewall di Weblate:
Rethink bukanlah alat anonimitas: Alat ini membantu pengguna mengatasi sensor dan pengawasan tanpa henti, namun tidak mengklaim melindungi identitas pengguna setiap saat, jika pernah.
Rethink tidak bertujuan untuk menjadi firewall tradisional yang kaya fitur: Ini lebih sejalan dengan Little Snitch daripada tabel IP, misalnya.
Rethink bukanlah anti-virus: Rethink dapat menghentikan pengguna dari serangan phishing, malware, situs web scareware melalui daftar blokir berbasis DNS, namun Rethink tidak secara aktif memitigasi ancaman atau bahkan mencari atau mengambil tindakan terhadap ancaman tersebut, sebaliknya.
Untuk mengubah perangkat Android menjadi agen pengguna: Sesuatu yang dapat dikontrol pengguna sesuka mereka tanpa memerlukan akses root. Bagian penting dari hal ini, untuk perangkat yang selalu aktif dan selalu terhubung, adalah menangkap lalu lintas jaringan dan melaporkannya dengan cara yang masuk akal bagi pengguna akhir yang kemudian dapat mengambil serangkaian tindakan untuk membatasi paparan mereka, namun belum tentu menghilangkannya. Ambil contoh DNS-- untuk sebagian besar, jika tidak semua koneksi, aplikasi mengirimkan permintaan DNS terlebih dahulu, dan dengan hanya melacak koneksi tersebut, seseorang dapat memperoleh banyak informasi tentang apa yang terjadi pada ponsel dan aplikasi mana yang bertanggung jawab.
Untuk mewujudkan janji internet terbuka bagi semua orang: Dengan standardisasi ESNI yang tak terhindarkan dan adopsi DNS melalui HTTPS dan DNS melalui TLS di seluruh sistem operasi, kita semakin dekat dengan internet terbuka. Tentu saja, Deep Packet Inspection tetap menjadi ancaman yang kredibel dan tidak dapat diatasi dengan cara ini, namun ini adalah salah satu contoh dalam memberikan dampak maksimal (menghindari sensor internet di sebagian besar negara) dengan sedikit usaha (tidak memerlukan penggunaan VPN atau akses melalui IPFS , Misalnya). Pemikiran ulang akan terus membuat teknologi ini dapat diakses dengan cara yang paling sederhana, terutama teknologi yang mampu mencapai 90% teknologi dengan upaya 10%.
Kami belum sampai di sana, mungkin tidak akan pernah sampai, tapi ini adalah beberapa prinsip proyek di masa mendatang.
Sensor internet (terkadang dilakukan oleh ISP dan sering kali dilakukan oleh pemerintah), pengawasan jaringan internet (yang dilakukan oleh hampir semua perusahaan dan aplikasi) mendorong kami untuk menempuh jalur ini. Kami bertiga, teman sekelas di universitas, Mohammed, Murtaza, Santhosh berkumpul pada akhir tahun 2019 di kota sepi Coimbatore, India untuk melakukan sesuatu. Keluhan utama kami adalah terdapat banyak alat luar biasa yang dapat digunakan orang tetapi tidak dapat digunakan, baik karena biaya atau karena ketidakmampuan untuk menguasai jargon khusus Komputer. Banyak hal telah terjadi sejak kami memulainya dan banyak hal telah berubah, namun fokus kami selalu tertuju pada Android dan 2 miliar+ penggunanya yang tidak menaruh curiga. Ide saat ini telah berjalan sejak Mei 2020, dengan pandemi yang menghambat sedikit kemajuan, dan sedikit kesalahan karena meninggalkan versi kami sebelumnya dan memilih fork saat ini, yang belum kami banggakan, tapi itu adalah permulaan. Sekarang semuanya baik-baik saja karena kami telah memenangkan hibah dari program MVP Mozilla Builders untuk terus maju dan membangun hal yang kami inginkan... melakukannya lebih cepat... dan tidak sekadar menunggu sampai eksekusi. Saya harap Anda bersemangat tetapi tidak sebanyak kami sehingga Anda berhenti dari pekerjaan Anda karena hal ini seperti yang kami lakukan.