Prototaip Aplikasi SingLinkVPN Kini Sumber Terbuka

Contents
Hari ini SingLinkLabs, pasukan di sebalik SingLinkVPN, menerbitkan kod sumber prototaip generasi pertama aplikasi SingLinkVPN di GitHub di bawah lesen Apache-2.0. Ia ialah aplikasi VPN gaya pengguna untuk Windows, macOS, Android dan iOS, dibina daripada satu pangkalan kod di atas Protokol SingLink yang baru dijadikan sumber terbuka.
Ia dikeluarkan bersama protokol itu sendiri — lihat Protokol SingLink kini sumber terbuka. Bersama-sama, kedua-duanya menunjukkan bagaimana sebuah protokol VPN terbuka dan sebuah klien lengkap bergabung, dari butang sambung hinggalah ke paket yang disulitkan.
Repositori: SingLinkLabs / singlink-vpn-app · Status: prototaip generasi pertama · Lesen: Apache-2.0 · Dibina dengan: Flutter (Dart) untuk antara muka, Go untuk teras
Ini bukan aplikasi yang anda muat turun dari laman web kami
Aplikasi rasmi SingLinkVPN yang anda muat turun dari laman web kami dan gedung aplikasi ialah produk yang berasingan. Ia berjalan di atas protokol pengeluaran kami, termasuk SingLink 2.0, dan kod sumber terasnya tidak termasuk dalam keluaran ini. Tiada apa yang berubah bagi pengguna sedia ada.
Prototaip ini ialah klien rujukan untuk Protokol SingLink yang terbuka. Ia hanya bersambung ke pelayan yang menggunakan protokol tersebut, dan ia tidak mempunyai log masuk akaun: anda menambah pelayan sendiri dengan menampal pautan pelayan atau mengimportnya dari papan klip. Ia tidak diterbitkan di mana-mana gedung aplikasi.
Apa yang aplikasi ini lakukan
- Sambung dan putus dengan satu ketikan melalui butang bulat besar yang memaparkan tiga keadaan: tidak bersambung, sedang bersambung dan bersambung.
- Status perlindungan ("Not protected" atau "Protected") dan pemasa sambungan.
- IP anda: selepas bersambung, aplikasi memaparkan alamat IP keluar yang dilihat oleh laman web.
- Pilih lokasi: pelayan disenaraikan bersama bendera negara, dengan "Quick connect (auto)" di bahagian atas. Menukar lokasi semasa bersambung akan menyambung semula secara automatik.
- Kependaman yang jujur: hanya nilai yang benar-benar diukur dipaparkan. Pelayan yang belum diukur memaparkan "—" dan bukannya nombor rekaan.
- Kelajuan langsung: kelajuan muat turun dan muat naik, serta data yang digunakan dalam sesi semasa.
- Mesej ralat yang jelas yang memberitahu langkah seterusnya, dengan butiran teknikal hanya satu ketikan jauhnya.
- Mod cerah dan gelap, mengikut tetapan sistem.
Dua mod sambungan
Pada telefon, VPN seluruh peranti. Android menggunakan VpnService sistem dan iOS menggunakan Network Extension. Trafik semua aplikasi melalui terowong, dan carian DNS juga berlaku di dalamnya.
Pada komputer, mod proksi sistem. Apabila anda bersambung, aplikasi menetapkan proksi sistem, dan ia memulihkan tetapan anda yang terdahulu apabila anda memutuskan sambungan atau keluar. Jika aplikasi ditutup secara paksa semasa bersambung, ia memulihkannya pada kali seterusnya ia dimulakan. Pelayar dan kebanyakan aplikasi mengikut proksi sistem; segelintir program yang mengabaikan tetapan proksi tidak. VPN peringkat paket untuk desktop (Network Extension pada macOS, Wintun pada Windows) ialah langkah seterusnya yang dirancang.
Cara ia dibina
- Satu pangkalan kod Flutter menghasilkan keempat-empat aplikasi, dengan antara muka yang sama pada setiap platform. Antara mukanya dalam bahasa Inggeris.
- Teras Go mengandungi Protokol SingLink dan dikompil menjadi pustaka asli untuk setiap platform, yang dipanggil terus oleh aplikasi.
- Pada telefon, teras menambah tindanan rangkaian ruang pengguna gVisor daripada Google (Apache-2.0), yang menukar trafik seluruh peranti menjadi sambungan SingLink.
- Ditulis dari awal. Selain templat kosong yang dijana Flutter untuk projek baharu, semua kod adalah baharu. Tiada kod, ikon atau imej diambil daripada aplikasi VPN lain.
Kedudukan setiap platform
- macOS 13 atau lebih baharu (Apple silicon): mod proksi sistem. Dibina dan diuji dengan sambungan sebenar.
- Android 7 atau lebih baharu: VPN seluruh peranti. APK telah dibina dan diuji dengan sambungan sebenar pada emulator Android.
- iOS 15 atau lebih baharu: VPN seluruh peranti. Ia boleh dibina dan dijalankan dalam simulator iOS; simulator tidak dapat mencipta terowong VPN, dan menjalankannya pada iPhone sebenar memerlukan akaun Apple Developer.
- Windows 10 dan 11 (x64): mod proksi sistem. Pustaka teras telah dibina; aplikasi itu sendiri perlu dikompil pada Windows, dan repositori menyertakan aliran kerja GitHub Actions yang melakukannya.
Had yang jujur
- Ia ialah prototaip. Ia ditujukan kepada pembangun, penyelidik dan sesiapa yang ingin melihat bagaimana komponennya berfungsi, bukan sebagai pengganti aplikasi rasmi.
- Pengedaran memerlukan langkah tambahan. Keluaran Mac awam memerlukan tandatangan dan notarisasi Apple, iPhone sebenar memerlukan akaun Apple Developer, dan binaan Android ditandatangani dengan kunci ujian.
- Sokongan macOS buat masa ini bermaksud macOS 13 atau lebih baharu pada Mac Apple silicon (M-series).
- Desktop menggunakan mod proksi sistem, jadi program yang mengabaikan tetapan proksi belum diliputi.
- Protokol di bawahnya masih draf. Ia telah menjalani semakan keselamatan dalaman tetapi belum diaudit oleh pihak ketiga, dan belum diuji di lapangan di tanah besar China.
- Nama pelayan dipaparkan sebagaimana yang dihantar oleh pelayan. Namakan pelayan dalam bahasa Inggeris untuk antara muka yang sepenuhnya berbahasa Inggeris.
Bina dan sertai kami
README dalam repositori menerangkan cara membina teras dan aplikasi untuk setiap platform. Teras protokol berada dalam repositorinya sendiri, SingLinkLabs / singlink-protocol.
Soalan, laporan pepijat dan pull request dialu-alukan di GitHub. Sila laporkan kelemahan keselamatan secara peribadi dan bukan dalam Issue awam — prosesnya diterangkan dalam SECURITY.md dalam repositori protokol.
Lesen dan tanda dagangan
Kod ini dilesenkan di bawah Apache-2.0: anda boleh menggunakan, mengubah suai dan mengedarkannya semula, termasuk secara komersial, mengikut terma lesen. Nama "SingLink" dan "SingLinkVPN", nama Cina kedua-duanya serta logonya ialah tanda dagangan SingLinkLabs, dan lesen ini tidak memberi kebenaran untuk menggunakannya. Fork mesti menggunakan nama dan ikon mereka sendiri. Aplikasi ini menyertakan tindanan rangkaian gVisor, yang juga dilesenkan di bawah Apache-2.0.
Bacaan lanjut
- Protokol SingLink kini sumber terbuka
- Projek sumber terbuka SingLinkLabs
- Kertas putih teknikal SingLink 2.0, protokol pengeluaran aplikasi rasmi
- Muat turun aplikasi rasmi SingLinkVPN

