- Headscale adalah proyek alternatif open source yang dibuat agar fungsi server kontrol Tailscale dapat di-host sendiri
- Tailscale adalah solusi VPN modern berbasis WireGuard yang memungkinkan pembentukan jaringan overlay yang tetap berfungsi di lingkungan NAT
- Server Control Tailscale asli adalah perangkat lunak tertutup, tetapi Headscale dikembangkan sebagai perangkat lunak server yang dapat dipasang secara bebas untuk menggantikannya
- Klien Windows, macOS, dan iOS masih memerlukan GUI Tailscale
Tujuan dan karakteristik Headscale
- Headscale hanya mendukung satu tailnet (jaringan privat virtual) agar dapat digunakan oleh individu dan organisasi open source kecil
- Solusi yang cocok bagi pengguna yang ingin menjalankan server sendiri dan penggemar perangkat lunak bebas
- Cakupan desain dibuat sempit agar pemeliharaan dan pengelolaan lebih mudah
Fitur utama
- Pertukaran kunci publik WireGuard antar node klien
- Alokasi alamat IP untuk tiap node serta pengaturan batas
- Fitur berbagi mesin antar pengguna
- Pengelolaan iklan rute node
- Daftar fitur resmi dapat dilihat di sini
Sistem operasi klien yang didukung
- Daftar sistem operasi dan klien yang kompatibel dengan Headscale dapat dilihat di dokumentasi resmi
Panduan instalasi dan menjalankan
- Reverse proxy maupun eksekusi berbasis container tidak direkomendasikan secara resmi
- Untuk cara menjalankan dan konfigurasi, lihat dokumentasi resmi
Komunitas dan kontribusi
Lingkungan pengembangan dan gaya kode
- Alat utama yang dibutuhkan untuk pengembangan:
- Go versi terbaru
- Buf (generator Protobuf)
- Lingkungan pengembangan dapat disiapkan dengan Nix (
nix develop)
- Gaya kode:
- Kode Go: menggunakan
golangci-lint, golines, gofumpt
- Kode Proto: menggunakan
buf, clang-format
- File lain: dirapikan dengan
prettier
- Sebelum commit, kode wajib dirapikan dengan
make lint, make fmt
Build dan pengujian
- Jika kode Protobuf diubah, perlu menghasilkan ulang kode Go:
make generate
- Menjalankan pengujian:
make test
- Build:
nix build
- atau gunakan perintah
make build
Informasi lain
- Presentasi tentang Headscale di FOSDEM 2023: tonton video
- Proyek ini tidak memiliki hubungan langsung dengan Tailscale Inc., tetapi ada kontributor dari Tailscale yang ikut berpartisipasi, sementara code review dan penentuan arah proyek tetap dilakukan secara independen
1 komentar
Komentar Hacker News
Setiap beberapa bulan saya kembali mengunjungi repositori ini untuk mengecek apakah tailnet lock sudah berfungsi atau apakah audit keamanan sudah dilakukan. Sayangnya, belum ada kemajuan pada keduanya, sehingga saya jadi ragu apakah sistem ini bisa dipercaya sebagai bagian inti dari infrastruktur
Jika Anda tertarik untuk self-host server orkestrasi, Anda bisa melihat Netbird. Alat ini sangat mirip, tetapi servernya tersedia sebagai open source. Jadi Anda bisa memiliki server kontrol self-host dengan semua fitur versi berbayar serta GUI yang bagus
Akan bagus jika Headscale mengizinkan peering/federasi antar-instans (bahkan setelah pengerjaan ulang ACL). Salah satu masalah utamanya adalah konflik alamat
Nama proyeknya, Headscale, seharusnya ditambahkan ke judul
Penasaran apakah ini berjalan di Plan 9
Saya suka Headscale. Kami sudah menerapkannya di production dan hasilnya sangat baik
Saya penasaran seberapa besar risiko perangkat saya ikut terdampak jika server koordinasi Tailscale dikompromikan sementara tailnet lock aktif
Untuk banyak use case (akses mobile, GUI di macOS), klien resmi Tailscale bergantung pada kemampuan untuk mengatur server kontrol
Saya penasaran nilai tambah apa yang diberikan pengaturan ini dibanding konfigurasi wireguard + openwrt
Pernyataan "Terlihat cukup berani untuk sama sekali tidak mengaudit kode server dalam implementasi Tailscale, sambil tidak menyediakan cara bagi pengguna untuk memahami atau menolak apa yang diperintahkan server kontrol kepada klien" menyiratkan bahwa hanya dengan membuka source code server kontrol Headscale saja belum menjadi syarat yang cukup agar pengguna dapat "memahami atau menolak apa yang diperintahkan server kontrol kepada klien"