Siri Vibe Coding #5: Setup Tailscale — Sambung AI Box Anda dari Mana-Mana Sahaja
Ini artikel KELIMA dalam siri Vibe Coding saya. Kalau belum baca Artikel 1-4, sila baca dulu — terutama Artikel 4 (Bina AI Box), sebab artikel ni khas untuk sambungkan AI Box tu dari mana-mana lokasi, bukan sekadar rumah.
😄 Nota jenaka: Rangkaian ni topik yang boleh buat kepala pening — banyak istilah (CGNAT, VPN, ACL). Saya cuba terjemah semua ke bahasa manusia biasa. Kalau masih pening, itu normal — rangkaian memang subjek yang buat ramai engineer bergaduh sesama sendiri pun.
📑 Kandungan (Table of Content)
- Kenapa Perlu Tailscale?
- Bahagian 1: Daftar Akaun Tailscale
- Bahagian 2: Install di AI Box (Linux)
- Bahagian 3: Install di Laptop Windows
- Bahagian 4: Install di Mac
- Bahagian 5: Install di Android
- Bahagian 6: Install di iOS (iPhone/iPad)
- Bahagian 7: Peranti Huawei — Nota Penting
- Bahagian 8: MagicDNS — Nama Senang Ingat
- Bahagian 9: User Management — Kongsi AI Box dengan Selamat
- Bahagian 10: Update Semua Config Lama ke Tailscale
- Bahagian 11: App Mudah Alih — Chat dengan AI Box dari Telefon
- Bahagian 12: Ujian
- Bahagian 13: Bacaan Lanjut
- Penutup
Kenapa Perlu Tailscale?
Dalam Artikel 4, kita bina AI Box — tapi setakat ni, ia hanya boleh diakses dalam rangkaian rumah (WiFi/LAN sama). Bagaimana kalau awak nak akses dari pejabat, dari kampung masa cuti raya, atau dari mana-mana guna hotspot telefon?
Masalah "CGNAT" — Kenapa Cara Biasa Tak Jalan
Kebanyakan rumah di Malaysia TIADA IP awam sendiri — ISP (Unifi, Maxis, dll) letak beberapa rumah berkongsi satu IP awam (dipanggil CGNAT, Carrier-Grade NAT). Ini bermakna cara "port forwarding" tradisional (yang mungkin awak pernah dengar) TAK BOLEH jalan — router awak tak ada kawalan penuh ke IP awam sebenar.
Tailscale selesaikan masalah ni secara elegant — ia cipta "rangkaian peribadi maya" antara semua peranti berdaftar awak, seolah-olah mereka semua dalam satu rumah, walaupun sebenarnya berselerak merentasi bandar/negara.
😄 CGNAT tu macam awak tinggal dalam apartmen dengan alamat surat berkongsi — surat sampai ke bangunan, tapi tak boleh terus ke unit awak tanpa "penjaga" (Tailscale) hantar terus.
BAHAGIAN 1: Daftar Akaun Tailscale
- Pergi ke https://tailscale.com
- Klik Get Started / Sign Up
- Daftar guna akaun Google, Microsoft, GitHub, atau email — pilih yang awak sudah ada 2FA (Two-Factor Authentication) diaktifkan untuk keselamatan tambahan
- Selesai — awak akan sampai ke Admin Console Tailscale (dashboard kawalan)
📸 [AMBIL SCREENSHOT DI SINI] — halaman Tailscale Admin Console selepas daftar
⚠️ PENTING: Akaun yang awak guna untuk daftar Tailscale (Google/Microsoft/dll) WAJIB ada 2FA aktif — sebab akaun ni jadi "kunci induk" kepada semua peranti dalam rangkaian peribadi awak (termasuk AI Box). Kalau akaun ni "jatuh", seluruh rangkaian terdedah.
🆘 Jika Tersekat (Bahagian 1)
Saya cuba daftar akaun Tailscale tapi [nyatakan masalah]. Tolong bantu
step by step.
BAHAGIAN 2: Install di AI Box (Linux)
Di AI Box (rujuk Artikel 4), buka terminal:
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
Hasil sebenar yang patut keluar — link untuk login dan "approve" peranti ni:
To authenticate, visit:
https://login.tailscale.com/a/xxxxxxxxxxxx
Buka link tu (dalam browser mana-mana peranti), login dengan akaun Tailscale dari Bahagian 1, klik Connect.
Verify berjaya:
tailscale status
Patut tunjuk IP Tailscale AI box awak (bermula 100.x.x.x).
🆘 Jika Tersekat (Bahagian 2)
Saya cuba install Tailscale di AI Box (Ubuntu/Linux) tapi [nyatakan
masalah]. Ni error sebenar: [paste]. Tolong bantu diagnosa.
BAHAGIAN 3: Install di Laptop Windows
- Pergi ke https://tailscale.com/download/windows
- Download dan install (Next → Next → Finish)
- Ikon Tailscale akan muncul di system tray (bawah kanan)
- Klik ikon tu → Log in → guna akaun sama dari Bahagian 1
📸 [AMBIL SCREENSHOT DI SINI] — ikon Tailscale system tray Windows dengan status Connected
🆘 Jika Tersekat (Bahagian 3)
Saya install Tailscale di Windows tapi [nyatakan masalah: "tak boleh
login", "status tak Connected"]. Tolong bantu diagnosa.
BAHAGIAN 4: Install di Mac
- Download dari Mac App Store (cari "Tailscale"), atau https://tailscale.com/download/mac
- Buka app, login guna akaun sama
- Ikon akan muncul di menu bar atas skrin
BAHAGIAN 5: Install di Android
- Buka Google Play Store, cari "Tailscale", install
- Buka app, login guna akaun sama
- Benarkan permission "VPN" bila diminta (Tailscale beroperasi macam VPN peribadi)
🆘 Jika Tersekat (Bahagian 5)
Saya install Tailscale di Android tapi [nyatakan masalah]. Tolong
bantu diagnosa.
BAHAGIAN 6: Install di iOS (iPhone/iPad)
- Buka App Store, cari "Tailscale", install
- Buka app, login guna akaun sama
- Benarkan permission VPN bila diminta
BAHAGIAN 7: Peranti Huawei — Nota Penting
Ini kena dijelaskan dengan jujur, sebab situasi Huawei berbeza ikut model:
| Jenis Peranti Huawei | Boleh Guna Tailscale? |
|---|---|
| HarmonyOS lama (berasaskan Android, sebelum ~2024) | ✅ Boleh, tapi perlu sideload APK Tailscale (bukan dari AppGallery, sebab GMS/Google Play tiada) — download APK dari laman rasmi Tailscale atau APKMirror/APKPure yang dipercayai |
| HarmonyOS NEXT (Huawei 2024 ke atas, tiada sokongan Android APK langsung) | ❌ TIDAK boleh — Tailscale belum ada versi rasmi untuk HarmonyOS NEXT (ada permintaan rasmi di GitHub Tailscale, masih belum diselesaikan setakat artikel ni ditulis) |
⚠️ Nota jujur: Kalau telefon Huawei awak model terbaru (HarmonyOS NEXT), tiada cara mudah/rasmi setakat ni untuk pasang Tailscale terus. Alternatif: akses AI box melalui browser (buka Open WebUI terus — tapi ini hanya jalan kalau peranti lain dalam rangkaian yang sama Tailscale "route" traffic untuk awak, agak kompleks untuk pemula). Cadangan paling senang: guna peranti lain (Android/iOS/laptop) untuk akses jauh, simpan Huawei untuk kegunaan harian biasa.
🆘 Jika Tersekat (Bahagian 7)
Telefon Huawei saya model [nyatakan model] tak boleh pasang Tailscale.
Tolong cadangkan cara alternatif untuk saya akses AI box dari telefon ni.
BAHAGIAN 8: MagicDNS — Nama Senang Ingat
Selepas semua peranti disambung, awak boleh aktifkan MagicDNS supaya tak perlu ingat IP panjang (100.x.x.x) — cukup guna nama peranti.
- Dalam Admin Console Tailscale (https://login.tailscale.com/admin/dns)
- Aktifkan MagicDNS
- AI box awak (contoh nama peranti
aibox) sekarang boleh diakses gunahttp://aibox:11500(contoh) dari mana-mana peranti dalam Tailscale awak — bukan perlu IP lagi
😄 MagicDNS ni macam bagi "nama gelaran" kat setiap ahli keluarga — dari "panggil nombor telefon panjang" jadi "panggil nama je, terus jawab".
🎮 Cheat Code: Lepas MagicDNS aktif, semua config lama yang guna IP (
192.168.x.xatau100.x.x.x) boleh ditukar ke nama peranti (aibox) — lebih senang diingat dan tak berubah walaupun IP Tailscale bertukar.
🆘 Jika Tersekat (Bahagian 8)
Saya dah aktifkan MagicDNS tapi [nama peranti] tak boleh diakses.
Tolong bantu diagnosa.
BAHAGIAN 9: User Management — Kongsi AI Box dengan Selamat
Kalau awak nak benarkan rakan guna AI box awak (dengan kebenaran mereka sendiri tentunya), ini kena disetup dengan rapi — bocor sikit boleh bawa padah.
9.1 Fahami Dulu: Tailscale TAK Guna "Password Kongsi"
Salah faham biasa: Tailscale bukan macam WiFi rumah (satu password dikongsi semua). Setiap orang yang awak jemput perlu akaun Tailscale sendiri (Google/Microsoft/email mereka sendiri), dan setiap peranti mereka perlu diluluskan (approve) secara individu oleh awak dalam Admin Console.
9.2 Jemput Rakan ke Tailnet Awak
- Dalam Admin Console → Users → Invite external user
- Masukkan email rakan awak
- Mereka terima jemputan, daftar/login Tailscale (akaun mereka sendiri)
- Peranti mereka akan menunggu approval — awak WAJIB approve manual setiap peranti baharu (jangan auto-approve sesiapa sahaja)
📸 [AMBIL SCREENSHOT DI SINI] — halaman Users dalam Admin Console dengan status "pending approval"
9.3 Hadkan Akses Guna ACL (Access Control List)
Jangan bagi rakan awak akses penuh ke semua port/servis AI box awak — hadkan hanya ke servis yang mereka perlukan (contoh Open WebUI di port 8080), bukan SSH (port 22) yang bagi kawalan penuh sistem.
- Dalam Admin Console → Access Controls
- Edit policy file (format JSON), contoh ringkas:
{
"acls": [
{
"action": "accept",
"src": ["autogroup:member"],
"dst": ["tag:aibox:22"]
},
{
"action": "accept",
"src": ["rakan@email.com"],
"dst": ["tag:aibox:8080", "tag:aibox:11500"]
}
]
}
Komen penerangan:
Rule pertama: HANYA "member" (awak sendiri, akaun utama) boleh akses
port 22 (SSH) — kawalan sistem penuh
Rule kedua: "rakan@email.com" (rakan yang dijemput) HANYA boleh akses
port 8080 (Open WebUI) dan 11500 (proxy AI) — TIADA akses SSH
⚠️ PENTING: Ini tepat sebab awak sebut — kalau bocor, boleh bawa padah. ACL yang tak disetup (default: semua ahli tailnet boleh akses semua) bermakna rakan boleh akses SSH sistem awak, bukan sekadar chat AI. Sentiasa hadkan port secara eksplisit.
9.4 Password "Military Grade" — Untuk Servis DI BELAKANG Tailscale
Tailscale sendiri tak guna password tradisional (guna kunci kriptografi WireGuard + akaun identity provider) — tapi servis DI BELAKANG Tailscale (contoh akaun login Open WebUI, SSH password AI box) WAJIB password kuat:
# Jana password rawak 20 aksara guna PowerShell (tak perlu tool tambahan)
-join ((33..126) | Get-Random -Count 20 | ForEach-Object { [char]$_ })
🎮 Cheat Code: Password "military grade" = panjang (16+ aksara) + rawak (bukan perkataan kamus) + unik (tak guna sama kat tempat lain).
password123= alamat rumah terbuka luas untuk hacker, jangan sekali-kali.
🆘 Jika Tersekat (Bahagian 9)
Saya nak kongsi akses AI box saya dengan rakan tapi risau isu keselamatan.
Tolong bantu saya setup ACL Tailscale yang selamat untuk situasi ni:
[terangkan siapa perlu akses apa].
BAHAGIAN 10: Update Semua Config Lama ke Tailscale
Sekarang tukar semua config dari Artikel 1-4 yang guna localhost atau LAN IP kepada nama Tailscale (MagicDNS):
| Config Lama | Tukar Kepada |
|---|---|
Cline Base URL: http://192.168.x.x:11500 |
http://aibox:11500 |
Open WebUI Connections: http://192.168.x.x:11434 |
http://aibox:11434 |
FreeLLMAPI dashboard: http://localhost:11500 |
http://aibox:11500 (dari peranti lain) |
💡 Tips & Trick: Kalau ada firewall aktif di AI Box (Ubuntu
ufw), pastikan port yang diperlukan (11500, 8080, 11434) dibenarkan hanya dari rangkaian Tailscale (100.64.0.0/10), bukan dibuka terus ke internet:sudo ufw allow from 100.64.0.0/10 to any port 11500
🆘 Jika Tersekat (Bahagian 10)
Saya dah tukar Base URL ke nama Tailscale tapi [nyatakan masalah:
tak boleh sambung]. Tolong bantu diagnosa.
BAHAGIAN 11: App Mudah Alih — Chat dengan AI Box dari Telefon
Sekarang bahagian seronok — chat dengan AI box awak terus dari telefon, di mana-mana sahaja (selagi ada internet).
Android
| App | Jenis | Nota |
|---|---|---|
| Off Grid Mobile | Percuma, Open Source (MIT) | Chat, image gen, boleh sambung ke Ollama jauh |
| MyOllama | Percuma, Open Source | Ringkas, sambung terus guna IP/nama Ollama |
iOS
| App | Jenis | Nota |
|---|---|---|
| Serval (dulu ChatOllama) | Percuma | Client native iOS untuk Ollama, sokong chain-of-thought dan LaTeX |
| Ollama Mobile | Percuma | Sambung ke endpoint Ollama custom, privasi fokus (data tak lalu server mereka) |
Cara Setup (Konsep Sama untuk Semua App Di Atas)
- Buka app, cari setting "Server" / "Endpoint" / "Custom URL"
- Masukkan:
http://aibox:11434(guna nama Tailscale/MagicDNS dari Bahagian 8) - Save, dan model AI dalam AI box awak patut muncul untuk dipilih
📸 [AMBIL SCREENSHOT DI SINI] — setting endpoint dalam app mudah alih pilihan awak
⚠️ Nota jujur: Saya tak dapat sahkan kewujudan app bernama tepat "LocalMind" semasa semakan — kalau awak jumpa app dengan nama tu dan ia berfungsi baik untuk awak, teruskan guna. Cadangan di atas (Off Grid Mobile, MyOllama, Serval, Ollama Mobile) adalah yang disahkan wujud dan aktif semasa artikel ni ditulis.
😄 Bayangkan — awak duduk kat kedai kopi, buka telefon, chat dengan AI yang jalan di rumah awak sendiri. Ini definisi "power dalam poket" sebenar.
🆘 Jika Tersekat (Bahagian 11)
Saya cuba sambung app [nama app] ke AI box saya guna [nama Tailscale]
tapi [nyatakan masalah]. Tolong bantu diagnosa.
BAHAGIAN 12: Ujian
Ujian 1: Akses dari Rangkaian Lain
Matikan WiFi laptop, guna hotspot telefon sebagai internet, cuba akses http://aibox:11500 atau Open WebUI.
📋 Expected Result: Boleh akses sama macam di rumah — bukti Tailscale betul-betul jalan merentasi rangkaian berbeza.
Ujian 2: Test dari Telefon
Buka app mudah alih (Bahagian 11), chat dengan model AI box awak, guna data mobile (bukan WiFi rumah).
📋 Expected Result: Respons AI keluar sama macam di rumah, walaupun awak "jauh" secara fizikal.
🆘 Jika Tersekat (Bahagian 12)
Saya jalankan ujian [nombor] tapi [nyatakan masalah]. Tolong bantu
diagnosa.
BAHAGIAN 13: Bacaan Lanjut
- Dokumentasi Rasmi Tailscale — https://tailscale.com/kb — panduan lengkap ACL, MagicDNS, dan ciri lanjutan
- Tailscale ACL Guide — https://tailscale.com/kb/1018/acls — mendalami access control
- Rujuk Artikel 1-4 siri ni untuk asas yang disambungkan dalam artikel ni
Penutup
Sekarang AI box awak betul-betul "milik anda, akses dari mana-mana" — bukan terkurung dalam rumah sahaja. Dengan ACL yang rapi dan password kuat, awak juga boleh kongsi dengan rakan tanpa risau keselamatan terjejas.
😄 Dari laptop yang "basikal" (Artikel 1-2), ke gudang AI sendiri (Artikel 4), sekarang dengan Tailscale, gudang tu ada "talian terus" ke mana-mana awak pergi — lengkap sudah!
Nantikan Artikel 6 — lengkapkan perbandingan 4 pilihan otak AI dengan bahasan mendalam AI Berbayar!
Artikel ini sebahagian dari siri "Vibe Coding". Semua arahan telah disahkan berdasarkan dokumentasi rasmi Tailscale terkini.
Comments