Language: ar
FreshRSS: موجز أخبارك الخاص من دون خوارزميات
تقرر شبكات التواصل الاجتماعي أي المنشورات تظهر أولًا. ونتيجة لذلك، قد يمر تحديث مهم لمشروع ما من دون ملاحظة، بينما تحل محله عشرات التوصيات. يعمل FreshRSS بطريقة مختلفة: تختار أنت المصادر، ويظهر المحتوى الجديد في موجز زمني واحد.
يمكن تثبيت FreshRSS على خادمك الخاص واستخدامه كبريد وارد موحّد للمدونات ومواقع الأخبار وتحديثات البرامج والمنتديات والبودكاست وغيرها من المصادر التي توفر خلاصات RSS أو Atom. يشرح هذا الدليل إمكانات التطبيق ومتطلبات الخادم وطريقة تثبيته على خادم VPS باستخدام Docker وHTTPS.
FreshRSS في خمس خطوات
- أنشئ خادم VPS يعمل بنظام Linux ووجّه نطاقًا فرعيًا إليه، مثل
rss.example.com. - ثبّت Docker وDocker Compose.
- شغّل FreshRSS مع Caddy للحصول على HTTPS تلقائي.
- افتح النطاق الفرعي، واختر 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 مقال.
تكوينات بداية عملية:
| السيناريو | وحدة المعالجة المركزية | الذاكرة | التخزين | قاعدة البيانات |
|---|---|---|---|---|
| موجز شخصي | 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 |
هذه إرشادات وليست حدودًا دنيا صارمة. يعتمد استهلاك التخزين على عدد المصادر وتواتر النشر ومدة الاحتفاظ بالسجل. ويكون خادم VPS أكثر ملاءمة من حاسوب منزلي عندما تحتاج إلى تحديثات مستمرة على مدار الساعة، ووصول خارجي، ومزامنة مع الهاتف، وتشغيل WebSub بصورة صحيحة.
كيفية تثبيت FreshRSS على خادم VPS باستخدام Docker
في الإعداد التالي، يعمل FreshRSS خلف Caddy. يستقبل Caddy الطلبات الخارجية ويحصل على شهادة TLS تلقائيًا.
ستحتاج إلى خادم VPS يعمل بنظام Linux، وتثبيت Docker مع الأمر docker compose، ونطاق فرعي يتضمن سجل A يشير إلى عنوان IP الخاص بالخادم، وفتح المنفذين 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' فحص الخلاصات في الدقيقة الثالثة والثالثة والثلاثين من كل ساعة. لا يحدّث 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=100افتح https://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، وتصنيف المقالات عبر API متوافق مع نماذج اللغة الكبيرة (LLM). ثبّت الإضافات الخارجية من مصادر موثوقة فقط.
التحديثات والأمان والنسخ الاحتياطية
لتحديث الحاويات، نفّذ:
cd /opt/freshrss
docker compose pull
docker compose up -dأنشئ نسخة احتياطية قبل أي تحديث رئيسي. يحتوي المجلد freshrss_data على إعدادات المستخدم، وعلى قاعدة بيانات المقالات عند استخدام SQLite. واحفظ أيضًا freshrss_extensions إذا كنت تستخدم الإضافات. أما PostgreSQL وMariaDB وMySQL فتتطلب تفريغًا منفصلًا لقاعدة البيانات.
الحد الأدنى من إجراءات الأمان:
- استخدم HTTPS؛
- عطّل التسجيل المفتوح بعد إنشاء الحسابات المطلوبة؛
- لا تفعّل الوصول المجهول إلا عند الحاجة؛
- استخدم كلمة مرور API منفصلة؛
- حدّث FreshRSS وإضافاته بانتظام؛
- احتفظ بنسخة احتياطية خارج خادم VPS.
لا يحل تصدير OPML محل النسخة الاحتياطية الكاملة، لكنه يتيح استعادة قائمة الاشتراكات بسرعة في أي قارئ RSS متوافق.
FreshRSS على خادم VPS من tropic.host
يُعد FreshRSS خدمة مستضافة ذاتيًا مناسبة للبدء: فهو يحتاج إلى موارد قليلة، ويعمل داخل Docker، ويصبح مفيدًا مباشرةً بعد استيراد الاشتراكات. ويوفر خادم VPS عام تحديثات للخلاصات على مدار الساعة، وإمكانية الوصول من الهاتف، وتشغيل WebSub بصورة صحيحة.
عادةً ما يكفي إعداد Linux صغير للتثبيت الشخصي. وعلى tropic.host، يمكنك تخصيص نطاق فرعي مستقل لـ FreshRSS، والبدء بخادم VPS للمبتدئين، وإبقاء الخدمة مستقلة عن حاسوبك المنزلي. وعند اختيار الخطة، تكون الاستقرارية ومساحة الأرشيف والنسخ الاحتياطية أهم من توفير قدرة معالجة كبيرة.
الخلاصة
يحوّل FreshRSS عشرات المواقع إلى موجز شخصي سهل الإدارة من دون ترتيب خوارزمي. وهو يدعم عملاء الهاتف والمرشحات والاستعلامات المحفوظة والمستخدمين المتعددين وWebSub والإضافات، مع بقائه خفيفًا بما يكفي لخادم VPS صغير.
تحتاج إلى Docker ونطاق وSQLite للبدء. وبعد التثبيت، اضبط الفئات والتحديثات التلقائية وHTTPS والنسخ الاحتياطية. عندها سيعرض FreshRSS المصادر التي اخترتها فقط، وسيبقي التحكم في القراءة بيد المستخدم.
الأسئلة الشائعة
هل FreshRSS مجاني؟
نعم. يُوزع FreshRSS بموجب ترخيص AGPL-3.0. ولا تحتاج إلى الدفع إلا مقابل البنية التحتية إذا شغّل التطبيق على خادم VPS مستأجر.
هل يمكن استخدام FreshRSS من دون نطاق؟
نعم، وذلك عبر إتاحة منفذ الحاوية. لكن للاستخدام الدائم، من الأفضل إعداد نطاق وHTTPS، لأن ذلك يسهّل الوصول الآمن ومزامنة الهاتف وتشغيل WebSub.
كم تبلغ الذاكرة التي يحتاج إليها FreshRSS؟
بالنسبة إلى موجز شخصي، من المعقول البدء بذاكرة RAM سعتها 1 GB واستخدام SQLite. أما الأرشيف الكبير أو المستخدمون المتعددون أو الخدمات الإضافية فتحتاج إلى ذاكرة أكبر.
هل يمكنني إضافة موقع لا يملك RSS؟
أحيانًا. يدعم FreshRSS كشط الويب عبر XPath، لكن يجب إعداد القواعد يدويًا. وإذا تغير تصميم الموقع، فقد تحتاج قواعد ذلك المصدر إلى الإصلاح.
ما الذي يجب نسخه احتياطيًا؟
أولًا، انسخ المجلد freshrss_data احتياطيًا؛ فعند استخدام SQLite يحتوي على قاعدة بيانات المقالات. واحفظ أيضًا freshrss_extensions وأنشئ تفريغات لأي قاعدة بيانات خارجية.
