लगातार USENET पाठक के लिए रिमोट न्यूज़ सर्वर से निपटना दर्दनाक हो सकता है। अक्सर, ये सर्वर धीमे और अविश्वसनीय हो सकते हैं। इसके अलावा, यदि आप AIOE जैसे मुफ्त प्रदाताओं को बहुत बार एक्सेस करते हैं, तो वे आपके कनेक्शन को सीमित कर सकते हैं और आपके IP पते को प्रतिबंधित कर सकते हैं। ये कारक कुछ लोगों के लिए USENET अनुभव को दर्दनाक बना सकते हैं।
Leafnode क्या है?
Leafnode USENET सर्वर के लिए एक ऑफलाइन प्रॉक्सी है। यह रिमोट न्यूज़ सर्वर से न्यूज़ पोस्ट डाउनलोड करता है और इसे आपके सिस्टम में स्थानीय सेवा के रूप में परोसता है। यह कई USENET सर्वर को अपने अपस्ट्रीम स्रोतों के रूप में भी ले सकता है और उन्हें एक स्रोत के रूप में सेवा करने के लिए एक साथ मर्ज कर सकता है। यह उपयोगी है यदि आप विभिन्न प्रदाताओं द्वारा परोसे जा रहे कई न्यूज़ग्रुप की सदस्यता लेना चाहते हैं।
इसके अलावा, Leafnode उपयोगकर्ता को फॉलो किए गए न्यूज़ग्रुप की ऑफलाइन प्रतियां रखने की अनुमति देता है। यह तब महत्वपूर्ण है जब इंटरनेट कनेक्शन हमेशा उपलब्ध नहीं होता है या यदि आप जिन न्यूज़ग्रुप का पालन कर रहे हैं उन्हें संग्रहीत करना चाहते हैं। अंत में, Leafnode सरल, सेट अप करने में आसान है और सभी आधुनिक USENET रीडर के साथ काम करता है।
USENET प्रॉक्सी कैसे काम करता है?
जैसा कि हमने ऊपर उल्लेख किया है, Leafnode एक प्रॉक्सी USENET सर्वर है, इसलिए यह अनिवार्य रूप से आपके न्यूज़ रीडर के लिए न्यूज़ सर्वर के रूप में कार्य करता है।
हालांकि, पारंपरिक USENET सर्वर के विपरीत, Leafnode अन्य सर्वरों से सभी पदानुक्रमों की पूरी प्रति प्राप्त नहीं करता है। Leafnode केवल उन पोस्ट को प्राप्त करता है जिन्हें आप इसे आपके द्वारा निर्धारित शर्तों के तहत प्राप्त करने के लिए कहते हैं।
Leafnode दो प्रोग्राम के साथ इंटरैक्ट करता है: fetchnews और texpire।
- Fetchnews वह प्रोग्राम है जो Leafnode को बताता है कि किन न्यूज़ग्रुप की सदस्यता लेनी है और कितने प्राप्त करने हैं। यह आपके न्यूज़ पोस्ट और उत्तर भी अपलोड करता है।
- Texpire रखरखाव प्रोग्राम है जो न्यूज़ग्रुप से पुराने पोस्ट को हटाता है। यह डुप्लिकेट या टूटे हुए संदेशों को भी ठीक करता है और न्यूज़ सर्वर के लिए समग्र डेटा को अपडेट करता है।
ये दो प्रोग्राम Leafnode को ज्यादातर अनअटेंडेड चलाने की अनुमति देते हैं। एक बार जब आप इसे सेट कर लेते हैं, तो Leafnode व्यवहार करेगा जैसे कि यह एक रिमोट USENET सर्वर है।
इसका यह भी मतलब है कि आप Leafnode को एक छोटे नेटवर्क में सेट कर सकते हैं और कई उपयोगकर्ताओं को न्यूज़ पोस्ट पढ़ने के लिए इससे कनेक्ट करने की अनुमति दे सकते हैं। इसलिए, आप अपने नेटवर्क द्वारा USENET तक पहुँचने के लिए उपयोग किए जा रहे बैंडविड्थ की मात्रा को कम कर सकते हैं।
Leafnode इंस्टॉल करना
Leafnode यथासंभव सरल होने के लिए डिज़ाइन किया गया है। यह इसकी इंस्टॉलेशन और रखरखाव दोनों पर लागू होता है। इसके साथ, Leafnode इंस्टॉल करना बस आपके वितरण के रिपॉजिटरी से इसे प्राप्त करने की बात है।
उदाहरण के लिए, डेबियन और उबंटू 21.10 में, आप apt से Leafnode प्राप्त कर सकते हैं:
sudo apt install leafnode
Leafnode सेट करना
इंस्टॉलेशन के दौरान, Leafnode आपसे रिमोट सर्वर के बारे में कुछ विवरण पूछेगा जिससे आप कनेक्ट करना चाहते हैं। पहले स्क्रीन में, यह रिमोट सर्वर के पते के बारे में पूछेगा। उदाहरण के लिए, यदि आप AIOE से कनेक्ट करना चाहते हैं, तो आपको यहां nntp.aioe.org डालना होगा।
मेरे मामले में, मैं Eternal September के माध्यम से कनेक्ट कर रहा हूं, इसलिए मैं यहां पता जोड़ रहा हूं।
स्वचालित USENET डाउनलोड सेट करना
वहां से, इंस्टॉलर आपसे न्यूज़ पोस्ट लाने की आपकी पसंदीदा विधि के बारे में पूछेगा। यहां आपके पास तीन विकल्प हैं: PPP, Permanent और None।
- PPP जब भी आप इंटरनेट से कनेक्ट होंगे तो स्वचालित रूप से नए पोस्ट डाउनलोड करेगा।
- Permanent हर घंटे स्वचालित रूप से न्यूज़ पोस्ट डाउनलोड करेगा।
- None स्वचालित न्यूज़ फ़ेचिंग को सक्षम नहीं करेगा। आपको रिमोट सर्वर के साथ सिंक्रनाइज़ करने के लिए fetchnews कमांड चलाना होगा।
मेरे मामले में, मैं नहीं चाहता कि Leafnode मेरी जानकारी के बिना न्यूज़ सर्वर से स्वचालित रूप से कनेक्ट हो इसलिए मैं None चुन रहा हूं।
एक्सेस कंट्रोल सक्षम करना
Leafnode इंस्टॉलर पूछेगा कि क्या आप अपने सर्वर के लिए एक्सेस कंट्रोल सक्षम करना चाहते हैं।
यह प्रासंगिक है यदि आप Leafnode को कई उपयोगकर्ताओं के लिए स्थानीय न्यूज़ सर्वर के रूप में उपयोग कर रहे हैं। यह आपको /etc/hosts फ़ाइल का उपयोग करके नियंत्रित करने की अनुमति देता है कि कौन से क्लाइंट सर्वर तक पहुंच सकते हैं और कौन नहीं।
उदाहरण के लिए, यदि आप एक इंट्रानेट में Leafnode का उपयोग कर रहे हैं जहां आप प्रत्येक क्लाइंट से न्यूज़ सर्वर तक पहुंचने की उम्मीद करते हैं, तो "एक्सेस कंट्रोल" सक्षम करने की कोई आवश्यकता नहीं है।
इसके बावजूद, आम तौर पर सभी इनकमिंग कनेक्शन को ब्लॉक करना और केवल उन्हीं को सक्षम करना अच्छा अभ्यास है जिन्हें आप चाहते हैं। इसके अलावा, यदि आप Leafnode का उपयोग केवल अपनी मशीन के लिए स्थानीय प्रॉक्सी के रूप में कर रहे हैं, तो आपको इस विकल्प को सक्षम करना होगा।
मेरे मामले में, मैं इस Leafnode इंस्टेंस का उपयोग केवल इस मशीन में करूंगा, इसलिए मैं एक्सेस कंट्रोल सक्षम करूंगा।
USENET समूहों के लिए प्रारंभिक फ़ेच
उसके बाद, Leafnode इंस्टॉलर पूछेगा कि क्या आप अभी रिमोट USENET सर्वर से कनेक्ट करना चाहते हैं। यह Leafnode को सर्वर में उपलब्ध न्यूज़ग्रुप की सूची प्राप्त करने की अनुमति देगा।
हालांकि, यदि आप Eternal September जैसी प्रमाणीकरण की आवश्यकता वाली सेवा का उपयोग कर रहे हैं, तो आपको इस विकल्प का उपयोग करके कोई न्यूज़ग्रुप नहीं लाना चाहिए। ऐसा इसलिए है क्योंकि हमने अभी तक Leafnode को अपनी अकाउंट जानकारी प्रदान नहीं की है, और अभी अपडेट करने से हमें न्यूज़ग्रुप की पूरी सूची नहीं मिलेगी।
मेरे मामले में, क्योंकि मैं Eternal September के माध्यम से कनेक्ट कर रहा हूं, मैं No चुन रहा हूं।
Leafnode कॉन्फ़िगर करना
वहां से, आप इसकी कॉन्फ़िगरेशन फ़ाइल के माध्यम से Leafnode के व्यवहार के कुछ पहलुओं को आगे फाइन-ट्यून कर सकते हैं।
उदाहरण के लिए, ऐसी सेटिंग्स हैं जो आपको अन्य चीजों के अलावा, न्यूज़ लाने के लिए USENET अकाउंट का उपयोग करने की अनुमति देंगी। आप कुछ पैरामीटर भी सेट कर सकते हैं जो Leafnode को बताएंगे कि वह कौन से पोस्ट डाउनलोड कर सकता है और कितने समय तक स्टोर कर सकता है।
कॉन्फ़िगरेशन फ़ाइल का स्थान आपके द्वारा उपयोग किए जा रहे लिनक्स वितरण के आधार पर भिन्न होता है। डेबियन और उबंटू में यह "/etc/news/leafnode/config" पर स्थित है।
sudo vim /etc/news/leafnode/config
डिफ़ॉल्ट उपयोगकर्ता नाम और पासवर्ड सेट करना
Leafnode के लिए कॉन्फ़िगरेशन फ़ाइल व्यापक और अच्छी तरह से प्रलेखित है। प्रत्येक विकल्प का एक संक्षिप्त विवरण है कि यह क्या करता है, और कुछ में यह दर्शाने के लिए उदाहरण भी हैं कि इसे ठीक से कैसे सेट किया जाए।
Leafnode में USENET अकाउंट का उपयोग करने के लिए, आपको username और password वेरिएबल को अनकमेंट करना होगा। समाप्त होने पर, उनमें अपनी जानकारी सेट करें।
मेरे मामले में, मैंने अपने Eternal September अकाउंट के लिए अकाउंट जानकारी जोड़ी है।
पोस्ट फ़िल्टर कैसे बनाएं
Leafnode की एक प्रमुख विशेषता यह है कि आप पोस्ट को फ़िल्टर करके या कुछ न्यूज़ग्रुप को कई दिनों के बाद प्रून न होने देकर डाउनलोड होने के दौरान पोस्ट के साथ व्यवहार करने में हेरफेर कर सकते हैं।
पोस्ट फ़िल्टरिंग दो तरीकों से आ सकती है:
- दिए गए पोस्ट के सामान्य गुणों के आधार पर। उदाहरण के लिए, आप लाइनों की संख्या के साथ-साथ पोस्ट के आकार के आधार पर फ़िल्टर कर सकते हैं।
- पोस्ट हेडर में पाए जाने वाले विशिष्ट शब्दों के आधार पर। यह एक फिल्टरफाइल में नियमित अभिव्यक्तियों की सूची बनाकर किया जाता है।
सामान्य गुणों के आधार पर फ़िल्टर करने के लिए, उन्हें कॉन्फ़िगरेशन फ़ाइल से सीधे सक्षम करें। उदाहरण के लिए, आप minlines वेरिएबल को 3 पर सेट कर सकते हैं, जो Leafnode को बताएगा कि तीन लाइनों से कम लंबाई वाले किसी भी पोस्ट को न प्राप्त करें।
दूसरी ओर, विशिष्ट शब्दों के आधार पर फ़िल्टर करने के लिए, आपको Leafnode में filterfile विकल्प सक्षम करना होगा। filterfile वेरिएबल को अनकमेंट करके और अपने फ़िल्टर फ़ाइल का पथ प्रदान करके ऐसा करें।
मेरे मामले में, मैं फिल्टर फ़ाइल के लिए डिफ़ॉल्ट पथ का उपयोग कर रहा हूं।
फिल्टरफाइल का मूल सिंटैक्स कुछ इस तरह दिखता है:
Header-Property:^/regex/$
फिल्टरफाइल में प्रत्येक लाइन को पोस्ट के एक निश्चित हेडर गुण की ओर इशारा करना चाहिए। उदाहरण के लिए, यदि आप Google Mail के सभी पोस्ट फ़िल्टर करना चाहते हैं, तो ऐसा कुछ टाइप करें:
^From:.*[A-Za-z0-9]*\.*[A-Za-z0-9]*\@gmail\.com$
USENET समूहों को संग्रहीत कैसे करें
डिफ़ॉल्ट रूप से, Leafnode उन सभी समूहों को प्रून करता है जिनके पोस्ट 20 दिनों से अधिक पुराने हैं। यह Leafnode को अपना फ़ाइल आकार कम रखने की अनुमति देता है और जब आप उन समूहों की सदस्यता लेते हैं जो एक दिन में 100 से 200 पोस्ट देखते हैं तो उपयोगी होता है।
हालांकि, ऐसे उदाहरण हो सकते हैं जहां आप किसी दिए गए न्यूज़ग्रुप के सभी पोस्ट को संग्रहीत करना चाहते हैं। groupexpire वेरिएबल को सक्षम करके ऐसा करें।
उदाहरण के लिए, यदि मैं comp.unix.misc न्यूज़ग्रुप को संग्रहीत करना चाहता हूं, तो मैं अपनी कॉन्फ़िगरेशन फ़ाइल में निम्न लाइन जोड़ूंगा:
groupexpire comp.unix.misc = -1
इसके अलावा, इस वेरिएबल का उपयोग विशिष्ट न्यूज़ग्रुप के लिए डिफ़ॉल्ट प्रूनिंग आयु को बदलने के लिए भी किया जा सकता है। उदाहरण के लिए, यदि मैं misc.internet.news.discuss जैसे उच्च मात्रा वाले समूह को हर पांच दिनों में प्रून करना चाहता हूं, तो मैं अपनी कॉन्फ़िगरेशन फ़ाइल में यह लाइन टाइप कर सकता हूं:
groupexpire misc.news.internet.discuss = 5
एकाधिक USENET सर्वर कैसे सेट करें
जैसा कि हमने ऊपर चर्चा की, Leafnode अपने उपयोगकर्ताओं को कई रिमोट सर्वर से पोस्ट लाने की अनुमति भी देता है। यह उपयोगी है यदि आप USENET रीडर का उपयोग करते हैं जो एक समय में केवल एक सर्वर से कनेक्ट हो सकते हैं।
इसके अलावा, आप कई विकल्प भी सेट कर सकते हैं जो अतिरिक्त रिमोट सर्वर के व्यवहार को बदलते हैं। आप nopost वेरिएबल को 1 पर सेट कर सकते हैं ताकि रिमोट सर्वर केवल पोस्ट लाए और उनके माध्यम से पोस्ट न भेजे।
दूसरी ओर, आप noread वेरिएबल को विपरीत करने के लिए सेट कर सकते हैं।
उदाहरण के लिए, यदि मैं अपने Leafnode इंस्टेंस के लिए Aioe को अतिरिक्त "रीड-ओनली" सर्वर के रूप में सेट करना चाहता हूं, तो मैं अपनी कॉन्फ़िगरेशन फ़ाइल में निम्न टाइप कर सकता हूं:
server = news.aioe.org nopost = 1
Leafnode अपडेट करने के लिए क्रॉनजॉब बनाना
स्वचालित डाउनलोड स्क्रिप्ट के अलावा, Leafnode को क्रॉनजॉब के माध्यम से भी अपडेट किया जा सकता है। यह हमें अधिक लचीलापन देता है जब हम अपने न्यूज़ग्रुप को अपडेट करना चाहते हैं। उदाहरण के लिए, हम इसे ऐसा बना सकते हैं कि Leafnode हर 12 घंटे और जब हम अपना कंप्यूटर शुरू करते हैं तो अपडेट होगा।
ऐसा होने के लिए, हमें न्यूज़ उपयोगकर्ता के क्रॉनटैब को संपादित करने की आवश्यकता है। न्यूज़ उपयोगकर्ता वह सिस्टम अकाउंट है जो सीधे "/var/spool/news" फ़ोल्डर के साथ-साथ Leafnode सर्वर के चलने का प्रबंधन करता है।
न्यूज़ उपयोगकर्ता के क्रॉनटैब को संपादित करने के लिए, हम निम्न कमांड चला सकते हैं:
sudo crontab -e -u news
अब हम वह कमांड डाल सकते हैं जिसे हम न्यूज़ उपयोगकर्ता को नियमित रूप से निष्पादित करना चाहते हैं। Leafnode के लिए एक उदाहरण क्रॉनटैब कुछ इस तरह दिखता है:
* 3 * * 0 /usr/sbin/texpire * 2,14 * * * /usr/sbin/fetchnews @reboot /usr/sbin/fetchnews
यह क्रॉनटैब Leafnode रखरखाव प्रोग्राम, texpire, को हर रविवार को सुबह 3 बजे निष्पादित करेगा लेकिन fetchnews प्रोग्राम को हर 12 घंटे में एक बार भी चलाएगा।
बधाई हो! अब आपके पास Leafnode को USENET सर्वर प्रॉक्सी के रूप में उपयोग करने का बुनियादी ज्ञान है। इसके साथ, यदि आप Leafnode के लिए कुछ USENET रीडर ढूंढ रहे हैं, तो हम इन पांच विकल्पों की सिफारिश करते हैं।
अक्सर पूछे जाने वाले प्रश्न
1. मैंने डेबियन में Leafnode डाउनलोड किया लेकिन अपनी प्रारंभिक इंस्टॉलेशन स्क्रिप्ट में गलती की। मैं इस पर वापस कैसे जा सकता हूं?
dpkg-reconfigure प्रोग्राम का उपयोग करके Leafnode के लिए इंस्टॉलेशन स्क्रिप्ट को पुनः आरंभ करें। हालांकि, यह प्रोग्राम डिफ़ॉल्ट PATH वेरिएबल में शामिल नहीं है।
इसे चलाने के लिए, आप निम्न कमांड टाइप कर सकते हैं:
sudo /usr/sbin/dpkg-reconfigure leafnode
2. मैं अपने LAN में Leafnode चलाना चाहता हूं। मैं ऐसा कैसे कर सकता हूं?
आप अपने "/etc/hosts.deny" और "/etc/hosts.allow" फ़ाइलों को संपादित करके ऐसा कर सकते हैं। यह आपको अपने Leafnode सर्वर पर आने वाले सभी कनेक्शन को फ़िल्टर करने की अनुमति देता है।
hosts.deny फ़ाइल का एक उदाहरण कुछ इस तरह दिखता है:
leafnode: ALL
दूसरी ओर, hosts.allow फ़ाइल जो 192.168.254.* का उपयोग करने वाले स्थानीय कनेक्शन की अनुमति देती है, कुछ इस तरह दिखती है:
leafnode: 127.0.0.1 192.168.254.0/255.255.255.0
आपको allowstrangers वेरिएबल को allowSTRANGERS में बदलना होगा और इसका मान 42 पर सेट करना होगा।
3. मैं पहली बार कनेक्ट होने पर कई पोस्ट डाउनलोड करना चाहता हूं लेकिन नहीं चाहता कि वे मेरा डिस्क स्पेस भरें। क्या ऐसा कोई तरीका है जिससे मैं ऐसा कर सकूं?
हां! ऐसा करने के लिए, आपको केवल दो वेरिएबल के बारे में पता होना चाहिए: initialfetch और delaybody।
यदि आप किसी विशेष न्यूज़ग्रुप से सभी पोस्ट डाउनलोड करना चाहते हैं, तो initialfetch वेरिएबल को कमेंट करें ताकि Leafnode को पता चले कि आप इस न्यूज़ग्रुप में रिमोट सर्वर से सभी उपलब्ध पोस्ट प्राप्त करना चाहते हैं।
हालांकि, पूरे पोस्ट डाउनलोड करने से बहुत जगह लग सकती है। आप केवल पोस्ट के हेडर और उन पोस्ट के बॉडी को डाउनलोड करके इसे कम कर सकते हैं जिनमें आप रुचि रखते हैं। उसके लिए, आपको delaybody वेरिएबल को 1 पर सेट करना होगा।