1 poin oleh GN⁺ 7 jam lalu | 1 komentar | Bagikan ke WhatsApp
  • Dengan [Open OSCAR Server], Anda bisa membangun server AIM/ICQ di server Debian dan menghubungkan kembali berbagai klien di lingkungan lama, termasuk Windows 98
  • Untuk operasi skala kecil, VPS berspesifikasi rendah pun sudah cukup, tetapi jika ingin dipakai bersama teman di luar jaringan, Anda memerlukan port default 5190, IP statis atau DNS dinamis, serta pengaturan firewall yang sesuai untuk akses publik dari internet
  • Sesuaikan OSCAR_LISTENERS dan OSCAR_ADVERTISED_LISTENERS_PLAIN di settings.env dengan mode LAN atau WAN, lalu ubah klien AIM agar tersambung ke server sendiri, bukan ke server AOL yang sudah ditutup
  • Secara default, pengguna bisa login dengan screen name dan kata sandi apa pun, jadi aktifkan autentikasi kata sandi dengan DISABLE_AUTH=false dan kelola akun lewat API
  • Karena status server disimpan dalam database SQLite dan file konfigurasi, Anda bisa mempertahankan lingkungan AIM yang dapat dipulihkan melalui backup penuh setiap malam atau menyalin dengan rsync setelah server dihentikan

Mengapa Menjalankan AIM Lagi, Bukan Discord

  • Sebelum ponsel dan SMS menjadi umum, banyak aktivitas—mulai dari proyek sekolah hingga relasi sosial—berlangsung di jendela AIM, dan pengalaman semacam ini menumbuhkan nostalgia terhadap AIM
  • Karena pengalaman memakai Discord belakangan ini kurang baik, Open OSCAR Server dicoba, dan beberapa klien lama berhasil dihubungkan ke server AIM/ICQ sendiri
  • Proses penyiapannya juga dibahas di video YouTube dan video PeerTube, sementara video terpisah dari Macintosh Librarian memperkenalkan AIM itu sendiri dengan lebih detail

Menyiapkan Server Debian Trixie

  • Target instalasinya adalah Debian Trixie, dan proses instalasi sistem operasinya sendiri tidak dibahas
  • Jika tidak berencana mengobrol dengan ratusan orang, server ini bisa dijalankan di VPS berspesifikasi rendah
    • Awalnya dihosting di rumah, tetapi setelah mulai dibagikan dengan teman-teman, dipindahkan ke VPS paket paling rendah
    • Kemungkinan bisa berjalan di Raspberry Pi, tetapi belum diuji langsung
  • Jika dijalankan dari rumah atau di balik firewall, Anda perlu membuka port default 5190 yang akan digunakan klien AIM untuk tersambung
    • Pada sebagian klien, mengubah port tidak mudah, jadi lebih baik mempertahankan port default
  • Di lingkungan rumahan tanpa IP statis, DNS dinamis diperlukan
    • Layanan yang digunakan secara langsung adalah No-IP, dan hasilnya memuaskan
    • Jika belum terbiasa dengan DNS dinamis, Anda bisa memakai server cloud seharga 5–10 dolar per bulan untuk mendapatkan IP statis dan konfigurasi yang lebih sederhana
    • Apa pun pilihannya, server harus bisa diakses melalui IP statis atau domain, dan port 5190 harus terbuka
  • Default Open OSCAR Server memang nyaman untuk pengujian di jaringan rumah, tetapi tidak cocok untuk dibuka ke internet
    • Sebelum mengunci konfigurasi, disarankan untuk hanya mengizinkan traffic Anda sendiri dan menolak koneksi dari sumber lain di firewall

Menginstal Open OSCAR Server

wget [RELEASE URL]
  • [RELEASE URL] harus diganti dengan alamat file rilis yang sebenarnya
  • Ekstrak file arsip yang sudah diunduh dengan tar
tar -zxvf open_oscar_server.X.XX.X.linux.x86_64.tar.gz
  • Ganti X.XX.X dengan nomor versi sebenarnya yang diunduh

Mengatur Mode Listener dan Alamat Server

  • Jika hanya dijalankan di mesin lokal, Anda bisa masuk ke subdirektori hasil ekstraksi dan langsung menjalankannya
  • Untuk menghubungkan klien dari mesin lain, Anda harus mengedit settings.env
  • Open OSCAR Server mendukung tiga mode listener klien
    • LOCAL: nilai default, digunakan saat klien AIM dan server berada di mesin yang sama
    • LAN: digunakan saat server dan klien AIM berada di jaringan internal yang sama dan tidak melewati internet
    • WAN: digunakan saat menghubungkan klien AIM milik teman di luar jaringan melalui internet
  • Di settings.env, atur dua variabel berikut secara bersamaan
    • OSCAR_LISTENERS: menentukan cara Open OSCAR Server menerima koneksi
    • OSCAR_ADVERTISED_LISTENERS_PLAIN: menentukan alamat server yang akan diberitahukan ke klien seperti AIM
  • Jika memakai VPS publik dengan domain example.domain, konfigurasinya bisa seperti berikut
OSCAR_LISTENERS=WAN://0.0.0.0:5190
OSCAR_ADVERTISED_LISTENERS_PLAIN=WAN://example.domain:5190
  • Untuk jaringan internal, ganti WAN dengan LAN, dan gunakan alamat IP yang diberikan ke server sebagai pengganti domain
  • Mode kedua variabel harus sama, seperti LAN dan LAN, atau WAN dan WAN
    • Konfigurasi yang mencantumkan kedua mode pada kedua variabel juga dimungkinkan
  • Setelah konfigurasi selesai, jalankan server untuk pengujian dengan perintah berikut
./open_oscar_server

Menghubungkan Klien AIM

  • Di beberapa versi AIM, server login default login.oscar.aol.com yang kini sudah ditutup bisa diganti dengan alamat lain
  • Di AIM 5.1, alamat server diubah melalui tombol besar Configuration di Setup
  • Cukup ganti alamat server login default dengan alamat yang ditentukan di OSCAR_ADVERTISED_LISTENERS_PLAIN
  • Sebelum autentikasi diperkuat, Anda bisa login dengan memasukkan screen name dan kata sandi apa pun
  • Syarat koneksi untuk pengguna lain berbeda tergantung mode server
    • Dalam mode LAN, mereka harus berada di jaringan yang sama dengan server
    • Dalam mode WAN, Anda harus memberikan akses agar pengguna eksternal bisa melewati firewall

Menjalankan Server Terus-menerus dengan systemd

  • Open OSCAR Server menyertakan layanan systemd yang memungkinkan server terus berjalan bahkan setelah koneksi SSH terputus
  • Untuk instalasi dan konfigurasi layanan, ikuti dokumentasi SYSTEMD dari proyek tersebut

Mengaktifkan Autentikasi Kata Sandi

  • Secara default, kata sandi sebenarnya tidak diverifikasi, jadi Anda perlu mengubah DISABLE_AUTH di file layanan systemd
  • Edit file layanan lengkap dengan editor default menggunakan perintah berikut
sudo systemctl edit --full ras.service
  • Atur variabel lingkungan di bawah [Service] seperti berikut
Environment="DISABLE_AUTH=false"
  • Karena nama variabelnya berbentuk negasi ganda, nilainya harus false agar autentikasi diwajibkan
  • Setelah menyimpan file layanan, muat ulang konfigurasi daemon systemd
sudo systemctl daemon-reload
  • Coba login lagi dengan screen name dan kata sandi yang sudah ada; jika gagal, Anda bisa membuat pengguna baru lewat API

Mengelola Pengguna dan Kata Sandi lewat API

  • Setelah autentikasi diaktifkan, kelola pengguna dan kata sandi dengan API Open OSCAR Server dan curl
  • Menambahkan pengguna

    curl -d'{"screen_name":"NEWUSERNAME", "password":"NEWPASSWORD"}' http://localhost:8080/user
    
    • Opsi -d pada curl mengirim data POST
    • Di body JSON, masukkan key screen_name dan password
    • Target request adalah endpoint http://localhost:8080/user di server lokal
  • Mengubah kata sandi pengguna yang sudah ada

    curl -X PUT -d'{"screen_name":"NEWUSERNAME", "password":"NEWPASSWORD"}' http://localhost:8080/user/password
    
    • Untuk memperbarui pengguna yang sudah ada, gunakan -X PUT, bukan POST
    • Pada screen_name, tentukan screen name yang sudah ada
    • Endpoint untuk mengubah kata sandi adalah http://localhost:8080/user/password
    • API juga mendukung penghapusan pengguna, penambahan ruang chat, dan lainnya; fitur lain dapat dilihat di dokumentasi proyek

Backup dan Pemulihan

  • Status utama Open OSCAR Server terdiri dari database SQLite dan file konfigurasi, sehingga backup-nya sederhana
  • Seluruh sistem VPS dibackup setiap malam, dan pada pengujian pemulihan, semuanya berjalan sesuai harapan
  • Sebelum perubahan besar, hentikan server lalu salin seluruh direktori kerja ke mesin backup dengan rsync
  • Dengan Borgmatic, proses backup bisa dibuat lebih sederhana, dan rencananya akan dibahas lebih detail di tulisan lanjutan

1 komentar

 
GN⁺ 7 jam lalu
Komentar di Lobste.rs
  • Menarik dibaca, tetapi keliru kalau mengira dulu tidak ada banyak jenis messenger. Banyak juga orang yang menghabiskan banyak waktu di AIM atau MSN, tetapi saya dan teman-teman sekolah saya tidak memakai keduanya dan berpindah dari ICQ ke IRC, dan fragmentasi layanan juga tidak bisa dibilang lebih baik daripada sekarang

    • Meski begitu, saat itu ada klien terpadu untuk memakai beberapa messenger di satu tempat
    • Benar. Saya jadi teringat tulisan LiveJournal yang pernah masuk Slashdot pada 2005, tentang tidak adanya rencana federasi antarpeladen yang memadai di server Jabber milik Google Talk
      https://nugget.livejournal.com/97081.html
      Ada juga tulisan lanjutan sebulan kemudian setelah menerima jawaban dari Google
      https://nugget.livejournal.com/103322.html
    • Saya rasa perbedaan regional cukup besar. Setahu saya, Amerika Serikat memakai AIM, sedangkan Eropa terutama memakai ICQ
  • Ada juga video yang membahas topik ini. Saya sempat ingin mengunggahnya sendiri, tetapi bimbang apakah harus mempertahankan judul aslinya yang agak clickbait, atau memakai judul yang disediakan DeArrow

    • Judul videonya tidak terlalu terasa seperti clickbait bagi saya, tetapi secara umum saya lebih suka artikel blog daripada video
  • Menarik, tetapi saat membaca artikelnya, jawaban yang saya harapkan adalah “lalu setelah itu bagaimana?” Saya penasaran, jika tidak terfederasi dengan server lain, apakah semua orang yang ingin diajak bicara harus berada di server yang sama, atau ini hanya untuk berbicara sendiri

    • Saya tidak paham apa masalahnya kalau bergabung ke beberapa server. Pada dasarnya, itu juga struktur yang diklaim Discord sebagai caranya
  • Penulis tidak melewatkan screenshot klasik yang memang seharusnya ada di bagian awal tulisan. Kepraktisan dan kegunaan perangkat lunak masa itu benar-benar sudah sangat matang

  • Saya sendiri tidak tertarik pada AIM, tetapi menyenangkan melihat orang-orang mengutak-atik lagi teknologi lama. Setelah menelusuri tulisan-tulisan lain dari penulisnya, rasanya saya bisa ikut tercebur lagi ke rawa berbagai eksplorasi, dan itu juga tampaknya tidak buruk

  • Saya sama sekali tidak merindukan era ICQ dan AIM itu sendiri, tetapi di ujung masa tersebut sempat ada zaman keemasan singkat di industri ini. Berkat XMPP yang bisa melakukan federasi antarpeladen dan gateway yang menghubungkannya dengan protokol lain, kita bisa membuat server sendiri atau punya akun di server orang lain dan berbicara dengan siapa saja
    Kita tetap harus memelihara akun di jaringan yang terhubung lewat gateway, tetapi kebanyakan cukup sesekali diurus, dan dengan satu akun kita bisa berbicara dengan pengguna Google Talk, Facebook Messenger, ICQ, dan MSN. Hanya Skype yang secara keras kepala menolak kompatibilitas
    Kini budayanya berubah secara mengejutkan; bahkan Signal yang open source pun memblokir klien eksternal, dan alih-alih memicu penolakan yang berarti, hal itu justru diterima sampai taraf tertentu sebagai tuntutan yang masuk akal. Rasanya kita kehilangan zaman keemasan itu karena kita sudah tidak layak menikmatinya lagi