Memasang dan mendaftarkan node AeroNyx
Pasang node AeroNyx sumber terbuka di server Linux dengan perintah quickstart dari repositori, daftarkan dengan kode Nodeboard sekali pakai, dan verifikasi penerimaan jaringan. Juga membahas peran relay, join tanpa izin, penerapan TEE, dan pemasangan dengan bantuan AI.
Panduan ini memasang perangkat lunak node AeroNyx sumber terbuka di server Linux, mendaftarkannya ke akun operator Nodeboard Anda dengan kode sekali pakai, dan memeriksa bahwa jaringan telah menerimanya. Jalur yang didukung adalah skrip repositori deploy/node/aeronyx-node.sh quickstart, yaitu perintah yang sama yang dibuatkan Nodeboard untuk Anda.
- Konsol operator: app.aeronyx.network
- Kode sumber (AGPL-3.0): github.com/AeroNyxNetwork/AeroNyx
Saat ini seluruh node produksi di jaringan AeroNyx dioperasikan oleh AeroNyx. Sebelum mengoperasikan node, baca Kebijakan Operator Node.
Sebelum memulai
| Item | Persyaratan |
|---|---|
| Sistem operasi | Linux dengan systemd. Penginstal memasang paket dengan apt-get (Debian, Ubuntu), dnf atau yum. |
| Akses | Shell root. Setiap perintah dalam panduan ini mengasumsikan Anda telah menjalankan sudo -i terlebih dahulu. |
| Perangkat TUN | /dev/net/tun harus ada untuk bidang data VPN. |
| Memori | Penginstal memberi peringatan jika di bawah 2 GB lalu tetap melanjutkan. Node dikompilasi dari kode sumber di server, sehingga 4 GB atau lebih adalah pilihan yang lebih aman. |
| Disk | Penginstal memberi peringatan jika ruang kosong di bawah 4 GB lalu tetap melanjutkan. Sediakan 20 GB atau lebih untuk cache build dan cadangan rilis yang disimpan oleh alur kerja pembaruan. |
| Port masuk | 51820/UDP (listener VPN) dan 8422/TCP (penemuan bertanda tangan dan API peer). Buka port tersebut di firewall cloud Anda; penginstal tidak mengubah aturan firewall masuk. |
| Hanya lokal | 127.0.0.1:8421 adalah API kesehatan dan manajemen lokal. Jangan mengeksposnya. |
Mengapa root: repositori berada di /root/open/AeroNyx, penginstal menulis /etc/aeronyx dan /var/lib/aeronyx dengan mode 700, serta server.toml dengan mode 600. Perintah yang membaca jalur tersebut gagal bagi pengguna lain, dan Git menolak membaca checkout milik root dari akun lain ("dubious ownership").
Apa yang dilakukan quickstart
quickstart menjalankan empat langkah dan berhenti sebelum perubahan apa pun pada host hingga Anda menyetujuinya:
- Mencetak rencana pemasangan yang telah ditentukan (hanya baca).
- Menunggu Anda mengetik
INSTALL. Menekan Enter akan menghentikan proses dengan aman. - Menjalankan pemeriksaan pendahuluan, memasang paket dan toolchain Rust yang dipatok oleh repositori, menulis
/etc/aeronyx/server.tomljika belum ada (berkas yang sudah ada tetap dipertahankan), menyiapkan penerusan IP dan NAT, membangun node, memasang unit systemdaeronyx-server, mendaftarkan identitas node dengan kode Anda, memulai layanan, dan menunggu hingga 120 detik untuk penerimaan jaringan. - Mencetak
statusdan ringkasanhealth --json.
Penantian penerimaan memeriksa bahwa kesehatan lokal melaporkan ok, bahwa backend mengembalikan kebijakan baru (perjalanan pulang-pergi heartbeat berfungsi), bahwa penemuan memiliki setidaknya satu peer bertanda tangan yang tervalidasi dan telah menyelesaikan satu putaran gossip, serta, untuk node publik, bahwa node tercantum dalam pool publik.
Langkah 1: buat kode pendaftaran
- Masuk ke Nodeboard dan buka Registration Codes.
- Pilih Generate Code.
- Jaga kerahasiaan kode tersebut. Kode kedaluwarsa setelah 15 menit, hanya berlaku sekali, dan mengikat node baru ke akun yang membuatnya.
Nodeboard kemudian menampilkan perintah quickstart, perintah pratinjau dan pemasangan langkah demi langkah, perintah status, dan prompt asisten AI. Kolom Install Progress miliknya mengikuti penginstal melalui not_started → planning → running → completed | failed.
Backend memeriksa kode saat penginstal mencapai langkah pendaftarannya, yang terjadi setelah build. Build pertama di server kecil dapat memakan waktu lebih dari 15 menit. Jika pendaftaran kemudian gagal karena kode telah kedaluwarsa, buat kode baru dan jalankan quickstart lagi; proses kedua menggunakan ulang cache build.
Langkah 2: dapatkan atau perbarui repositori
aeronyx-node.sh bukan perintah sistem. Skrip ini disertakan dalam repositori. Berikut baris clone-atau-perbarui yang digunakan Nodeboard:
mkdir -p /root/open && cd /root/open
if [ -d AeroNyx/.git ]; then cd AeroNyx && git fetch origin main && git checkout main && git pull --ff-only origin main; else git clone https://github.com/AeroNyxNetwork/AeroNyx.git AeroNyx && cd AeroNyx; fi
git rev-parse HEAD
Selalu berikan --repo-dir "$PWD" (atau --repo-dir /root/open/AeroNyx) ke skrip. Tanpanya, install, upgrade, health dan status secara default menggunakan /opt/aeronyx/AeroNyx.
Langkah 3: jalankan quickstart
Jalankan quickstart tanpa kode di baris perintah. Saat berjalan di terminal, skrip meminta kode melalui prompt tersembunyi, sehingga kode tidak ditampilkan, tidak disimpan dalam riwayat shell, dan tidak diteruskan sebagai argumen proses:
cd /root/open/AeroNyx
./deploy/node/aeronyx-node.sh quickstart --repo-dir "$PWD" --branch main --quick \
--node-name "Example1" --region DE --public-vpn
--node-nameadalah nama yang ditampilkan di Nodeboard dan di daftar node VPN.--regionadalah kode negara ISO 3166-1 alpha-2.--public-vpnmenerbitkan node di pool VPN publik. Hilangkan opsi ini agar node tetap privat.
Pada Nodeboard registration code: tempelkan kode lalu tekan Enter. Tinjau rencananya, lalu ketik INSTALL.
Tentang perintah yang dibuat Nodeboard
Perintah quickstart dari Nodeboard menyertakan kode secara langsung di dalam perintah, misalnya AERONYX_REGISTRATION_CODE='<code>' ./deploy/node/aeronyx-node.sh quickstart --repo-dir "$PWD" --branch main --quick. Cara itu berfungsi, tetapi kode tersimpan dalam riwayat shell Anda. Jika Anda menggunakannya:
- Periksa
echo "$HISTCONTROL". Jika berisiignorespaceatauignoreboth, awali perintah dengan spasi dan Bash tidak akan mencatatnya. - Jika tidak, hapus entri tersebut sesudahnya dengan
history -d <number>.
Kode hanya dapat dipakai sekali dan kedaluwarsa setelah 15 menit, yang membatasi paparannya, tetapi jangan menempelkannya ke tiket, tangkapan layar, atau chat.
Pemasangan non-interaktif
Untuk otomatisasi, lakukan pratinjau terlebih dahulu, lalu berikan kode melalui standard input. read -rs menjaga kode agar tidak tampil di layar dan tidak masuk ke riwayat:
cd /root/open/AeroNyx
./deploy/node/aeronyx-node.sh plan --repo-dir "$PWD" --branch main
read -rs AERONYX_CODE
printf '%s\n' "$AERONYX_CODE" | ./deploy/node/aeronyx-node.sh install \
--repo-dir "$PWD" --branch main --quick --registration-code-stdin \
--node-name "Example1" --region DE --public-vpn
unset AERONYX_CODE
install --quick tidak meminta INSTALL. Gunakan hanya setelah Anda meninjau rencananya.
Langkah 4: verifikasi node
cd /root/open/AeroNyx
systemctl is-active aeronyx-server
./deploy/node/aeronyx-node.sh status --repo-dir "$PWD"
./deploy/node/aeronyx-node.sh health --repo-dir "$PWD" --json
Node baru yang sehat menunjukkan:
aeronyx-serverberstatusactive, danhealthmelaporkanfail=0- penginstal mencetak
[OK] Node admission accepteddenganhealth=ok,management=freshdandiscovery=ready(sertapublic_pool=onlineuntuk node publik) statusmencetakoperator_status=okdan langkah berikutnya- baris JSON terakhir dari
health --jsonberisi"success":true; peringatan muncul di bawahchecks
Di Nodeboard, kode menunjukkan completed, dan node muncul di bawah Nodes dengan nama, wilayah, visibilitas, dan heartbeat baru. Halaman detail node menampilkan Capacity Decision berupa ready, watch, blocked atau waiting.
Untuk pemeriksaan harian, log, pembaruan, dan rollback, lihat Menjalankan dan memeriksa node AeroNyx.
Opsional: bergabung dengan relay terenkripsi
Node VPN dan node relay terenkripsi adalah pilihan yang terpisah. Partisipasi relay memiliki tiga bagian: API peer publik yang dapat dijangkau, peran simpan-dan-teruskan ChatRelay buta, dan peran OnionMiddle tanpa exit. Kedua peran nonaktif dalam konfigurasi default.
-
Pastikan
8422/TCPdapat dijangkau dari internet. -
Edit
/etc/aeronyx/server.toml(misalnyanano /etc/aeronyx/server.toml) dan atur kunci-kunci berikut di bagian[discovery], menggunakan alamat publik Anda:tomlpublic_endpoint = "http://203.0.113.10:8422" public_discovery = true region = "DE" -
Validasi berkas:
bashcd /root/open/AeroNyx ./target/release/aeronyx-server validate -c /etc/aeronyx/server.toml -
Aktifkan ChatRelay tanpa memulai ulang. Helper ini mencadangkan konfigurasi, meminta Anda mengetik
ENABLE CHATRELAY, melakukan validasi, dan memulihkan cadangan jika validasi gagal:bash./deploy/node/aeronyx-node.sh chat-relay --repo-dir "$PWD" --enable-chat-relay -
Aktifkan OnionMiddle dan mulai ulang dalam satu langkah yang dijaga. Helper ini meminta Anda mengetik
ENABLE ONIONMIDDLEdan menolak memulai ulang jika node memiliki sesi aktif atau tidak dapat melaporkan jumlah sesi:bash./deploy/node/aeronyx-node.sh onion-middle --repo-dir "$PWD" --enable-onion-middle --restartJika ditolak, aktifkan Maintenance Mode untuk node tersebut di Settings Nodeboard, tunggu hingga sesi aktif mencapai nol, lalu jalankan lagi. Jangan menambahkan
--yes: opsi itu melewati konfirmasi dan pengaman sesi aktif. -
Periksa kesiapan relay:
bash./deploy/node/aeronyx-node.sh relay-probe --repo-dir "$PWD" --two-hop --json
Mengaktifkan suatu peran tidak sama dengan digunakan untuk rute. Node baru menjadi kandidat rute setelah peer melihatnya dapat dijangkau dan bukti path-proof yang baru tersedia. Lihat Penemuan node dan relay terenkripsi.
Bergabung tanpa Nodeboard
join memasang node dan mengirimkan deskriptor bertanda tangannya ke node seed untuk penerimaan Stage-A, tanpa kode pendaftaran atau akun Nodeboard:
cd /root/open/AeroNyx
./deploy/node/aeronyx-node.sh join --repo-dir "$PWD" \
--seed http://SEED_PUBLIC_IP:8422 \
--public-endpoint http://YOUR_PUBLIC_IP:8422 --json
--seedmenerima 1 hingga 8 node seed publik; permintaan dikirim ke yang pertama.--public-endpointadalah API peer node Anda yang dapat dijangkau. Keduanya harus berupa URLhttpatauhttpsdengan alamat IP publik, bukan nama host.- Perintah ini berjalan sebagai root di Linux dengan systemd, dan memerlukan Python 3.11 atau lebih baru, atau
python3dengan pakettomli. - Perintah ini mengatur enam nilai
[discovery](enabled,advertise_self,public_discovery,gossip_enabled,public_endpoint,seed_endpoints) dan membiarkan bagian lain berkas tidak tersentuh. - Jika layanan sudah berjalan dengan pengaturan berbeda, perintah ini berhenti tanpa mengubah apa pun.
--commit <40-hex SHA>mematok commit sumber yang persis.--dry-runmencetak hasil yang direncanakan tanpa perubahan.--check-onlymemverifikasi node yang sudah bergabung tanpa mengirim apa pun.
Hasil yang berhasil adalah "admission_stage":"stage_a_candidate" dengan "route_authority":false dan "route_ready":false. Penerimaan Stage-A berarti seed menerima deskriptor Anda. Penerimaan ini tidak membuat node dapat dirutekan, tidak mencantumkannya di Nodeboard atau pool VPN, dan tidak membuatnya memenuhi syarat untuk pembayaran. Jawaban seed dikirim melalui HTTP biasa kecuali seed menggunakan HTTPS, sehingga jawaban itu bukan tanda terima kriptografis.
Penerapan TEE dengan Docker
Repositori juga berisi penerapan kontainer untuk VM rahasia yang menjalankan dstack (Phala Cloud atau Intel TDX yang di-hosting sendiri): deploy/node/Dockerfile, deploy/node/compose.tee.yaml, deploy/node/server.tee.toml dan deploy/node/tee-entrypoint.sh.
Peran ini bukan node VPN:
vpn.enabled = false: tanpa perangkat TUN, tanpa proxy DNS, tanpa MemChain. Kontainer berjalan dengan semua kapabilitas Linux dilepas danno-new-privileges.- Peran ini menjalankan relay onion (
advertise_onion_middle = true), ChatRelay, dan kotak surat anonim, serta hanya mengekspos8422. - Identitas node berasal dari layanan manajemen kunci dstack (
[server_key] source = "dstack"). Tidak ada berkas kunci.
Untuk menerapkan:
- Pilih image rilis dari
ghcr.io/aeronyxnetwork/aeronyx-node. CI membangun imagelinux/amd64dari tagnode-v*dan melampirkan atestasi asal-usul build. Temukan digest-nya, misalnya dengandocker buildx imagetools inspect ghcr.io/aeronyxnetwork/aeronyx-node:<tag>. - Di
compose.tee.yaml, gantiIMAGE_DIGESTdengan digest tersebut. Selalu patok berdasarkan digest, bukan tag; di VM dstack, berkas compose adalah bagian dari penerapan yang diukur. - Atur
AERONYX_PUBLIC_ENDPOINTke originhttps://yang ditetapkan gateway dstack untuk port 8422. Entrypoint menolak skema lain apa pun. - Secara opsional, atur
AERONYX_REGION(defaulttee). - Hanya untuk start pertama, berikan
AERONYX_REGISTRATION_CODEsebagai secret terenkripsi. Entrypoint menyalurkannya keaeronyx-server register --code-stdin. Setelahnode_info.jsonada di volume/var/lib/aeronyx, kode tidak lagi diperlukan.
Kontainer tidak menyertakan aeronyx-node.sh. Pantau node TEE di Nodeboard dan melalui API penemuan publiknya.
Memasang dengan asisten coding AI
Asisten terminal seperti Claude Code, Codex, OpenClaw atau Hermes dapat menjalankan prosedur ini. Nodeboard menyediakan AI assistant prompt siap pakai di samping setiap kode. Aturan berikut berlaku asisten mana pun yang Anda gunakan.
Operator manusia:
- menyediakan server dan menyetujui setiap perubahan host
- mengetik sendiri
INSTALLsetelah membaca rencananya - menjaga kerahasiaan kode pendaftaran. Prompt AI dari Nodeboard berisi kode, sehingga menempelkannya berarti membagikan kode kepada penyedia asisten. Untuk menghindarinya, biarkan asisten memperbarui repositori dan menjalankan
planyang tidak memerlukan kode, lalu jalankanquickstartsendiri dan ketik kode di prompt tersembunyi. Serahkan kembali ke asisten untuk verifikasi.
Asisten wajib:
- hanya menggunakan
deploy/node/aeronyx-node.shdarigithub.com/AeroNyxNetwork/AeroNyx, dan memberikan--repo-dir - hanya menggunakan opsi yang didokumentasikan skrip (
./deploy/node/aeronyx-node.sh help). Opsi yang tidak dikenal akan gagal; misalnya,--api-basemenghentikan penginstal denganUnknown option. - menampilkan atau meringkas rencana sebelum perubahan host apa pun dan menunggu persetujuan
- menjalankan
statussetelah pemasangan atau pembaruan dan melaporkanoperator_status,operator_title,operator_detaildanoperator_next_step, laluhealth --jsonjika diperlukan detail lebih lanjut - melaporkan peringatan sebagai peringatan, dan tidak menyatakan berhasil hanya karena ada proses yang berjalan
- mengutamakan
upgrade --no-restartkecuali Anda menyetujui mulai ulang pada jendela pemeliharaan - tidak pernah menggunakan
--forceatau--yes, dan tidak pernah memulai ulang node yang memiliki sesi aktif, tanpa persetujuan eksplisit Anda - tidak pernah mencetak kode pendaftaran, kunci privat, secret API, IP publik klien, tujuan, isi DNS, payload paket, atau teks polos chat
Selesai berarti:
- repositori berada di
maindan commit-nya dilaporkan - quickstart atau install selesai dengan
Node admission accepted statusmelaporkanoperator_status=ok, atau setiap peringatan dijelaskanhealth --jsonmelaporkan"success":true- Nodeboard menampilkan node dengan heartbeat baru dan Capacity Decision
- Alerts / Events → Incident Closure tidak memiliki item
openyang belum ditinjau untuk node tersebut - Anda mengetahui halaman detail node di Nodeboard
Apa yang dilaporkan node terdaftar
Diagnostik lokal (status, health, relay-probe) hanya mencetak nilai agregat: status layanan, kapasitas, penghitung paket, kesiapan penemuan, dan hasil bukti.
Node VPN terdaftar juga melaporkan setiap sesi VPN ke backend AeroNyx: ID sesi, kunci klien (client_wallet), IP virtual tunnel, jumlah byte, waktu, dan kualitas tautan. Node tidak melaporkan IP publik klien, tujuan, isi DNS, atau payload paket. Operator dapat melihat catatan sesi ini untuk node mereka sendiri di Nodeboard; lihat Panduan konsol operator Nodeboard. Seperti server VPN mana pun, node itu sendiri menangani lalu lintas klien dalam bentuk tidak terenkripsi di titik exit, sehingga operator harus mematuhi Kebijakan Operator Node.
Halaman terkait
- Menjalankan dan memeriksa node AeroNyx
- Panduan konsol operator Nodeboard
- Penemuan node dan relay terenkripsi
- Statistik jaringan dan batas privasi
Pertanyaan yang sering diajukan
Dari mana asal aeronyx-node.sh?
Ini adalah berkas dalam repositori node AeroNyx di deploy/node/aeronyx-node.sh, bukan perintah sistem. Clone atau perbarui https://github.com/AeroNyxNetwork/AeroNyx ke /root/open/AeroNyx dan jalankan dari sana dengan --repo-dir "$PWD".
Bagaimana cara menjaga kode pendaftaran agar tidak masuk ke riwayat shell?
Jalankan quickstart tanpa kode dan ketik kode tersebut di prompt tersembunyi Nodeboard registration code:. Untuk skrip, baca kode dengan read -rs dan salurkan ke install --quick --registration-code-stdin.
Mengapa skrip mencari di /opt/aeronyx/AeroNyx?
Itu adalah default bawaan skrip untuk --repo-dir, sedangkan Nodeboard melakukan clone ke /root/open/AeroNyx. Berikan --repo-dir pada setiap perintah agar install, health, status, dan upgrade semuanya menggunakan checkout tempat layanan berjalan.
Apa yang terjadi jika kode saya kedaluwarsa selama pemasangan?
Langkah pendaftaran gagal dan penginstal berhenti sebelum memulai layanan. Kode diperiksa setelah build, jadi buat kode baru dan jalankan quickstart lagi; proses kedua menggunakan ulang cache build.
Apakah saya memerlukan Nodeboard untuk menjalankan node?
Tidak, join memasang node dan mengirimkannya untuk penerimaan Stage-A tanpa kode pendaftaran. Node yang bergabung dengan cara ini tidak dapat dirutekan, tidak tercantum di Nodeboard atau pool VPN, dan tidak memenuhi syarat untuk pembayaran.
Dapatkah saya menjalankan node di VM rahasia?
Ya, repositori menyertakan penerapan Docker untuk VM rahasia dstack yang menjalankan relay onion, ChatRelay, dan kotak surat anonim. Penerapan ini tidak menyediakan layanan VPN dan mengambil identitasnya dari layanan manajemen kunci dstack.
<!-- faq:end -->