خطّ معالجة مُصمَّم للصفحات الواقعية.
من عنوان URL المُلصَق إلى الـ flux المُقدَّم: اكتشاف، استخراج، توليد، تنقية من التكرار، تخزين مؤقت. كل خطوة مُصمَّمة للعمل حيث لا يوجد أي flux أصلي.
اكتشاف تلقائي عام
جوهر FluxRSS. نبحث في العمود الرئيسي عن أكبر مجموعة من العُقد الشقيقة التي تحمل الوسم نفسه والبصمة نفسها للأصناف. هذه المجموعة هي قائمة مقالاتك. أما القوائم والتذييلات والإطارات الثانوية فتُستبعَد.
إعادة استخدام الـ flux الأصلي
إن كانت الصفحة تُعلن عن flux مسبقًا (link rel=alternate، /feed، /rss) أو إن ألصقتَ مباشرةً عنوان flux، فإننا نستخدمه كما هو — فهذا أكثر موثوقية من الاستخلاص.
استخراج نظيف للحقول
يُستخرَج العنوان والرابط والتاريخ والصورة والملخّص لكل مقال، ثم تُوحَّد في عنصر <item> صالح ضمن RSS.
تنقية من التكرار عبر guid
لكل مقال مُعرِّف فريد. عند كل تحديث، تُستبعَد التكرارات — فلا يرى قرّاؤك المُدخَلة نفسها مرتين أبدًا.
تحديث مُجدوَل
حسب عرضك، من كل 24 ساعة إلى كل 15 دقيقة. يُعاد استخلاص الـ flux ويُحدَّث تلقائيًا.
استخراج النصّ الكامل
اختياريًا، يزور FluxRSS كل مقال لإثراء الملخّص بالمحتوى الكامل.
الأمان افتراضيًا
يذهب FluxRSS لجلب عناوين URL يقدّمها المستخدمون. تتحقّق حماية ضد SSRF من كل عنوان على جانب الخادم وتُعيد فحصه عند كل إعادة توجيه.
- حظر عناوين IP الخاصة والحلقية (loopback) والمحلية للرابط (link-local)
- منع نقطة نهاية بيانات التعريف السحابية (169.254.169.254)
- الاقتصار على مخطّطات http / https
- تحديد المهلة وحجم الاستجابة
- إعادة التحقّق عند كل إعادة توجيه
# Generer un flux
curl -X POST https://fluxrss.app/api/generate \
-H "Authorization: Bearer <token>" \
-d '{"url":"https://lemonde.fr/faits-divers/"}'
# Reponse
{ "id": "a1b2c3", "url": "https://fluxrss.app/feeds/a1b2c3.xml" }
# Servir le flux (RSS 2.0 ou JSON Feed)
GET https://fluxrss.app/feeds/a1b2c3.xml?limit=20
GET https://fluxrss.app/feeds/a1b2c3.jsonواجهة API للأتمتة
متوفّرة ضمن عرض Mega. أنشئ flux برمجيًا، واستردّها بصيغة RSS أو JSON Feed، واربط webhooks الخاصة بك.
عرض باقة Mega