Üst Alt
  • Cevap yazabilmek için lütfen kayıt olun ya da giriş yapın. Foruma giriş yaparak veya kayıt olarak tüm özelliklere erişebilirsiniz.

Bilgi PJIRC (Plouf's Java IRC Client

Bilgi PJIRC (Plouf's Java IRC Client

DTDT doğrulanmış üyedir.

Responsible Manager
Teknik Admin
Katılım
22 Ara 2025
Mesajlar
431
Çözümler
3
Tepkime puanı
133
Kaynak
56
Puan
33
Konum
Türkiye
Cinsiyet
Erkek
Takım
Beşiktaş
İlgi Alanı
XenForo
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.

1775543624-b8766ef1b9.gif

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)
 

Eşleşen Konular

Sitemiz bir forum sitesi olduğu için kullanıcılar her türlü görüşlerini önceden onay olmadan anında siteye yazabilmektedir. 5651 sayılı kanunun 8. maddesi ve T.C.K'nın 125. maddesine göre; ircforumlari.gen.tr olan forum sitemize eklenen içeriklerden, içeriği ekleyen kullanıcı sorumludur. Kullanıcı bazlı herhangi bir telif hakkından ircforumlari.gen.tr sitesi ve site yetkilileri sorumlu değildir. Telif hakkı kapsamında bulunan içerikler ile ilgili hukuksal bildirimleriniz için buradan iletişime geçebilirsiniz. ircforumlari.gen.tr yönetimi size en geç 48 saat içerisinde dönüş yapacaktır.
Geri