
OONI Probe의 레거시 파이썬 버전
⚠️⚠️⚠️⚠️: 이 저장소에는 ooniprobe의 레거시 구현 소스 코드가 포함되어 있습니다. 대신 다음을 확인하세요:
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(Open Observatory of Network Interference)는 개방형 방법론을 사용하여 고품질 데이터를 수집하고, 자유/오픈 소스 소프트웨어(FL/OSS)를 사용하여 전 세계의 다양한 유형, 방법 및 양의 네트워크 변조에 대한 관찰 및 데이터를 공유하는 것을 목표로 하는 글로벌 관찰 네트워크입니다.
"네트워크는 검열을 손상으로 해석하고 이를 우회한다."
- 존 길모어; TIME 매거진 (1993년 12월 6일)
ooniprobe는 사용자가 네트워크를 검사하고 OONI 프로젝트를 위한 데이터를 수집하기 위해 실행하는 첫 번째 프로그램입니다. 감시 및 검열 징후가 있는지 네트워크를 테스트하는 데 관심이 있으신가요? 다른 사람들과 공유할 데이터를 수집하여 자신과 다른 사람들이 네트워크를 더 잘 이해할 수 있도록 하는 데 관심이 있으신가요? 그렇다면 이 문서를 읽어보시기 바랍니다. ooniprobe가 귀하의 노력에 도움이 되는 네트워크 데이터를 수집하는 데 도움이 되길 바랍니다!
ooniprobe를 실행하는 것은 잠재적으로 위험한 활동입니다. 이는 귀하가 위치한 관할권과 실행 중인 테스트에 따라 크게 달라집니다. 귀하의 인터넷 연결을 관찰하는 사람이 귀하가 ooniprobe를 실행하고 있다는 사실을 알 수 있는 기술적 가능성이 있습니다. 이는 귀하의 국가에서 네트워크 측정 테스트를 실행하는 것이 불법으로 간주되는 경우 발각될 수 있음을 의미합니다.
또한 ooniprobe는 설치 대상 머신을 포렌식 분석으로부터 보호하기 위한 어떠한 예방 조치도 취하지 않습니다. ooni probe를 설치했거나 사용했다는 사실이 귀하에게 불리하게 작용할 수 있다면, 이 위험을 인지하시기 바랍니다.
Debian 및 Ubuntu 릴리즈용 최신 ooniprobe 버전은 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 설치에서 기본적으로 활성화되어 있지만 일부 최소 설치 또는 비표준 설치에서는 활성화되지 않을 수 있습니다.
homebrew (http://brew.sh/)를 설치한 macOS에서는 다음 명령으로 ooniprobe를 설치할 수 있습니다::
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
Net test는 어떤 종류의 인터넷 검열이 발생하는지 평가하기 위한 일련의 측정입니다.
Decks는 관련 입력이 포함된 ooniprobe nettests 모음입니다.
Collector는 측정 결과를 보고하는 데 사용되는 서비스입니다.
Test helper는 프로브가 측정을 성공적으로 수행하기 위해 사용하는 서비스입니다.
Bouncer는 테스트 헬퍼 및 수집기의 주소를 찾는 데 사용되는 서비스입니다.
ooniprobe를 성공적으로 설치한 후 다음을 실행하면 호스트 머신의 http://localhost:8842/에서 웹 UI에 접근할 수 있습니다::
ooniprobe -w
또는 데몬을 시작합니다.
이제 웹 UI 설정 마법사가 표시됩니다. 여기서 ooniprobe 실행과 관련된 위험을 읽을 수 있습니다. 퀴즈를 올바르게 풀면 ooniprobe 테스트를 활성화 또는 비활성화하고, 측정 수집기에 연결하는 방법을 설정하고, 마지막으로 개인정보 보호 설정을 구성할 수 있습니다.
기본적으로 ooniprobe는 테스트 결과에 개인 식별 정보를 포함하지 않으며 pcap 파일을 생성하지 않습니다. 이 동작은 사용자 지정할 수 있습니다.
ooniprobe 버전 2.0.0부터는 cronjob이 필요하지 않습니다. ooniprobe-agent가 작업 스케줄링을 담당합니다.
systemd 유닛 ooniprobe.service를 설치하고 활성화하여 ooniprobe-agent가 항상 실행되도록 할 수 있습니다::
wget https://raw.githubusercontent.com/TheTorProject/ooni-probe/master/scripts/systemd/ooniprobe.service --directory-prefix=/etc/systemd/system
systemctl enable ooniprobe
systemctl start ooniprobe
systemctl status ooniprobe를 실행했을 때 ooniprobe (systemd) 서비스가 활성화되어 로드되어 있으면 다음과 유사한 출력이 표시됩니다::
● 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
배포판이 capabilities를 지원한다면 OONI를 root로 실행할 필요가 없습니다::
setcap cap_net_admin,cap_net_raw+eip /path/to/your/virtualenv's/python2
ooni-probe에서 발견한 버그와 문제는 The Tor Project 이슈 트래커에서 "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