Prototipe Aplikasi SingLinkVPN Kini Bersumber Terbuka

Contents
Hari ini SingLinkLabs, tim di balik SingLinkVPN, merilis kode sumber prototipe generasi pertama aplikasi SingLinkVPN di GitHub dengan lisensi Apache-2.0. Ini adalah aplikasi VPN ala aplikasi konsumen untuk Windows, macOS, Android, dan iOS, yang dibangun dari satu basis kode di atas Protokol SingLink yang juga baru saja dibuka kodenya.
Aplikasi ini dirilis bersama protokolnya sendiri. Baca Protokol SingLink kini bersumber terbuka. Keduanya menunjukkan bagaimana protokol VPN terbuka dan klien yang lengkap saling terhubung, mulai dari tombol sambung hingga paket-paket terenkripsi.
Repositori: SingLinkLabs / singlink-vpn-app · Status: prototipe generasi pertama · Lisensi: Apache-2.0 · Dibangun dengan: Flutter (Dart) untuk antarmuka, Go untuk inti
Ini bukan aplikasi yang Anda unduh dari situs kami
Aplikasi resmi SingLinkVPN yang Anda unduh dari situs kami dan dari toko aplikasi adalah produk yang terpisah. Aplikasi resmi berjalan di atas protokol produksi kami, termasuk SingLink 2.0, dan kode sumber intinya tidak termasuk dalam rilis ini. Tidak ada yang berubah bagi pengguna yang sudah ada.
Prototipe ini adalah klien referensi untuk Protokol Terbuka SingLink. Prototipe ini hanya terhubung ke server yang menggunakan protokol tersebut dan tidak memiliki login akun: Anda sendiri yang menambahkan server dengan menempelkan tautan server atau mengimpornya dari papan klip. Prototipe ini tidak dipublikasikan di toko aplikasi mana pun.
Apa yang bisa dilakukan aplikasi ini
- Sambung dan putuskan dengan sekali ketuk lewat tombol bundar besar yang menampilkan tiga status: tidak terhubung, menghubungkan, dan terhubung.
- Status perlindungan ("Not protected" atau "Protected") dan penghitung waktu koneksi.
- IP Anda: setelah terhubung, aplikasi menampilkan alamat IP keluar yang dilihat situs web.
- Pilih lokasi: server ditampilkan dengan bendera negaranya, dengan "Quick connect (auto)" di urutan teratas. Berpindah lokasi saat terhubung akan menyambung ulang secara otomatis.
- Latensi yang jujur: hanya nilai hasil pengukuran yang ditampilkan. Server yang belum diukur menampilkan "—", bukan angka karangan.
- Kecepatan langsung: kecepatan unduh dan unggah, serta data yang terpakai dalam sesi saat ini.
- Pesan kesalahan yang jelas yang memberi tahu langkah berikutnya, dengan detail teknis yang bisa dibuka dengan sekali ketuk.
- Mode terang dan gelap, mengikuti pengaturan sistem.
Dua mode koneksi
Di ponsel, VPN untuk seluruh perangkat. Android memakai VpnService sistem dan iOS memakai Network Extension. Lalu lintas semua aplikasi melewati terowongan, dan pencarian DNS juga dilakukan di dalamnya.
Di komputer, mode proxy sistem. Saat Anda menyambung, aplikasi mengatur proxy sistem, lalu memulihkan pengaturan sebelumnya ketika Anda memutuskan koneksi atau keluar dari aplikasi. Jika aplikasi ditutup paksa saat terhubung, pengaturan itu dipulihkan saat aplikasi dibuka berikutnya. Browser dan sebagian besar aplikasi mengikuti proxy sistem; beberapa program yang mengabaikan pengaturan proxy tidak mengikutinya. VPN tingkat paket untuk desktop (Network Extension di macOS, Wintun di Windows) adalah langkah berikutnya yang direncanakan.
Cara aplikasi ini dibangun
- Satu basis kode Flutter menghasilkan keempat aplikasi, dengan antarmuka yang sama di setiap platform. Antarmukanya berbahasa Inggris.
- Inti berbasis Go berisi Protokol SingLink dan dikompilasi menjadi pustaka native untuk setiap platform, yang dipanggil langsung oleh aplikasi.
- Di ponsel, inti tersebut menambahkan tumpukan jaringan ruang pengguna gVisor dari Google (Apache-2.0), yang mengubah seluruh lalu lintas perangkat menjadi koneksi SingLink.
- Ditulis dari nol. Selain templat kosong yang dibuat Flutter untuk proyek baru, semua kodenya baru. Tidak ada kode, ikon, atau gambar yang diambil dari aplikasi VPN lain.
Status setiap platform
- macOS 13 atau lebih baru (Apple silicon): mode proxy sistem. Sudah dibangun dan diuji dengan koneksi sungguhan.
- Android 7 atau lebih baru: VPN untuk seluruh perangkat. APK sudah dibangun dan diuji dengan koneksi sungguhan di emulator Android.
- iOS 15 atau lebih baru: VPN untuk seluruh perangkat. Aplikasi dapat dibangun dan berjalan di simulator iOS; simulator tidak dapat membuat terowongan VPN, dan menjalankannya di iPhone sungguhan memerlukan akun Apple Developer.
- Windows 10 dan 11 (x64): mode proxy sistem. Pustaka inti sudah dibangun; aplikasinya sendiri harus dikompilasi di Windows, dan repositori menyertakan workflow GitHub Actions yang melakukannya.
Keterbatasan, apa adanya
- Ini sebuah prototipe. Prototipe ini ditujukan bagi pengembang, peneliti, dan siapa saja yang ingin melihat cara kerja setiap bagiannya, bukan sebagai pengganti aplikasi resmi.
- Distribusi memerlukan langkah tambahan. Rilis publik untuk Mac memerlukan penandatanganan dan notarisasi Apple, iPhone sungguhan memerlukan akun Apple Developer, dan build Android ditandatangani dengan kunci uji.
- Dukungan macOS saat ini berarti macOS 13 atau lebih baru di Mac dengan Apple silicon (M-series).
- Desktop memakai mode proxy sistem, sehingga program yang mengabaikan pengaturan proxy belum tercakup.
- Protokol di bawahnya masih berupa draf. Protokol ini sudah menjalani tinjauan keamanan internal tetapi belum diaudit pihak ketiga, dan belum diuji di lapangan di Tiongkok daratan.
- Nama server ditampilkan sesuai yang dikirim server. Beri nama server dalam bahasa Inggris agar antarmuka sepenuhnya berbahasa Inggris.
Bangun sendiri dan ikut berkontribusi
README di repositori menjelaskan cara membangun inti dan aplikasi untuk setiap platform. Inti protokolnya berada di repositori tersendiri, SingLinkLabs / singlink-protocol.
Pertanyaan, laporan bug, dan pull request dipersilakan di GitHub. Laporkan kerentanan keamanan secara pribadi, bukan melalui issue publik. Prosesnya dijelaskan di SECURITY.md dalam repositori protokol.
Lisensi dan merek dagang
Kode ini dilisensikan dengan Apache-2.0: Anda boleh menggunakan, memodifikasi, dan mendistribusikannya ulang, termasuk untuk tujuan komersial, sesuai ketentuan lisensi. Nama "SingLink" dan "SingLinkVPN", nama Tionghoa keduanya, serta logonya adalah merek dagang SingLinkLabs, dan lisensi tersebut tidak memberikan izin untuk menggunakannya. Fork wajib memakai nama dan ikon sendiri. Aplikasi ini menyertakan tumpukan jaringan gVisor, yang juga dilisensikan dengan Apache-2.0.
Bacaan lanjutan
- Protokol SingLink kini bersumber terbuka
- Proyek sumber terbuka SingLinkLabs
- Whitepaper teknis SingLink 2.0, protokol produksi aplikasi resmi
- Unduh aplikasi resmi SingLinkVPN

