
Die veraltete Python-Version von OONI Probe
⚠️⚠️⚠️⚠️: Dieses Repository enthält den Quellcode der Legacy-Implementierung von ooniprobe. Bitte schauen Sie stattdessen hier:
https://github.com/ooni/probe, das Meta-Repository, in dem Sie Issues und Feature-Anfragen eröffnen sollten;
https://github.com/ooni/probe-cli, das die neue Implementierung von ooniprobe als Kommandozeilen-Client in Go enthält;
https://github.com/ooni/probe-desktop, das die Desktop-Anwendung von ooniprobe enthält, geschrieben in JavaScript und Electron.
Vielen Dank für Ihr Interesse an OONI!
Der Rest dieser Datei enthält die originale README.rst für die Legacy-Implementierung:
.. 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, das Open Observatory of Network Interference, ist ein globales Beobachtungsnetzwerk, dessen Ziel es ist, qualitativ hochwertige Daten mit offenen Methoden zu sammeln. Dabei kommt Freie und Open-Source-Software (FL/OSS) zum Einsatz, um Beobachtungen und Daten über die verschiedenen Arten, Methoden und das Ausmaß von Netzwerkmanipulationen in der Welt zu teilen.
„Das Netz interpretiert Zensur als Schaden und leitet sie um."
– John Gilmore; TIME magazine (6. Dezember 1993)
ooniprobe ist das erste Programm, das Benutzer ausführen, um ihr Netzwerk zu untersuchen und Daten für das OONI-Projekt zu sammeln. Sind Sie daran interessiert, Ihr Netzwerk auf Anzeichen von Überwachung und Zensur zu testen? Möchten Sie Daten sammeln, um sie mit anderen zu teilen, damit Sie und andere Ihr Netzwerk besser verstehen können? Wenn ja, lesen Sie dieses Dokument, und wir hoffen, dass ooniprobe Ihnen hilft, Netzwerkdaten zu sammeln, die Ihre Bemühungen unterstützen!
Die Ausführung von ooniprobe ist eine potenziell riskante Aktivität. Dies hängt stark von der Gerichtsbarkeit ab, in der Sie sich befinden, und davon, welchen Test Sie ausführen. Es ist technisch möglich, dass eine Person, die Ihre Internetverbindung beobachtet, erkennt, dass Sie ooniprobe ausführen. Das bedeutet, wenn die Durchführung von Netzwerkmessungstests in Ihrem Land als illegal gilt, könnten Sie entdeckt werden.
Darüber hinaus ergreift ooniprobe keine Vorkehrungen, um den Zielcomputer vor forensischen Analysen zu schützen. Falls die Tatsache, dass Sie ooniprobe installiert oder verwendet haben, für Sie ein Risiko darstellt, seien Sie sich dieses Risikos bewusst.
Die neueste Version von ooniprobe für Debian- und Ubuntu-Versionen finden Sie im Paket-Repository deb.torproject.org.
Unter 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
Unter 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
Unter 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
Unter Ubuntu 16.10 (yakkety), 16.04 (xenial) oder 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
Hinweis: Sie müssen $RELEASE durch yakkety, xenial oder trusty ersetzen. Dies geschieht nicht automatisch. Sie müssen außerdem sicherstellen, dass das Repository universe aktiviert ist. Das Repository universe ist in einer Standard-Ubuntu-Installation standardmäßig aktiviert, bei einigen minimalen oder nicht standardmäßigen Installationen jedoch möglicherweise nicht.
Sie können ooniprobe auf macOS installieren, wenn Sie homebrew (http://brew.sh/) installiert haben, mit::
brew install ooniprobe
Stellen Sie sicher, dass Sie die folgenden Abhängigkeiten installiert haben:
Optionale Abhängigkeiten:
Auf Debian-basierten Systemen kann dies in der Regel durch die Ausführung von::
sudo apt-get install -y build-essential libdumbnet-dev libpcap-dev libgeoip-dev libffi-dev python-dev python-pip tor libssl-dev obfs4proxy
erledigt werden.
Dann sollten Sie ooniprobe durch die Ausführung von::
sudo pip install ooniprobe
installieren können, oder ooniprobe als Benutzer installieren::
pip install ooniprobe
Net test ist eine Reihe von Messungen, um zu beurteilen, welche Art von Internetzensur stattfindet.
Decks sind Sammlungen von ooniprobe-Nettests mit zugehörigen Eingaben.
Collector ist ein Dienst, der verwendet wird, um die Ergebnisse von Messungen zu melden.
Test helper ist ein Dienst, der von einer Sonde zur erfolgreichen Durchführung ihrer Messungen verwendet wird.
Bouncer ist ein Dienst, der verwendet wird, um die Adressen von Test-Helfern und Collectoren zu ermitteln.
Nach erfolgreicher Installation von ooniprobe sollten Sie auf der Host-Maschine unter http://localhost:8842/ auf die Weboberfläche zugreifen können, nachdem Sie:: ooniprobe -w ausgeführt oder den Daemon gestartet haben.
Ihnen sollte nun der Einrichtungsassistent der Weboberfläche angezeigt werden, in dem Sie die mit der Ausführung von ooniprobe verbundenen Risiken lesen können. Nachdem Sie das Quiz richtig beantwortet haben, können Sie ooniprobe-Tests aktivieren oder deaktivieren, festlegen, wie Sie sich mit dem Messungs-Collector verbinden, und schließlich Ihre Datenschutzeinstellungen konfigurieren.
Standardmäßig enthält ooniprobe keine persönlich identifizierenden Informationen in den Testergebnissen und erstellt keine pcap-Datei. Dieses Verhalten kann angepasst werden.
Ab ooniprobe Version 2.0.0 sind keine Cronjobs mehr erforderlich, da ooniprobe-agent für die Aufgabenplanung zuständig ist.
Sie können sicherstellen, dass ooniprobe-agent immer läuft, indem Sie die systemd-Unit ooniprobe.service installieren und aktivieren::
wget https://raw.githubusercontent.com/TheTorProject/ooni-probe/master/scripts/systemd/ooniprobe.service --directory-prefix=/etc/systemd/system
systemctl enable ooniprobe
systemctl start ooniprobe
Sie sollten eine ähnliche Ausgabe sehen können, wenn der ooniprobe (systemd) Dienst aktiv ist und geladen wird, indem Sie systemctl status ooniprobe ausführen::
● ooniprobe.service - ooniprobe.service, network interference detection tool
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
Wenn Ihre Distribution Capabilities unterstützt, können Sie vermeiden, OONI als root ausführen zu müssen::
setcap cap_net_admin,cap_net_raw+eip /path/to/your/virtualenv's/python2
Sie können Fehler und Probleme, die Sie mit ooni-probe finden, im Issue-Tracker von The Tor Project unter der Komponente "Ooni" melden: https://trac.torproject.org/projects/tor/newticket?component=Ooni.
Sie können entweder ein Konto registrieren oder das Gruppenkonto "cypherpunks" mit dem Passwort "writecode" verwenden.
Sie können den Code für ooniprobe aus dem folgenden Git-Repository herunterladen::
git clone https://github.com/TheTorProject/ooni-probe.git
Sie sollten dann Patches zur Überprüfung als Pull-Requests an dieses GitHub-Repository senden:
https://github.com/TheTorProject/ooni-probe
Lesen Sie diesen Artikel, um zu erfahren, wie Sie einen Pull-Request auf GitHub erstellen (https://help.github.com/articles/creating-a-pull-request).
Wenn Sie GitHub nicht verwenden möchten (oder kein Konto haben), können Sie Patches auch als Anhänge an Tickets senden.
Achten Sie darauf, den Patch zu formatieren (vorausgesetzt, Sie arbeiten an einem Feature-Branch, der sich von master unterscheidet) mit::
git format-patch master --stdout > my_first_ooniprobe.patch
Auf Debian-basierten Systemen kann eine Entwicklungsumgebung wie folgt eingerichtet werden: (Voraussetzungen sind build-essential, python-dev und tor; für tor siehe 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 erstellt einen Ordner im aktuellen Verzeichnis, der die ausführbaren Python-Dateien und eine Kopie der pip-Bibliothek enthält, mit der Sie andere Pakete installieren können. Um die virtuelle Umgebung zu nutzen, muss sie aktiviert werden::
source venv/bin/activate
pip install -r requirements.txt
pip install -r requirements-dev.txt
python setup.py install
Dann können Sie mit::
ooniprobe -s
überprüfen, ob die Installation erfolgreich war.
Dies erklärt Ihnen die Risiken der Ausführung von ooniprobe und stellt sicher, dass Sie sie verstanden haben. Anschließend werden Ihnen die verfügbaren Tests angezeigt.
Um den ooniprobe-Agenten auszuführen, geben Sie stattdessen::
ooniprobe-agent run
ein.
Um die Unit-Tests für ooniprobe auszuführen, geben Sie::
coverage run $(which trial) ooni
ein.