
الإصدار القديم من OONI Probe بلغة Python
⚠️⚠️⚠️⚠️: يحتوي هذا المستودع على الكود المصدري للإصدار القديم من ooniprobe. يُرجى الاطلاع بدلاً من ذلك على:
https://github.com/ooni/probe، المستودع الرئيسي حيث يجب فتح الطلبات والميزات الجديدة؛
https://github.com/ooni/probe-cli، الذي يحتوي على الإصدار الجديد من ooniprobe كعميل سطر أوامر مكتوب بلغة Go؛
https://github.com/ooni/probe-desktop، الذي يحتوي على تطبيق سطح المكتب ooniprobe، مكتوب بلغة JavaScript وElectron.
شكراً لاهتمامك بـ OONI!
الجزء المتبقي من هذا الملف يحتوي على README.rst الأصلي للإصدار القديم:
.. image:: https://travis-ci.org/TheTorProject/ooni-probe.png?branch=master :target: https://travis-ci.org/TheTorProject/ooni-probe
.. image:: https://coveralls.io/repos/TheTorProject/ooni-probe/badge.png :target: https://coveralls.io/r/TheTorProject/ooni-probe
.. image:: https://slack.openobservatory.org/badge.svg :target: https://slack.openobservatory.org/badge.svg
.. image:: https://ooni.torproject.org/images/ooni-header-mascot.png :target: https:://ooni.torproject.org/
OONI، المرصد المفتوح للتدخل في الشبكات، هو شبكة مراقبة عالمية تهدف إلى جمع بيانات عالية الجودة باستخدام منهجيات مفتوحة، باستخدام البرمجيات الحرة ومفتوحة المصدر (FL/OSS) لمشاركة الملاحظات والبيانات حول أنواع وطرق وكميات التلاعب بالشبكة في العالم.
"تفسر الشبكة الرقابة على أنها ضرر وتتجاوزها."
- جون جيلمور؛ مجلة تايم (6 ديسمبر 1993)
ooniprobe هو أول برنامج يشغله المستخدمون لاختبار شبكاتهم وجمع البيانات لمشروع OONI. هل أنت مهتم باختبار شبكتك بحثاً عن علامات المراقبة والرقابة؟ هل تريد جمع بيانات لمشاركتها مع الآخرين، بحيث يمكنك أنت والآخرون فهم شبكتك بشكل أفضل؟ إذاً، يُرجى قراءة هذا المستند، ونأمل أن يساعدك ooniprobe في جمع بيانات الشبكة التي ستساعدك في مساعيك!
تشغيل ooniprobe هو نشاط قد يكون محفوفاً بالمخاطر. يعتمد هذا بشكل كبير على الولاية القضائية التي تتواجد فيها وأي اختبار تقوم بتشغيله. من الممكن تقنياً لشخص يراقب اتصالك بالإنترنت أن يعرف أنك تقوم بتشغيل ooniprobe. هذا يعني أنه إذا كان تشغيل اختبارات قياس الشبكة شيئاً يعتبر غير قانوني في بلدك، فقد يتم اكتشافك.
علاوة على ذلك، لا يتخذ ooniprobe أي احتياطات لحماية الجهاز المستهدف من التحليل الجنائي. إذا كانت حقيقة تثبيتك أو استخدامك لـ ooni probe تمثل مسؤولية لك، فيرجى الانتباه إلى هذا الخطر.
يمكن العثور على أحدث إصدار من ooniprobe لإصدارات Debian وUbuntu في مستودع حزم deb.torproject.org.
على Debian stable (jessie)::
curl https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc | gpg --import
gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add -
echo 'deb http://deb.torproject.org/torproject.org jessie main' | sudo tee /etc/apt/sources.list.d/ooniprobe.list
sudo apt-get update
sudo apt-get install ooniprobe deb.torproject.org-keyring
على Debian testing::
curl https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc | gpg --import
gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add -
echo 'deb http://deb.torproject.org/torproject.org testing main' | sudo tee /etc/apt/sources.list.d/ooniprobe.list
sudo apt-get update
sudo apt-get install ooniprobe deb.torproject.org-keyring
على Debian unstable::
curl https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc | gpg --import
gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add -
echo 'deb http://deb.torproject.org/torproject.org unstable main' | sudo tee /etc/apt/sources.list.d/ooniprobe.list
sudo apt-get update
sudo apt-get install ooniprobe deb.torproject.org-keyring
على Ubuntu 16.10 (yakkety)، 16.04 (xenial) أو 14.04 (trusty)::
curl https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc | gpg --import
gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add -
echo 'deb http://deb.torproject.org/torproject.org $RELEASE main' | sudo tee /etc/apt/sources.list.d/ooniprobe.list
sudo apt-get update
sudo apt-get install ooniprobe deb.torproject.org-keyring
ملاحظة: ستحتاج إلى استبدال $RELEASE إما بـ yakkety أو xenial أو trusty. لن يحدث هذا تلقائياً. ستحتاج أيضاً إلى التأكد من تمكين مستودع universe. مستودع universe ممكّن افتراضياً في تثبيت Ubuntu القياسي ولكنه قد لا يكون ممكّناً في بعض التثبيتات البسيطة أو غير القياسية.
يمكنك تثبيت ooniprobe على macOS إذا كان لديك homebrew (http://brew.sh/) مثبتاً باستخدام::
brew install ooniprobe
تأكد من تثبيت التبعيات التالية:
التبعيات الاختيارية:
على الأنظمة القائمة على Debian يمكن عادةً القيام بذلك عن طريق تشغيل::
sudo apt-get install -y build-essential libdumbnet-dev libpcap-dev libgeoip-dev libffi-dev python-dev python-pip tor libssl-dev obfs4proxy
ثم يجب أن تكون قادراً على تثبيت ooniprobe عن طريق تشغيل::
sudo pip install ooniprobe
أو تثبيت ooniprobe كمستخدم::
pip install ooniprobe
اختبار الشبكة هو مجموعة من القياسات لتقييم نوع الرقابة على الإنترنت التي تحدث.
الطوابق هي مجموعات من nettests الخاصة بـ ooniprobe مع بعض المدخلات المرتبطة.
المجمع هو خدمة تُستخدم لتقديم نتائج القياسات.
مساعد الاختبار هو خدمة تستخدمها المسبار لأداء قياساتها بنجاح.
المبشر هو خدمة تُستخدم لاكتشاف عناوين مساعدي الاختبار والمجمعات.
بعد تثبيت ooniprobe بنجاح، يجب أن تكون قادراً على الوصول إلى واجهة الويب على جهازك المضيف على http://localhost:8842/ بعد تشغيل:: ooniprobe -w أو بدء الخفية.
يجب أن تظهر لك الآن واجهة معالج إعداد واجهة الويب حيث يمكنك قراءة المخاطر المرتبطة بتشغيل ooniprobe. بعد الإجابة على الاختبار بشكل صحيح، يمكنك تمكين أو تعطيل اختبارات ooniprobe، وتحديد كيفية الاتصال بمجمع القياسات، وأخيراً تكوين إعدادات الخصوصية الخاصة بك.
افتراضياً، لن يتضمن ooniprobe معلومات تعريف شخصية في نتائج الاختبار، ولن يقوم بإنشاء ملف pcap. يمكن تخصيص هذا السلوك.
منذ إصدار ooniprobe 2.0.0، لا حاجة لوظائف cron لأن ooniprobe-agent مسؤول عن جدولة المهام.
يمكنك التأكد من أن ooniprobe-agent يعمل دائماً عن طريق تثبيت وتمكين وحدة systemd ooniprobe.service::
wget https://raw.githubusercontent.com/TheTorProject/ooni-probe/master/scripts/systemd/ooniprobe.service --directory-prefix=/etc/systemd/system
systemctl enable ooniprobe
systemctl start ooniprobe
يجب أن ترى مخرجات مماثلة إذا كانت خدمة ooniprobe (systemd) نشطة ومُحمّلة عن طريق تشغيل systemctl status ooniprobe::
● ooniprobe.service - ooniprobe.service, أداة كشف التلاعب بالشبكة
Loaded: loaded (/etc/systemd/system/ooniprobe.service; enabled)
Active: active (running) since Thu 2016-10-20 09:17:42 UTC; 16s ago
Process: 311 ExecStart=/usr/local/bin/ooniprobe-agent start (code=exited, status=0/SUCCESS)
Main PID: 390 (ooniprobe-agent)
CGroup: /system.slice/ooniprobe.service
└─390 /usr/bin/python /usr/local/bin/ooniprobe-agent start
إذا كان توزيعك يدعم الإمكانيات، يمكنك تجنب الحاجة إلى تشغيل OONI كجذر::
setcap cap_net_admin,cap_net_raw+eip /path/to/your/virtualenv's/python2
يمكنك الإبلاغ عن الأخطاء والمشكلات التي تجدها مع ooni-probe على متتبع مشكلات مشروع Tor عن طريق تقديمها تحت مكون "Ooni": https://trac.torproject.org/projects/tor/newticket?component=Ooni.
يمكنك إما تسجيل حساب أو استخدام حساب المجموعة "cypherpunks" بكلمة مرور "writecode".
يمكنك تنزيل كود ooniprobe من مستودع git التالي::
git clone https://github.com/TheTorProject/ooni-probe.git
يجب بعد ذلك تقديم التصحيحات للمراجعة كطلبات سحب إلى مستودع github هذا:
https://github.com/TheTorProject/ooni-probe
اقرأ هذه المقالة لتتعلم كيفية إنشاء طلب سحب على github (https://help.github.com/articles/creating-a-pull-request).
إذا كنت تفضل عدم استخدام github (أو ليس لديك حساب)، يمكنك أيضاً تقديم التصحيحات كمرفقات بالتذاكر.
تأكد من تنسيق التصحيح (على افتراض أنك تعمل على فرع ميزة يختلف عن master) باستخدام::
git format-patch master --stdout > my_first_ooniprobe.patch
على الأنظمة القائمة على Debian، يمكن إعداد بيئة التطوير على النحو التالي: (المتطلبات الأساسية تشمل build essentials، python-dev، وtor؛ لـ tor انظر https://www.torproject.org/docs/debian.html.en)::
sudo apt-get install python-pip python-virtualenv virtualenv
sudo apt-get install libgeoip-dev libffi-dev libdumbnet-dev libssl-dev libpcap-dev
git clone https://github.com/TheTorProject/ooni-probe
cd ooni-probe
virtualenv venv
virtualenv venv سينشئ مجلداً في الدليل الحالي سيحتوي على ملفات Python القابلة للتنفيذ، ونسخة من مكتبة pip التي يمكنك استخدامها لتثبيت حزم أخرى. لبدء استخدام البيئة الافتراضية، يجب تفعيلها::
source venv/bin/activate
pip install -r requirements.txt
pip install -r requirements-dev.txt
python setup.py install
ثم يمكنك التحقق من نجاح التثبيت باستخدام::
ooniprobe -s
سيشرح لك هذا مخاطر تشغيل ooniprobe ويتأكد من فهمك لها، ثم يعرض لك الاختبارات المتاحة.
لتشغيل وكيل ooniprobe، بدلاً من ذلك، اكتب::
ooniprobe-agent run
لتنفيذ اختبارات الوحدة لـ ooniprobe، اكتب::
coverage run $(which trial) ooni