- Ergo, Go भाषा में लिखा गया एक आधुनिक IRC सर्वर है, जिसका पहले नाम Oragono था
- मुख्य डिज़ाइन सिद्धांत: कॉन्फ़िगरेशन और उपयोग में सरलता, ircd और services framework का एकीकरण, bouncer फ़ंक्शन का एकीकरण, IRCv3 समर्थन, YAML कॉन्फ़िग फ़ाइल के माध्यम से उच्च स्तर का customization
- Ergo, Ergonomadic IRC daemon का एक fork है
फीचर्स
- एकीकृत services: यूज़र अकाउंट्स के लिए NickServ, चैनल रजिस्ट्रेशन के लिए ChanServ, Vanity host के लिए HostServ प्रदान करता है.
- bouncer फ़ंक्शन: history स्टोरेज और replay, कई clients एक ही nickname का उपयोग कर सकते हैं.
- TLS/SSL समर्थन, जिसमें client certificates का समर्थन शामिल है.
- IRCv3 समर्थन.
- YAML कॉन्फ़िग फ़ाइल का उपयोग.
- सर्वर कॉन्फ़िगरेशन और TLS certificates का real-time अपडेट संभव.
- SASL authentication और LDAP समर्थन.
- कई भाषाओं का समर्थन और नेटवर्क की डिफ़ॉल्ट भाषा सेट करने की सुविधा.
- UTF-8 nick और channel names के लिए समर्थन विकल्प.
- उन्नत security और privacy फीचर्स प्रदान करता है.
- IRC operators के लिए scalable permission system.
- यूज़रनेम के लिए ident lookup.
- automated client connection limiting.
- bcrypt में स्टोर किए गए passwords.
UBAN सिस्टम के माध्यम से एकीकृत ban फ़ंक्शन.
- specification-compliant development पर ज़ोर.
त्वरित प्रारंभ गाइड
- नवीनतम release डाउनलोड करके और उसे extract करने के बाद, कॉन्फ़िग फ़ाइल में बदलाव करके सर्वर चलाया जा सकता है
- Arch Linux AUR और Gentoo Linux में Ergo पैकेज का maintenance किया जा रहा है.
- Dockerfile और उदाहरण
docker-compose recipe प्रदान की गई है
- source से build
- नवीनतम Go distribution आवश्यक है, और इच्छित branch या tag checkout करने के बाद
make कमांड से build किया जा सकता है.
कॉन्फ़िगरेशन
- डिफ़ॉल्ट कॉन्फ़िग फ़ाइल
default.yaml के माध्यम से प्रत्येक विकल्प का अर्थ और बदलाव समझाए गए हैं.
- logs डिफ़ॉल्ट रूप से केवल stderr पर भेजे जाते हैं, और उन्हें फ़ाइल में भेजा जा सकता है या systemd का उपयोग करके system journal में भेजा जा सकता है.
पासवर्ड
- पासवर्ड bcrypt में स्टोर किए जाते हैं, और
genpasswd subcommand का उपयोग करके encrypted string बनाई जा सकती है.
nickname और channel रजिस्ट्रेशन
- यूज़र अकाउंट्स के माध्यम से कई clients एक ही nickname का उपयोग कर सकते हैं, और NickServ के ज़रिए nickname को अकाउंट के रूप में रजिस्टर किया जा सकता है.
- nickname रजिस्टर करने के बाद channel रजिस्टर किया जा सकता है.
4 टिप्पणियां
उपयोग के हिसाब से कभी-कभी ऐसे हालात होते हैं जहाँ account आदि की ज़रूरत वाले Slack/Discord बोझिल लगते हैं, लेकिन क्योंकि web client का भी अच्छा support है, इसे एक बार अपनाकर देखना चाहूँगा।
ओह, यह सच में काफ़ी मज़ेदार लग रहा है.. कंपनी में कामचोरी करने के लिए एक और चैनल बन गया...
ओह.. अगर GeekNews का IRC चैनल बन जाए तो मज़ा आएगा
Hacker News टिप्पणियाँ
पिछले 1 साल से दोस्तों और परिवार की चैट के लिए Ergo का इस्तेमाल कर रहा हूँ। इसे होस्ट करना आसान है, resource requirements कम हैं, और यह ऐसा protocol व codebase देता है जिसे समझना और debug करना आसान है
IRC को अक्सर रोमांटिक नज़रिये से देखा जाता है, लेकिन protocol spec के साथ काम करते समय unstructured message format समस्याएँ पैदा करता है
Slack और Discord के अलावा भी कई विकल्प हैं, यह देखना अच्छा लगता है
जिज्ञासा है कि क्या Ergo दूसरे IRC servers के साथ connect कर सकता है। मौजूदा ngircd के साथ इसे जोड़कर देखना चाहता हूँ
chat operations को on-premises लाने का यह सही समय है। commands और chat logs उपयोगी हैं
उम्मीद है कि यह Slack जैसे software की जगह ले सके
1 साल पहले दोस्तों के लिए Oragono नाम का server इस्तेमाल किया था, recommend करता हूँ
जानना चाहता हूँ कि क्या किसी specific channel पर webhook भेजा जा सकता है
IRC में chat history/backlog की कमी का अक्सर ज़िक्र होता है, लेकिन मुझे लगता है कि backlog community के लिए एक anti-feature है