- FreshRSS হলো একটি সেলফ-হোস্টেড নিউজ অ্যাগ্রিগেটর যা বাহ্যিক অ্যালগরিদমের উপর নির্ভরতা দূর করে এবং গোপনীয়তা রক্ষা করে।
- এটি মোবাইল ও ডেস্কটপ অ্যাপ্লিকেশনের সাথে সামঞ্জস্যপূর্ণ এপিআই-এর মাধ্যমে বিভিন্ন ডিভাইসের মধ্যে সম্পূর্ণ সিঙ্ক্রোনাইজেশন সম্ভব করে।
- এটি ডকার কন্টেইনার থেকে শুরু করে LAMP/LEMP সার্ভারে ম্যানুয়াল ইনস্টলেশন পর্যন্ত একাধিক ডেপ্লয়মেন্ট পদ্ধতি সমর্থন করে।
- এটি এমন সাইটগুলি ট্র্যাক করার জন্য XPath-এর মাধ্যমে ওয়েব স্ক্র্যাপিংয়ের মতো উন্নত সরঞ্জাম সরবরাহ করে, যেগুলিতে নিজস্ব RSS নেই।
আপনি সম্ভবত লক্ষ্য করেছেন যে, আপনি যে খবরগুলো পড়েন তার বেশিরভাগই কোনো না কোনো সোশ্যাল নেটওয়ার্কের খামখেয়ালিপনা দ্বারা ফিল্টার করা হয়। তবে, আরএসএস (RSS) নামক একটি প্রযুক্তি কয়েক দশক ধরেই বিদ্যমান, যা আমাদের অ্যালগরিদম থেকে মুক্ত হয়ে নিজেদের পছন্দমতো পড়ার সুযোগ করে দেয়। মূলত, এর জন্য ওয়েবসাইটগুলোর প্রকাশিত সার্বজনীন এক্সএমএল (XML) ফিডে সাবস্ক্রাইব করতে হয়, যা তাদের আপডেট সম্পর্কে আপনাকে অবহিত করে। আর এই ফিডগুলো পরিচালনা করার জন্য ফ্রেশআরএসএস (FreshRSS)-এর মতো আপনার নিজস্ব অ্যাগ্রিগেটর থাকাটা সবচেয়ে ভালো।
বাড়িতে নিজের নিউজ ফিড ম্যানেজার সেট আপ করা শুধুমাত্র ডিজিটাল সার্বভৌমত্ব এবং গোপনীয়তার জন্যই নয় ; এটি আপনাকে আপনার পছন্দ অনুযায়ী একটি পরিচ্ছন্ন, বিজ্ঞাপন-মুক্ত এবং সম্পূর্ণ সুসংগঠিত তথ্য প্রবাহ পেতেও সাহায্য করে। আপনার কাছে একটি শক্তিশালী মিনি পিসি থাকুক বা একটি সাধারণ রাস্পবেরি পাই, FreshRSS হলো একটি হালকা বিকল্প যা যেকোনো হার্ডওয়্যারের সাথে খাপ খাইয়ে নিতে পারে এবং আপনাকে একটি একক ড্যাশবোর্ডে ব্লগ, ইউটিউব চ্যানেল এবং সংবাদ মাধ্যমগুলোকে কেন্দ্রীভূত করার সুযোগ দেয়।
FreshRSS আসলে কী এবং এর সুবিধাগুলো কী কী?
আমরা একটি ওপেন-সোর্স আরএসএস এবং অ্যাটম ফিড অ্যাগ্রিগেটর (AGPLv3 লাইসেন্স) নিয়ে কথা বলছি, যা আপনি আপনার নিজস্ব পরিকাঠামোতে হোস্ট করতে পারেন। ফিডলি বা ইনোরিডারের মতো ক্লাউড পরিষেবাগুলোর বিপরীতে, যেগুলোতে প্রায়শই সাধারণ ফিচারগুলোর জন্য পে-ওয়াল থাকে, ফ্রেশআরএসএস সম্পূর্ণ বিনামূল্যে এবং এতে ফিড বা ক্যাটাগরির কোনো সীমাবদ্ধতা নেই । অধিকন্তু, এটি অত্যন্ত রিসোর্স-সাশ্রয়ী, যা সিস্টেমের গতি না কমিয়েই হাজার হাজার আর্টিকেল পরিচালনা করতে সক্ষম।
এর সবচেয়ে শক্তিশালী বৈশিষ্ট্যগুলোর মধ্যে রয়েছে মাল্টি-ইউজার ম্যানেজমেন্ট , যা পরিবারের সাথে সার্ভার শেয়ার করার জন্য আদর্শ, এবং স্ট্যান্ডার্ড OPML ফরম্যাট ব্যবহার করে সাবস্ক্রিপশন ইম্পোর্ট ও এক্সপোর্ট করার ক্ষমতা। এছাড়াও এতে রয়েছে সার্চ ফাংশন, কীওয়ার্ডের উপর ভিত্তি করে আর্টিকেলকে পঠিত হিসেবে চিহ্নিত করার জন্য অ্যাডভান্সড ফিল্টার, এবং আপনার পছন্দের ওয়েবসাইটে কোনো সক্রিয় RSS ফিড না থাকলে স্ক্র্যাপিংয়ের মাধ্যমে ফিড তৈরি করার ক্ষমতা।
পরিবেশের প্রয়োজনীয়তা এবং প্রস্তুতি
শুরু করার জন্য, আজকাল সবচেয়ে প্রচলিত পদ্ধতি হলো লিনাক্স এনভায়রনমেন্ট ব্যবহার করা। আপনি যদি কন্টেইনার পদ্ধতি বেছে নেন, তাহলে ভিজ্যুয়াল ম্যানেজমেন্টের জন্য আপনার ডকার, ডকার কম্পোজ এবং ঐচ্ছিকভাবে পোর্টেইনার ইনস্টল করা থাকতে হবে। হার্ডওয়্যারের ক্ষেত্রে, ব্যক্তিগত ব্যবহারের জন্য ২৫৬ এমবি বা ৫১২ এমবি র্যামই যথেষ্টের চেয়ে বেশি।
আপনি যদি ওয়েব সার্ভারে ম্যানুয়াল ইনস্টলেশন পছন্দ করেন, তাহলে আপনার একটি LAMP বা LEMP স্ট্যাক (Linux, Nginx/Apache, MySQL/MariaDB, এবং PHP 7.4+) প্রয়োজন হবে। প্রোগ্রামটি সঠিকভাবে কাজ করার জন্য curl, xml, mbstring, এবং zip-এর মতো PHP এক্সটেনশনগুলো অপরিহার্য। আপনি যদি আপনার হোম নেটওয়ার্কের বাইরে থেকে এটি অ্যাক্সেস করার পরিকল্পনা করেন, তাহলে আপনি Caddy বা Nginx Proxy Manager দিয়ে একটি রিভার্স প্রক্সি কনফিগার করতে পারেন, অথবা জটিল SSL সার্টিফিকেটের প্রয়োজন ছাড়াই সার্ভারটিকে ইন্টারনেটে উন্মুক্ত করা এড়াতে Tailscale-এর মতো টুল ব্যবহার করতে পারেন।
ডকার কম্পোজ ব্যবহার করে ধাপে ধাপে ইনস্টলেশন
এটিই সবচেয়ে দ্রুত এবং সহজ উপায়। আপনাকে শুধু একটি ফাইল তৈরি করতে হবে। docker-compose.yml আপনার পছন্দের ফোল্ডারে। বেশ কয়েকটি ইমেজ উপলব্ধ আছে, যার মধ্যে Linuxserver ইমেজটি অন্যতম সহজ। একটি সাধারণ কনফিগারেশন উদাহরণের মধ্যে রয়েছে ইমেজ, টাইম জোন (TZ) নির্ধারণ করা। ভলিউম ম্যাপিং যাতে কন্টেইনারটি পুনরায় চালু হলে আপনার ডেটা মুছে না যায়।
বিশাল সংখ্যক ফিড লাইব্রেরি পরিচালনার ক্ষেত্রে উন্নততর পারফরম্যান্স চাইলে, SQLite-এর পরিবর্তে PostgreSQL ডাটাবেস ব্যবহার করার পরামর্শ দেওয়া হয়। কম্পোজিশন ফাইলে, আপনাকে একটি পৃথক ডাটাবেস সার্ভিস যোগ করতে হবে এবং এনভায়রনমেন্ট ভেরিয়েবল কনফিগার করতে হবে, যাতে FreshRSS ডাটাবেস হোস্টের সাথে সংযোগ স্থাপন করতে পারে। ফাইলটি প্রস্তুত হয়ে গেলে, আপনাকে শুধু রান করতে হবে। docker-compose up -d এবং সিস্টেমটি হবে ব্যাকগ্রাউন্ডে চলছে.
প্রাথমিক সেটআপ এবং সূক্ষ্ম সমন্বয়
আপনি যখন প্রথমবার আপনার সার্ভারের আইপি অ্যাড্রেস এবং কনফিগার করা পোর্ট (যেমন, ৮০৮০) ব্যবহার করে সিস্টেমে প্রবেশ করবেন, তখন আপনাকে একটি ওয়েব উইজার্ড স্বাগত জানাবে। এখানে, আপনি আপনার ভাষা নির্বাচন করবেন, অ্যাডমিনিস্ট্রেটর প্যানেল কনফিগার করবেন এবং আপনার ডেটাবেসের ধরন বেছে নেবেন । এর সরলতার কারণে বেশিরভাগ ব্যবহারকারীর জন্য SQLite যথেষ্টর চেয়েও বেশি, কিন্তু পেশাদারী প্রয়োগের জন্য PostgreSQL একটি উত্তম বিকল্প।
একবার ভেতরে প্রবেশ করলে, আপনি ওয়েবসাইটের ইউআরএল পেস্ট করে ফিড যোগ করা শুরু করতে পারেন। FreshRSS বেশ স্মার্ট এবং সাধারণত ফিডটি স্বয়ংক্রিয়ভাবে শনাক্ত করে নেয় , এমনকি আপনি প্রথম নজরে আরএসএস লিঙ্কটি দেখতে না পেলেও। সবকিছু সুশৃঙ্খল রাখতে, বিভিন্ন ক্যাটাগরি (প্রযুক্তি, বিজ্ঞান, বিনোদন) তৈরি করা এবং প্রতিটি ফিডকে সেগুলোর কোনো একটিতে অন্তর্ভুক্ত করা অত্যন্ত জরুরি। এতে ইন্টারফেসটি বিভিন্ন ধরনের খবরের এক বিশৃঙ্খল জটলায় পরিণত হওয়া থেকে রক্ষা পায়।
মোবাইল এবং ডেস্কটপ অ্যাপ্লিকেশনের সাথে সিঙ্ক্রোনাইজেশন
ওয়েব ইন্টারফেসটি কার্যকরী, কিন্তু আসল জাদুটা ঘটে যখন আপনি FreshRSS-কে Linux-এর Newsflash, iOS-এর NetNewsWire, বা Android-এর Capy Reader-এর মতো বাহ্যিক অ্যাপের সাথে সংযুক্ত করেন। এটি করার জন্য, আপনাকে আপনার প্রোফাইল সেটিংসে গিয়ে API অ্যাক্সেস চালু করতে হবে এবং এই উদ্দেশ্যে একটি নির্দিষ্ট পাসওয়ার্ড তৈরি করতে হবে (যা আপনার অ্যাকাউন্টের পাসওয়ার্ড থেকে ভিন্ন)।
FreshRSS, Google Reader API এবং Fever API-এর সাথে সামঞ্জস্যপূর্ণ। অ্যাপটি কনফিগার করার সময়, আপনাকে আপনার সার্ভার URL লিখতে হবে, যার মধ্যে পোর্ট এবং নির্দিষ্ট পাথ অন্তর্ভুক্ত থাকবে (যেমন, /api/greader.phpএইভাবে, আপনি একটি অর্জন করেন সম্পূর্ণ দ্বিমুখী সিঙ্ক্রোনাইজেশনআপনি যদি আপনার মোবাইল ডিভাইসে কোনো নিবন্ধকে পঠিত হিসেবে চিহ্নিত করেন, তাহলে সেটি আপনার কম্পিউটারেও পঠিত হিসেবে প্রদর্শিত হবে এবং এর বিপরীতটিও ঘটবে।
উন্নত কৌশল: স্ক্র্যাপিং এবং রক্ষণাবেক্ষণ
যখন আপনি এমন কোনো ওয়েবসাইটের সম্মুখীন হন যেখানে RSS নেই, তখন আপনি HTML + XPath পদ্ধতিটি ব্যবহার করতে পারেন। এর মাধ্যমে আপনি পেজটির HTML কোড ব্যবহার করে কন্টেন্ট বের করে আনতে পারবেন । এটি করার জন্য, আপনার ব্রাউজারে এলিমেন্টটি ইন্সপেক্ট করুন, আর্টিকেলের টাইটেল এবং বডি থেকে XPath-টি কপি করে ফিড সেটিংসে পেস্ট করুন। মনে রাখবেন যে এই পদ্ধতিটি ভঙ্গুর, কারণ ওয়েবসাইটটির ডিজাইন পরিবর্তন হলে ফিডটি কাজ করা বন্ধ করে দেবে।
সবকিছু সুষ্ঠুভাবে চালানোর জন্য, করতে ভুলবেন না। নিয়মিত ব্যাকআপ ডেটা ফোল্ডার এবং SQLite ডাটাবেস থেকে। এছাড়াও, মেইনটেন্যান্স মেনু থেকে ডাটাবেস অপ্টিমাইজ করার এবং একটি কমান্ড চালিয়ে ডকার ইমেজ আপডেট রাখার পরামর্শ দেওয়া হয়। docker compose pull মাঝে মাঝে
আপনার নিজস্ব নিউজরিডার থাকা মানেই হলো বুদ্ধিবৃত্তিক স্বাধীনতার এক নিশ্চিত উপায়, যা আপনাকে কোনো রকম হস্তক্ষেপ ছাড়াই তথ্য বাছাই করার সুযোগ দেয়। FreshRSS-এর শক্তির সাথে Docker-এর নমনীয়তা এবং সিঙ্ক করা মোবাইল অ্যাপের সুবিধার সমন্বয়ে আপনি এমন একটি ব্যক্তিগত ও কার্যকর সিস্টেম পান যা সম্পূর্ণ আপনার নিয়ন্ত্রণে থাকে এবং আপনার ওয়েব ব্রাউজ করার পদ্ধতিকেই বদলে দেয়।





