واجهة تويتر بديلة مجانية ومفتوحة المصدر تركز على الخصوصية والأداء.
مستوحاة من المشروع Invidious.
لا يوجد جافا سكريبت أو الإعلانات
تمر جميع الطلبات عبر الواجهة الخلفية، ولا يتحدث العميل أبدًا إلى Twitter
يمنع تويتر من تتبع بصمة IP أو JavaScript الخاصة بك
يستخدم واجهة برمجة تطبيقات Twitter غير الرسمية (لا يلزم وجود حدود للسعر أو حساب مطور)
خفيف الوزن (لـ @nim_lang، 60 كيلو بايت مقابل 784 كيلو بايت من twitter.com)
خلاصات RSS
المواضيع
دعم الهاتف المحمول (التصميم سريع الاستجابة)
تم ترخيص AGPLv3، ولا يُسمح بمثيلات الملكية
ليبراباي: https://liberapay.com/zedeus
باتريون: https://patreon.com/nitter
بيتكوين: bc1qp7q4qz0fgfvftm5hwz3vy284nue6jedt44kxya
إيثريوم: 0x66d84bc3fd031b62857ad18c62f1ba072b011925
LTC: ltc1qhsz5nxw6jw9rdtw9qssjeq2h8hqk2f85rdgpkr
XMR: 42hKayRoEAw4D6G6t8mQHPJHQcXqofjFuVfavqKeNMNUZfeJLJAcNU19i1bGdDvcdN6romiSscWGWJCczFLe9RFhM3d1zpL
يدمج
نظام الحساب مع دعم الجدول الزمني
أرشفة التغريدات/الملفات الشخصية
واجهة برمجة تطبيقات المطور
يحتوي موقع wiki على قائمة بالمثيلات وملحقات المتصفح التي يحتفظ بها المجتمع.
من المستحيل استخدام تويتر دون تفعيل جافا سكريبت. بالنسبة للأشخاص المهتمين بالخصوصية، يعد منع تحليلات JavaScript والتتبع المستند إلى IP أمرًا مهمًا، ولكن بصرف النظر عن استخدام VPN وuBlock/uMatrix، فهذا مستحيل. على الرغم من كونك تستخدم شبكة VPN وتستخدم أدوات حظر الإعلانات شديدة التحمل، إلا أنه يمكنك تتبعك بدقة باستخدام بصمة متصفحك، دون الحاجة إلى JavaScript. أصبح كل هذا مهمًا بشكل خاص بعد أن أزال تويتر قدرة المستخدمين على التحكم في إرسال بياناتهم إلى المعلنين.
باستخدام مثيل Nitter (المستضاف على VPS على سبيل المثال)، يمكنك تصفح Twitter بدون JavaScript مع الحفاظ على خصوصيتك. بالإضافة إلى احترام خصوصيتك، فإن Nitter أخف في المتوسط بحوالي 15 مرة من Twitter، وفي معظم الحالات يخدم الصفحات بشكل أسرع (على سبيل المثال، يتم تحميل الخطوط الزمنية بشكل أسرع بمقدار 2-4 مرات).
في المستقبل، سيتم إضافة نظام حساب بسيط يتيح لك متابعة مستخدمي تويتر، مما يتيح لك الحصول على جدول زمني نظيف دون الحاجة إلى حساب تويتر.
libcre
libsass
redis
لتجميع Nitter تحتاج إلى تثبيت Nim، راجع nim-lang.org للحصول على التفاصيل. من الممكن تثبيته على مستوى النظام أو في دليل المستخدم الذي تقوم بإنشائه أدناه.
لتجميع ملفات scss، تحتاج إلى تثبيت libsass
. على Ubuntu وDebian، يمكنك استخدام libsass-dev
.
مطلوب Redis للتخزين المؤقت وفي المستقبل لمعلومات الحساب. يجب أن يكون متاحًا في معظم التوزيعات كخادم redis
أو redis-server
(Ubuntu/Debian). يعد تشغيله بالتكوين الافتراضي أمرًا جيدًا، حيث تم تعيين التكوين الافتراضي لـ Nitter لاستخدام منفذ Redis الافتراضي والمضيف المحلي.
فيما يلي كيفية إنشاء مستخدم nitter
، واستنساخ الريبو، وبناء المشروع مع ملفات scss وmd.
# useradd -m nitter# su nitter$ git clone https://github.com/zedeus/nitter $ مؤتمر نزع السلاح نيتر بناء ذكي $ -d:release $ SCSS ذكيا $ ذكيا دكتوراه في الطب $ cp nitter.example.conf nitter.conf
قم بتعيين اسم المضيف والمنفذ ومفتاح HMAC وhttps (يجب أن يكون صحيحًا بالنسبة لملفات تعريف الارتباط) ومعلومات Redis في nitter.conf
. لتشغيل Redis، قم بتشغيل redis-server --daemonize yes
أو systemctl enable --now redis
(أو خادم redis اعتمادًا على التوزيعة). قم بتشغيل Nitter بتنفيذ ./nitter
أو باستخدام خدمة systemd أدناه. يجب عليك تشغيل Nitter خلف وكيل عكسي مثل Nginx أو Apache لأسباب تتعلق بالأمان والأداء.
صفحة صورة Docker: https://hub.docker.com/r/zedeus/nitter
zedeus/nitter:latest-arm64
.لتشغيل Nitter مع Docker، ستحتاج إلى تثبيت Redis وتشغيله بشكل منفصل قبل أن تتمكن من تشغيل الحاوية. انظر أدناه لمعرفة كيفية تشغيل Redis أيضًا باستخدام Docker.
لبناء وتشغيل Nitter في Docker:
docker build -t nitter:latest .docker run -v $(pwd)/nitter.conf:/src/nitter.conf -d --network host nitter:latest
ملاحظة: بالنسبة إلى ARM64، استخدم ملف Dockerfile هذا: Dockerfile.arm64
.
يتم أيضًا توفير صورة Docker مُصممة مسبقًا:
تشغيل عامل الميناء -v $(pwd)/nitter.conf:/src/nitter.conf -d - مضيف الشبكة zedeus/nitter:latest
استخدام docker-compose لتشغيل كل من Nitter وRedis كحاويتين مختلفتين: قم بتغيير redisHost
من localhost
إلى nitter-redis
في nitter.conf
، ثم قم بتشغيل:
عامل الإرساء يؤلف -d
لاحظ أن أوامر Docker تتوقع وجود ملف nitter.conf
في الدليل الذي تقوم بتشغيلها فيه.
لتشغيل Nitter عبر systemd يمكنك استخدام ملف الخدمة هذا:
[Unit]Description=Nitter (واجهة أمامية بديلة لـ Twitter)After=syslog.targetAfter=network.target[Service]Type=simple# مجموعة المستخدم وgroupUser=nitterGroup=nitter# التكوين locationWorkingDirectory=/home/nitter/nitterExecStart=/home/nitter/nitter/nitterRestart=alwaysRestartSec=15[Install]WantedBy=multi-user.target
ثم قم بتمكين الخدمة وتشغيلها: systemctl enable --now nitter.service
يقوم Nitter حاليًا بطباعة بعض الأخطاء إلى stdout، ولم يتم تنفيذ أي تسجيل حقيقي. إذا كنت تقوم بتشغيل Nitter مع systemd، فيمكنك التحقق من stdout مثل هذا: journalctl -u nitter.service
(add --follow
لرؤية آخر 15 سطرًا فقط). إذا كنت تقوم بتشغيل صورة Docker، فيمكنك القيام بذلك: docker logs --follow *nitter container id*
لا تتردد في الانضمام إلى قناة ماتريكس لدينا. يمكنك مراسلتي عبر البريد الإلكتروني على [email protected] إذا كنت ترغب في الاتصال بي شخصيًا.