Pekerjaan porting Tailscale ke Plan 9
(tailscale.com)Porting Tailscale ke Plan 9
-
Pendahuluan
- Tailscale kini dapat berjalan di Plan 9. Ini bukan lelucon 1 April, melainkan benar-benar nyata.
- Dalam proses porting Tailscale ke Plan 9, ada berbagai tantangan teknis dan solusi yang ditemukan.
-
Memahami Plan 9
- Plan 9 adalah sistem operasi yang unik, dan proses porting Tailscale ke sana membuka banyak hal baru untuk dipelajari.
- Dukungan Go compiler untuk Plan 9 mengalami masalah seiring waktu, dan perlu banyak upaya untuk memperbaikinya.
-
Tantangan teknis
- Untuk menyelesaikan masalah dukungan SSE di Plan 9, diperlukan modifikasi kernel.
- Masalah IPC menyebabkan error memori, dan untuk mengatasinya digunakan TCP localhost.
- Untuk memperbaiki lingkungan pengembangan, Russ Cox membuat repositori GitHub yang menyediakan source code Plan 9 dan binary yang telah dikompilasi sebelumnya.
-
Jaringan dan routing
- Tailscale dapat berjalan di Plan 9 melalui mode "userspace networking", tetapi ini bukan solusi yang ideal.
- Tabel routing diimplementasikan dengan memanipulasi jalur jaringan Plan 9.
-
Fitur tambahan dan peningkatan
- Dukungan Tailscale SSH ditambahkan sehingga server SSH dapat melakukan autentikasi menggunakan identitas Tailscale.
- Fitur MagicDNS diimplementasikan agar peer di jaringan Tailscale dapat dengan mudah dirujuk di Plan 9.
- Masalah waktu di Plan 9 diperbaiki untuk mencegah crash yang terjadi di netstack milik gVisor.
-
Arah ke depan
- Perlu pengujian agar Tailscale juga dapat berjalan di fork lain dari Plan 9 (9legacy, 9front).
- Dukungan 64-bit dan implementasi fitur tambahan masih diperlukan.
-
Kesimpulan
- Porting Tailscale ke Plan 9 adalah pengalaman yang menyenangkan dan edukatif, sekaligus berkontribusi pada peningkatan dukungan Go untuk Plan 9.
- Diharapkan komunitas Plan 9 dapat melanjutkan dan mengembangkan proyek ini.
1 komentar
Komentar Hacker News
tailscaleddantailscaledi dalam VM. Karena ketersediaan proxy terbatas, mungkin butuh waktu sebelum menjadi onlinerc, dan itu oke karena rekan kerja saya menggunakan nix sehingga bisa otomatis diambil ke dirnev