Bilgi PJIRC (Plouf's Java IRC Client
Klasik bir IRC clienti ile chat yapmayalı uzun zaman oldu değil mi? PJIRC (revival by Valware) versiyonu ile artık websocket veya TCP üzerinden favori IRC sunucunuza bağlanıp bu hissi yaşayabilirsiniz. Ama öncelikle biraz PJIRC'den bahsetmek istiyorum. PJIRC açık kaynaklı Java tabanlı bir IRC clientidir. Web tabanlı applet olarak popülerdi ve sitelere tam donanımlı sohbet arayüzü eklemeye izin veriyordu. Revival versiyonunda ise normal desktop app olarak da çalıştırabilirsiniz.
Kurulum
JDK 8+ (test edildiği sürüm OpenJDK 17) gerektirir
Bu tüm kaynak kodlarını derler ve run/pjirc.jar dosyasını oluşturur.
JDK Uyumluluk Notları
JDK 23 Java.applet sınıfını kaldırdı (JEP 471). Build script bunu otomatik algılar ve eski applet ile ilgili sınıfları dışlar. Hem masaüstü hem tarayıcı (CheerpJ) modları tüm JDK sürümlerinde çalışır — tarayıcı yolu cheerpjRunMain() ile IRCApplication.main() kullanır, Applet API'sine bağımlı değildir.
Çalıştırma
Varsayılan olarak run/pjirc.cfg dosyasını çalışma dizininden okur. Nick, sunucu ve diğer seçenekleri ayarlamak için run/pjirc.cfg dosyasını düzenleyin.
Komut Satırı Seçenekleri
Örnek:
Flag Açıklama
- -n NICK : IRC takma adı (zorunlu)
- -s SERVER : IRC sunucu hostname (zorunlu)
- -p PORT : IRC sunucu portu (zorunlu)
- -t : TLS/SSL etkinleştir (port 6697 için)
- -g GUI : GUI teması: pixx, pgl, sdk (varsayılan: pixx)
- -f FILE : Config dosyası kullan
- -h : Yardım göster
GUI Temaları
- pixx — Tam özellikli AWT teması (varsayılan)
- pgl — PGL tabanlı tema
- sdk — Minimal SDK teması
Web Tarayıcı Kullanımı
PJIRC başlangıçta web sayfalarına gömülebilen bir Java applet olarak tasarlandı. Tarayıcı Java eklenti desteği artık yok, ancak PJIRC şimdi modern tarayıcılarda CheerpJ (WebAssembly tabanlı JVM) ile çalışıyor ve websocket transport kullanarak IRC sunucularına bağlanıyor (örnek: UnrealIRCd, InspIRCd websocket modülü ile).
Hızlı Başlangıç
Build PJIRC:
Tarayıcıda açın: http://localhost:8090/chat.html
Nasıl Çalışır
- CheerpJ 4.2, tarayıcı içinde IRCApplication.main() çalıştırır, cheerpjRunMain() ile
- -ws flag websocket transportu aktif eder
- Raw TCP socket kullanılmaz (tarayıcılar engeller), PJIRC wss:// ile sunucuya bağlanır
- JavaScript native metod implementasyonları tarayıcının websocket API’si ile Java InputStream/OutputStream’i birleştirir
- java.applet.Applet bağımlılığı yok — herhangi bir JDK sürümünde oluşturulan JAR’lar çalışır
Web Client Konfigrasyonu
chat.html içindeki konfigrasyon kısmını düzenleyin:
Bu değerler IRCApplication.main() içine -p ve -ws flagları ile gönderilir.
Gereksinimler
- IRC sunucusu websocket bağlantılarını desteklemeli (örnek: UnrealIRCd websocket listen blokları)
- Sunucunun TLS sertifikası geçerli olmalı (tarayıcılar wss:// için zorunlu)
Eski Applet Modu
Orijinal IRCApplet sınıfı (java.applet.Applet üzerinden) tarihi referans için halen dahil ve JDK 8–22 sürümlerinde derlenir. JDK 23+ ile applet sınıfları build script tarafından otomatik dışlanır. Modern tarayıcı yolu cheerpjRunMain() ve IRCApplication.main() kullanır, Applet API’si gerekmez.
Konfigürasyon
run/pjirc.cfg dosyasına bakınız. Önemli ayarlar:
- nick — IRC takma adı
- fullname — Tam ad / gerçek ad
- host — IRC sunucu hostname
- port — IRC sunucu portu (varsayılan: 6667)
- gui — GUI teması: pixx, pgl, sdk
- language — Dil dosyası adı (uzantısı olmadan)
Proje Yapısı
- src/ : Java kaynak (paket kök)
- IRCApplet.java : Applet giriş noktası
- irc/ : Temel IRC motoru
- WebSocketSocket.java : Tarayıcı modu websocket transport
- gui/pixx/ : Pixx GUI teması
- gui/pgl/ : PGL GUI teması
- gui/sdk/ : SDK GUI teması
- dcc/ : DCC dosya/sohbet destek
- security/ : Güvenlik sağlayıcılar
- plugin/ : Eklenti çerçevesi
- run/ : Çalışma dizini
- pjirc.jar : Derlenmiş uygulama
- pjirc.cfg : Konfigürasyon dosyası
- chat.html : Tarayıcı clienti (CheerpJ + websocket)
- english.lng : İngilizce dil dosyası
- build.sh : Build scripti
Ben Libera.Chat’ın en yoğun kanallarında bir süre kullandım, herhangi bir sorun yaşamadım. Umarım sizler de beğenirsiniz!
Kaynak: GitHub - ValwareIRC/PJIRC: PJIRC — Plouf's Java IRC Client (restored from SourceForge CVS)
Kurulum
JDK 8+ (test edildiği sürüm OpenJDK 17) gerektirir
Kod:
chmod +x build.sh
./build.sh
Bu tüm kaynak kodlarını derler ve run/pjirc.jar dosyasını oluşturur.
JDK Uyumluluk Notları
Kod:
JDK sürümü Masaüstü modu Tarayıcı/CheerpJ modu
8–22 Tam destek Tam destek
23+ Tam destek Tam destek
JDK 23 Java.applet sınıfını kaldırdı (JEP 471). Build script bunu otomatik algılar ve eski applet ile ilgili sınıfları dışlar. Hem masaüstü hem tarayıcı (CheerpJ) modları tüm JDK sürümlerinde çalışır — tarayıcı yolu cheerpjRunMain() ile IRCApplication.main() kullanır, Applet API'sine bağımlı değildir.
Çalıştırma
Kod:
chmod +x build.sh
./pjirc.sh -n nick123 -s irc.libera.chat -p 6697 -t
Varsayılan olarak run/pjirc.cfg dosyasını çalışma dizininden okur. Nick, sunucu ve diğer seçenekleri ayarlamak için run/pjirc.cfg dosyasını düzenleyin.
Komut Satırı Seçenekleri
Kod:
./pjirc.sh -n <nick> -s <server> -p <port> [-t] [-g <gui>]
./pjirc.sh -f <config-file>
Örnek:
Kod:
./pjirc.sh -n mynick -s irc.libera.chat -p 6667
./pjirc.sh -n mynick -s irc.example.com -p 6697 -t
./pjirc.sh -f run/pjirc.cfg
Flag Açıklama
- -n NICK : IRC takma adı (zorunlu)
- -s SERVER : IRC sunucu hostname (zorunlu)
- -p PORT : IRC sunucu portu (zorunlu)
- -t : TLS/SSL etkinleştir (port 6697 için)
- -g GUI : GUI teması: pixx, pgl, sdk (varsayılan: pixx)
- -f FILE : Config dosyası kullan
- -h : Yardım göster
GUI Temaları
- pixx — Tam özellikli AWT teması (varsayılan)
- pgl — PGL tabanlı tema
- sdk — Minimal SDK teması
Web Tarayıcı Kullanımı
PJIRC başlangıçta web sayfalarına gömülebilen bir Java applet olarak tasarlandı. Tarayıcı Java eklenti desteği artık yok, ancak PJIRC şimdi modern tarayıcılarda CheerpJ (WebAssembly tabanlı JVM) ile çalışıyor ve websocket transport kullanarak IRC sunucularına bağlanıyor (örnek: UnrealIRCd, InspIRCd websocket modülü ile).
Hızlı Başlangıç
Build PJIRC:
Kod:
./build.sh
cd run && python3 -m http.server 8090
Tarayıcıda açın: http://localhost:8090/chat.html
Nasıl Çalışır
- CheerpJ 4.2, tarayıcı içinde IRCApplication.main() çalıştırır, cheerpjRunMain() ile
- -ws flag websocket transportu aktif eder
- Raw TCP socket kullanılmaz (tarayıcılar engeller), PJIRC wss:// ile sunucuya bağlanır
- JavaScript native metod implementasyonları tarayıcının websocket API’si ile Java InputStream/OutputStream’i birleştirir
- java.applet.Applet bağımlılığı yok — herhangi bir JDK sürümünde oluşturulan JAR’lar çalışır
Web Client Konfigrasyonu
chat.html içindeki konfigrasyon kısmını düzenleyin:
Kod:
// ---- konfigrasyon ----
const NICK = "pjircwebuser";
const FULLNAME = "pjirc web user";
const HOST = "irc.unrealircd.org";
const PORT = "443";
const GUI = "pixx";
// -----------------------
Bu değerler IRCApplication.main() içine -p ve -ws flagları ile gönderilir.
Gereksinimler
- IRC sunucusu websocket bağlantılarını desteklemeli (örnek: UnrealIRCd websocket listen blokları)
- Sunucunun TLS sertifikası geçerli olmalı (tarayıcılar wss:// için zorunlu)
Eski Applet Modu
Orijinal IRCApplet sınıfı (java.applet.Applet üzerinden) tarihi referans için halen dahil ve JDK 8–22 sürümlerinde derlenir. JDK 23+ ile applet sınıfları build script tarafından otomatik dışlanır. Modern tarayıcı yolu cheerpjRunMain() ve IRCApplication.main() kullanır, Applet API’si gerekmez.
Konfigürasyon
run/pjirc.cfg dosyasına bakınız. Önemli ayarlar:
- nick — IRC takma adı
- fullname — Tam ad / gerçek ad
- host — IRC sunucu hostname
- port — IRC sunucu portu (varsayılan: 6667)
- gui — GUI teması: pixx, pgl, sdk
- language — Dil dosyası adı (uzantısı olmadan)
Proje Yapısı
- src/ : Java kaynak (paket kök)
- IRCApplet.java : Applet giriş noktası
- irc/ : Temel IRC motoru
- WebSocketSocket.java : Tarayıcı modu websocket transport
- gui/pixx/ : Pixx GUI teması
- gui/pgl/ : PGL GUI teması
- gui/sdk/ : SDK GUI teması
- dcc/ : DCC dosya/sohbet destek
- security/ : Güvenlik sağlayıcılar
- plugin/ : Eklenti çerçevesi
- run/ : Çalışma dizini
- pjirc.jar : Derlenmiş uygulama
- pjirc.cfg : Konfigürasyon dosyası
- chat.html : Tarayıcı clienti (CheerpJ + websocket)
- english.lng : İngilizce dil dosyası
- build.sh : Build scripti
Ben Libera.Chat’ın en yoğun kanallarında bir süre kullandım, herhangi bir sorun yaşamadım. Umarım sizler de beğenirsiniz!
Kaynak: GitHub - ValwareIRC/PJIRC: PJIRC — Plouf's Java IRC Client (restored from SourceForge CVS)