
La versión heredada en Python de OONI Probe
⚠️⚠️⚠️⚠️: este repositorio contiene el código fuente de la implementación heredada de ooniprobe. Consulte en su lugar:
https://github.com/ooni/probe, el meta-repositorio donde debería abrir incidencias y solicitudes de funcionalidades;
https://github.com/ooni/probe-cli, que contiene la nueva implementación de ooniprobe como cliente de línea de comandos escrito en Go;
https://github.com/ooni/probe-desktop, que contiene la aplicación de escritorio de ooniprobe, escrita en JavaScript y Electron.
¡Gracias por su interés en OONI!
El resto de este archivo contiene el README.rst original de la implementación heredada:
.. 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, el Observatorio Abierto de Interferencias de Red, es una red de observación global cuyo objetivo es recopilar datos de alta calidad utilizando metodologías abiertas, usando Software Libre y de Código Abierto (FL/OSS) para compartir observaciones y datos sobre los diversos tipos, métodos y cantidades de manipulación de red en el mundo.
"La Internet interpreta la censura como daño y la sortea."
- John Gilmore; revista TIME (6 de diciembre de 1993)
ooniprobe es el primer programa que los usuarios ejecutan para sondear su red y recopilar datos para el proyecto OONI. ¿Está interesado en probar su red en busca de signos de vigilancia y censura? ¿Desea recopilar datos para compartir con otros, para que usted y otros puedan comprender mejor su red? Si es así, lea este documento y esperamos que ooniprobe le ayude a recopilar datos de red que le serán de utilidad en sus esfuerzos.
Ejecutar ooniprobe es una actividad potencialmente riesgosa. Esto depende en gran medida de la jurisdicción en la que se encuentre y de la prueba que esté ejecutando. Técnicamente, es posible que una persona que observe su conexión a Internet sepa que está ejecutando ooniprobe. Esto significa que si ejecutar pruebas de medición de red se considera algo ilegal en su país, podría ser detectado.
Además, ooniprobe no toma precauciones para proteger la máquina de destino de la instalación de análisis forenses. Si el hecho de haber instalado o utilizado ooniprobe es un riesgo para usted, tenga en cuenta este peligro.
La versión más reciente de ooniprobe para las versiones de Debian y Ubuntu se puede encontrar en el repositorio de paquetes deb.torproject.org.
En Debian estable (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
En 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
En Debian inestable::
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
En Ubuntu 16.10 (yakkety), 16.04 (xenial) o 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
Nota: Deberá reemplazar $RELEASE por yakkety, xenial o
trusty. Esto no ocurrirá automáticamente. También deberá asegurarse
de tener habilitado el repositorio universe. El repositorio universe
está habilitado por defecto en una instalación estándar de Ubuntu, pero puede que no lo esté en algunas instalaciones mínimas o no estándar.
Puede instalar ooniprobe en macOS si tiene instalado homebrew (http://brew.sh/) con::
brew install ooniprobe
Asegúrese de tener instaladas las siguientes dependencias:
Dependencias opcionales:
En sistemas basados en Debian, esto generalmente se puede hacer ejecutando::
sudo apt-get install -y build-essential libdumbnet-dev libpcap-dev libgeoip-dev libffi-dev python-dev python-pip tor libssl-dev obfs4proxy
Luego debería poder instalar ooniprobe ejecutando::
sudo pip install ooniprobe
o instalar ooniprobe como usuario::
pip install ooniprobe
Net test es un conjunto de mediciones para evaluar qué tipo de censura de Internet está ocurriendo.
Decks son colecciones de pruebas de red de ooniprobe con algunas entradas asociadas.
Collector es un servicio utilizado para informar los resultados de las mediciones.
Test helper es un servicio utilizado por una sonda para realizar correctamente sus mediciones.
Bouncer es un servicio utilizado para descubrir las direcciones de los test helpers y collectors.
Después de instalar ooniprobe correctamente, debería poder acceder a la interfaz web en su máquina local en http://localhost:8842/ después de ejecutar:: ooniprobe -w o iniciar el daemon.
Ahora debería ver el asistente de configuración de la interfaz web donde puede leer los riesgos asociados con la ejecución de ooniprobe. Al responder correctamente el cuestionario, puede habilitar o deshabilitar las pruebas de ooniprobe, establecer cómo conectarse al collector de mediciones y finalmente configurar sus ajustes de privacidad.
Por defecto, ooniprobe no incluirá información de identificación personal en los resultados de las pruebas, ni creará un archivo pcap. Este comportamiento se puede personalizar.
A partir de la versión 2.0.0 de ooniprobe, no es necesario usar cronjobs, ya que ooniprobe-agent es responsable de la programación de tareas.
Puede asegurarse de que ooniprobe-agent se ejecute siempre instalando y habilitando
la unidad de 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
Debería poder ver una salida similar si el servicio ooniprobe (systemd) está
activo y cargado ejecutando systemctl status ooniprobe::
● ooniprobe.service - ooniprobe.service, herramienta de detección de interferencias de red
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
Si su distribución admite capacidades, puede evitar tener que ejecutar OONI como root::
setcap cap_net_admin,cap_net_raw+eip /path/to/your/virtualenv's/python2
Puede reportar errores y problemas que encuentre con ooni-probe en el rastreador de incidencias de The Tor Project, clasificándolos bajo el componente "Ooni": https://trac.torproject.org/projects/tor/newticket?component=Ooni.
Puede registrarse con una cuenta o usar la cuenta grupal "cypherpunks" con contraseña "writecode".
Puede descargar el código de ooniprobe desde el siguiente repositorio git::
git clone https://github.com/TheTorProject/ooni-probe.git
Luego, debe enviar parches para revisión como pull requests a este repositorio de github:
https://github.com/TheTorProject/ooni-probe
Lea este artículo para aprender cómo crear un pull request en github (https://help.github.com/articles/creating-a-pull-request).
Si prefiere no usar github (o no tiene una cuenta), también puede enviar parches como archivos adjuntos a tickets.
Asegúrese de formatear el parche (dado que está trabajando en una rama de funcionalidad diferente de master) con::
git format-patch master --stdout > my_first_ooniprobe.patch
En sistemas basados en Debian, se puede configurar un entorno de desarrollo de la siguiente manera: (los requisitos previos incluyen build-essential, python-dev y tor; para tor consulte 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 creará una carpeta en el directorio actual que
contendrá los archivos ejecutables de Python y una copia de la biblioteca pip que puede usar
para instalar otros paquetes. Para comenzar a usar el entorno virtual, debe
activarse::
source venv/bin/activate
pip install -r requirements.txt
pip install -r requirements-dev.txt
python setup.py install
Luego, puede verificar si la instalación fue exitosa con::
ooniprobe -s
Esto le explicará los riesgos de ejecutar ooniprobe y se asegurará de que los haya comprendido; luego le mostrará las pruebas disponibles.
Para ejecutar el agente de ooniprobe, en su lugar, escriba::
ooniprobe-agent run
Para ejecutar las pruebas unitarias de ooniprobe, escriba::
coverage run $(which trial) ooni