FreshRSS: الگورتھم کے بغیر اپنی ذاتی نیوز فیڈ
سوشل نیٹ ورکس طے کرتے ہیں کہ کون سی پوسٹ پہلے دکھائی جائے۔ اس کے نتیجے میں کسی پروجیکٹ کی اہم اپ ڈیٹ درجنوں تجاویز کے درمیان آسانی سے نظروں سے اوجھل ہو سکتی ہے۔ FreshRSS مختلف انداز میں کام کرتا ہے: آپ ذرائع منتخب کرتے ہیں اور نیا مواد ایک ہی زمانی ترتیب والی فیڈ میں دکھائی دیتا ہے۔
FreshRSS اپنے سرور پر انسٹال کر کے اسے بلاگز، نیوز سائٹس، سافٹ ویئر اپ ڈیٹس، فورمز، پوڈکاسٹس اور RSS یا Atom فیڈ فراہم کرنے والے دیگر ذرائع کے لیے متحدہ ان باکس کے طور پر استعمال کیا جا سکتا ہے۔ اس گائیڈ میں ایپ کی خصوصیات، سرور کی ضروریات، اور Docker اور HTTPS کے ساتھ VPS پر انسٹالیشن بیان کی گئی ہے۔
FreshRSS پانچ مراحل میں
- Linux VPS بنائیں اور ایک سب ڈومین کو اس کی طرف پوائنٹ کریں، مثلاً
rss.example.com۔ - Docker اور Docker Compose انسٹال کریں۔
- خودکار HTTPS کے لیے FreshRSS کو Caddy کے ساتھ چلائیں۔
- سب ڈومین کھولیں، SQLite منتخب کریں اور اکاؤنٹ بنائیں۔
- OPML سے سبسکرپشنز امپورٹ کریں یا ویب سائٹس کو دستی طور پر شامل کریں۔
اس کے بعد VPS مقررہ شیڈول کے مطابق ذرائع کو چیک کرتا رہے گا، چاہے صارف کا کمپیوٹر بند ہی کیوں نہ ہو۔
FreshRSS کیا ہے؟
FreshRSS ایک مفت، خود میزبان کردہ RSS اور Atom ایگریگیٹر ہے۔ خود میزبانی کا مطلب ہے کہ ایپلیکیشن اور ڈیٹا بیس کسی کلاؤڈ سروس کے انفراسٹرکچر کے بجائے آپ کے زیرِکنٹرول سرور پر چلتے ہیں۔
RSS فیڈ ایک خصوصی فائل ہوتی ہے جسے ویب سائٹ نیا مواد شائع ہونے پر اپ ڈیٹ کرتی ہے۔ FreshRSS منتخب ذرائع سے یہ فائلیں باقاعدگی سے حاصل کرتا ہے اور ان کے اندراجات کو ایک انٹرفیس میں جمع کر دیتا ہے۔ غیر پڑھے گئے مضامین، پسندیدہ آئٹمز اور مطالعے کی تاریخ تمام آلات کے درمیان ہم وقت ساز ہو جاتی ہے۔
بنیادی خیال سادہ ہے: آپ خود طے کرتے ہیں کہ کن ذرائع کو فالو کرنا ہے اور اشاعتیں کس ترتیب سے دیکھنی ہیں۔ FreshRSS انگیجمنٹ کی بنیاد پر اندراجات کی درجہ بندی نہیں کرتا اور سبسکرپشنز کے درمیان تجویز کردہ مواد شامل نہیں کرتا۔
FreshRSS کی خصوصیات
| خصوصیت | استعمال |
|---|---|
| زمرے، اسٹیٹس اور پسندیدہ | کام، تکنیکی اور ذاتی ذرائع کو الگ کرنا |
| تلاش، فلٹرز اور محفوظ شدہ استفسارات | منتخب موضوع کی صرف اشاعتیں دکھانا |
| OPML امپورٹ اور ایکسپورٹ | سبسکرپشن فہرست تیزی سے منتقل کرنا |
| Google Reader API اور Fever API | مطابقت رکھنے والی موبائل اور ڈیسک ٹاپ ایپس جوڑنا |
| WebSub | معاون ذرائع سے اشاعت کے فوراً بعد اندراجات حاصل کرنا |
| متعدد صارفین | خاندان یا ٹیم کے لیے الگ اکاؤنٹس بنانا |
| تھیمز اور ایکسٹینشنز | انٹرفیس تبدیل کرنا اور خصوصیات شامل کرنا |
| XPath اور JSON Feed | معیاری RSS یا Atom فیڈ کے بغیر بعض ذرائع کو سبسکرائب کرنا |
محفوظ شدہ استفسار ایک الگ موضوعاتی فیڈ بن سکتا ہے، مثلاً ایسی فیڈ جس میں صرف سیکیورٹی کی اشاعتیں یا کسی خاص پروڈکٹ کی اپ ڈیٹس ہوں۔ نتیجہ FreshRSS کے اندر کھولا جا سکتا ہے یا HTML یا RSS کے طور پر شائع کیا جا سکتا ہے؛ فیڈ فہرستوں کے لیے OPML بھی دستیاب ہے۔
WebSub کسی مطابقت رکھنے والی ویب سائٹ کو اگلے مقررہ چیک کا انتظار کرنے کے بجائے FreshRSS کو نئے اندراج کے بارے میں فوراً اطلاع دینے دیتا ہے۔ اس کے لیے FreshRSS انسٹنس کا درست عوامی پتے کے ذریعے انٹرنیٹ سے قابلِ رسائی ہونا ضروری ہے۔
FreshRSS ڈویلپرز اور سسٹم ایڈمنسٹریٹرز کے لیے خاص طور پر مفید ہے: پروجیکٹ بلاگز، ریلیزز، واقعات کی رپورٹس اور سیکیورٹی کی اشاعتیں ایک فیڈ میں جمع کی جا سکتی ہیں۔ روزمرہ مطالعے میں یہ درجنوں کھلے ٹیبز کی جگہ لیتا ہے اور تمام آلات پر پڑھے جانے کی درست حالت کو ہم وقت ساز رکھتا ہے۔
FreshRSS کے سسٹم تقاضے
FreshRSS کو بہت کم وسائل درکار ہوتے ہیں۔ یہ SQLite، PostgreSQL، MariaDB اور MySQL کو سپورٹ کرتا ہے، جبکہ دستی انسٹالیشن کے لیے ویب سرور اور PHP 8.1 یا اس سے نیا ورژن درکار ہے۔ سرکاری تفصیل میں Raspberry Pi 1 پر 150 فیڈز اور 22,000 مضامین کے ساتھ کیا گیا ٹیسٹ بھی شامل ہے۔
عملی ابتدائی کنفیگریشنز:
| صورتِ حال | CPU | RAM | اسٹوریج | ڈیٹا بیس |
|---|---|---|---|---|
| ذاتی فیڈ | 1 vCPU | 1 GB | 10–20 GB SSD | SQLite |
| خاندان یا چھوٹی ٹیم | 1–2 vCPU | 2 GB | 20–40 GB SSD | SQLite یا بیرونی ڈیٹا بیس |
| بہت سے صارفین اور بڑا آرکائیو | 2 vCPU سے | 4 GB سے | 40 GB SSD سے | PostgreSQL یا MariaDB |
یہ رہنما اصول ہیں، سخت کم از کم تقاضے نہیں۔ اسٹوریج کا استعمال ذرائع کی تعداد، اشاعت کی فریکوئنسی اور تاریخ کتنے عرصے تک محفوظ رکھی جاتی ہے، ان عوامل پر منحصر ہے۔ جب چوبیس گھنٹے اپ ڈیٹس، بیرونی رسائی، موبائل سنکرونائزیشن اور WebSub درکار ہوں تو VPS گھریلو کمپیوٹر سے زیادہ سہولت فراہم کرتا ہے۔
Docker کے ساتھ VPS پر FreshRSS کیسے انسٹال کریں
ذیل کی کنفیگریشن میں FreshRSS، Caddy کے پیچھے چلتا ہے۔ Caddy بیرونی درخواستیں قبول کرتا ہے اور خودکار طور پر TLS سرٹیفکیٹ حاصل کرتا ہے۔
آپ کو Linux VPS، docker compose کمانڈ کے ساتھ انسٹال کیا ہوا Docker، سرور کے IP پتے کی طرف اشارہ کرنے والے A ریکارڈ والا سب ڈومین، اور کھلے ہوئے 80 اور 443 پورٹس کی ضرورت ہوگی۔
مرحلہ 1۔ ڈائریکٹری بنائیں
sudo mkdir -p /opt/freshrss
sudo chown "$USER":"$USER" /opt/freshrss
cd /opt/freshrssمرحلہ 2۔ compose.yaml بنائیں
services:
freshrss:
image: freshrss/freshrss:latest
container_name: freshrss
restart: unless-stopped
logging:
options:
max-size: 10m
environment:
TZ: Etc/UTC
CRON_MIN: '3,33'
FRESHRSS_ENV: production
TRUSTED_PROXY: 172.16.0.0/12
volumes:
- freshrss_data:/var/www/FreshRSS/data
- freshrss_extensions:/var/www/FreshRSS/extensions
caddy:
image: caddy:2
container_name: freshrss-caddy
restart: unless-stopped
depends_on:
- freshrss
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- caddy_data:/data
- caddy_config:/config
volumes:
freshrss_data:
freshrss_extensions:
caddy_data:
caddy_config:CRON_MIN: '3,33' ہر گھنٹے کے تیسرے اور 33ویں منٹ پر فیڈ چیک شروع کرتا ہے۔ FreshRSS کسی ایک فیڈ کو تقریباً ہر 20 منٹ سے زیادہ بار اپ ڈیٹ نہیں کرتا، اس لیے کام کو اس سے زیادہ کثرت سے چلانا عموماً ضروری نہیں ہوتا۔
مرحلہ 3۔ Caddyfile بنائیں
rss.example.com {
reverse_proxy freshrss:80
}ڈومین کو اپنے ڈومین سے بدلیں۔ DNS ریکارڈ کے پھیل جانے اور پورٹس کے قابلِ رسائی ہونے کے بعد Caddy سرٹیفکیٹ خود حاصل اور تجدید کرے گا۔
مرحلہ 4۔ FreshRSS شروع کریں
docker compose up -d
docker compose psلاگز اس کمانڈ سے دیکھے جا سکتے ہیں:
docker compose logs -f --tail=100https://rss.example.com کھولیں۔ انسٹالیشن وزارڈ ماحول کو چیک کرے گا، آپ سے ڈیٹا بیس منتخب کرنے کو کہے گا اور پہلا صارف بنائے گا۔ ذاتی سرور کے لیے SQLite سب سے آسان انتخاب ہے، کیونکہ اسے علیحدہ ڈیٹا بیس کنٹینر کی ضرورت نہیں ہوتی۔
ابتدائی کنفیگریشن
FreshRSS اکثر ویب سائٹ کے عام پتے سے RSS یا Atom فیڈ تلاش کر سکتا ہے۔ اگر خودکار دریافت کام نہ کرے تو فیڈ کا براہِ راست URL درج کریں۔ Feedly، Inoreader اور دیگر ریڈرز کی سبسکرپشنز OPML کے ذریعے آسانی سے منتقل کی جا سکتی ہیں۔
ذرائع کو فوراً “ضروری مطالعہ”، “کام”، “سیکیورٹی”، “طویل مضامین” اور “بعد میں پڑھنے” جیسی کیٹیگریز میں منظم کریں۔ بہت زیادہ مواد شائع کرنے والی نیوز سائٹس کو واقعی اہم اپ ڈیٹس کو مرکزی فیڈ سے باہر نہیں دھکیلنا چاہیے۔
کسی ایپ کو جوڑنے کے لیے تصدیق کی ترتیبات میں API فعال کریں اور پروفائل میں علیحدہ API پاس ورڈ مقرر کریں۔ Google Reader API کا پتا یوں دکھائی دیتا ہے:
https://rss.example.com/api/greader.phpمرکزی اکاؤنٹ اور API کے لیے ایک ہی پاس ورڈ استعمال نہ کرنا بہتر ہے۔
غیر پڑھے گئے مضامین میں ڈوبنے سے کیسے بچیں
تھوڑی سی کنفیگریشن کے بعد FreshRSS سب سے زیادہ مفید ثابت ہوتا ہے:
- مرکزی فیڈ میں صرف اہم ذرائع رکھیں؛
- غیر ضروری حصوں کو خودکار طور پر پڑھا ہوا نشان زد کرنے کے لیے فلٹرز استعمال کریں؛
- پروڈکٹس، مصنفین اور موضوعات کے لیے تلاش کے استفسارات محفوظ کریں؛
- وقتاً فوقتاً اعداد و شمار دیکھیں اور صرف شور پیدا کرنے والے ذرائع ہٹا دیں۔
ایکسٹینشنز مطالعے کے اندازاً وقت، الفاظ کو نمایاں کرنے، تصاویر کے لیے پراکسی، YouTube ایمبیڈ، webhook اطلاعات اور مطابقت رکھنے والی LLM API کے ذریعے مضامین کی درجہ بندی جیسی خصوصیات شامل کر سکتی ہیں۔ تھرڈ پارٹی ایڈ آنز صرف قابلِ اعتماد ذرائع سے انسٹال کریں۔
اپ ڈیٹس، سیکیورٹی اور بیک اپس
کنٹینرز کو اپ ڈیٹ کرنے کے لیے چلائیں:
cd /opt/freshrss
docker compose pull
docker compose up -dبڑی اپ ڈیٹ سے پہلے بیک اپ بنائیں۔ freshrss_data والیوم میں صارف کی ترتیبات اور SQLite استعمال ہونے کی صورت میں مضامین کا ڈیٹا بیس موجود ہوتا ہے۔ اگر آپ ایڈ آنز استعمال کرتے ہیں تو freshrss_extensions کو بھی محفوظ رکھیں۔ PostgreSQL، MariaDB اور MySQL کے لیے علیحدہ ڈیٹا بیس ڈمپ درکار ہے۔
کم از کم سیکیورٹی اقدامات:
- HTTPS استعمال کریں؛
- ضروری اکاؤنٹس بنانے کے بعد کھلی رجسٹریشن بند کریں؛
- ضرورت نہ ہو تو گمنام رسائی فعال نہ کریں؛
- علیحدہ API پاس ورڈ استعمال کریں؛
- FreshRSS اور اس کی ایکسٹینشنز کو باقاعدگی سے اپ ڈیٹ کریں؛
- VPS سے باہر بیک اپ رکھیں۔
OPML ایکسپورٹ مکمل بیک اپ کا متبادل نہیں، لیکن اس سے کسی بھی مطابقت رکھنے والے RSS ریڈر میں سبسکرپشن فہرست تیزی سے بحال کی جا سکتی ہے۔
tropic.host کے VPS پر FreshRSS
FreshRSS خود میزبانی کی طرف پہلا اچھا قدم ہے: اسے کم وسائل درکار ہوتے ہیں، یہ Docker میں چلتا ہے اور سبسکرپشنز امپورٹ کرنے کے فوراً بعد مفید ہو جاتا ہے۔ عوامی VPS چوبیس گھنٹے فیڈ اپ ڈیٹس، فون سے رسائی اور WebSub کا درست آپریشن فراہم کرتا ہے۔
ذاتی انسٹالیشن کے لیے عموماً ایک چھوٹی Linux کنفیگریشن کافی ہوتی ہے۔ tropic.host پر آپ FreshRSS کے لیے الگ سب ڈومین مقرر کر سکتے ہیں، بنیادی VPS سے آغاز کر سکتے ہیں اور سروس کو اپنے گھریلو کمپیوٹر سے آزاد رکھ سکتے ہیں۔ پلان منتخب کرتے وقت پروسیسنگ کی بہت زیادہ اضافی طاقت سے زیادہ استحکام، آرکائیو کے لیے اسٹوریج اور بیک اپ اہم ہیں۔
نتیجہ
FreshRSS درجنوں ویب سائٹس کو الگورتھم پر مبنی درجہ بندی کے بغیر ایک منظم ذاتی فیڈ میں بدل دیتا ہے۔ یہ موبائل کلائنٹس، فلٹرز، محفوظ شدہ استفسارات، متعدد صارفین، WebSub اور ایکسٹینشنز کو سپورٹ کرتا ہے، پھر بھی اتنا ہلکا ہے کہ چھوٹے VPS پر چل سکے۔
شروع کرنے کے لیے آپ کو Docker، ڈومین اور SQLite درکار ہیں۔ انسٹالیشن کے بعد کیٹیگریز، خودکار اپ ڈیٹس، HTTPS اور بیک اپس کو کنفیگر کریں۔ اس کے بعد FreshRSS صرف آپ کے منتخب کردہ ذرائع دکھائے گا اور مطالعے کا اختیار آپ کے ہاتھ میں رہے گا۔
FAQ
کیا FreshRSS مفت ہے؟
جی ہاں۔ FreshRSS کو AGPL-3.0 لائسنس کے تحت تقسیم کیا جاتا ہے۔ اگر ایپ کرائے کے VPS پر چلتی ہے تو آپ کو صرف انفراسٹرکچر کے لیے ادائیگی کرنی ہوگی۔
کیا FreshRSS کو ڈومین کے بغیر استعمال کیا جا سکتا ہے؟
جی ہاں، کنٹینر پورٹ کو ظاہر کر کے۔ مستقل استعمال کے لیے ڈومین اور HTTPS کنفیگر کرنا بہتر ہے، کیونکہ اس سے محفوظ رسائی، موبائل سنکرونائزیشن اور WebSub آسان ہو جاتے ہیں۔
FreshRSS کو کتنی RAM درکار ہوتی ہے؟
ذاتی فیڈ کے لیے 1 GB RAM اور SQLite سے آغاز مناسب ہے۔ بڑا آرکائیو، متعدد صارفین یا اضافی سروسز زیادہ میموری کا تقاضا کریں گی۔
کیا RSS کے بغیر ویب سائٹ شامل کی جا سکتی ہے؟
کبھی کبھار۔ FreshRSS XPath کے ذریعے ویب اسکریپنگ سپورٹ کرتا ہے، لیکن قواعد کو دستی طور پر کنفیگر کرنا ہوگا۔ ویب سائٹ کا لے آؤٹ بدلنے پر اس ذریعے کی اصلاح ضروری ہو سکتی ہے۔
کس چیز کا بیک اپ لینا چاہیے؟
سب سے پہلے freshrss_data والیوم کا بیک اپ لیں: SQLite استعمال ہونے کی صورت میں اس میں مضامین کا ڈیٹا بیس ہوتا ہے۔ freshrss_extensions کو بھی محفوظ رکھیں اور کسی بھی بیرونی ڈیٹا بیس کے ڈمپ بنائیں۔
