
인터넷 검열, 트래픽 조작 및 기타 네트워크 간섭을 탐지하는 OONI Probe 네트워크 측정 테스트를 실행하기 위한 크로스 플랫폼 Electron 데스크톱 앱입니다.
OONI Probe는 인터넷 검열 및 기타 형태의 네트워크 간섭을 측정하기 위해 설계된 무료 오픈 소스 소프트웨어입니다.
이것은 OONI Probe의 데스크톱 구현입니다.
우리의 두 가지 주요 대상 플랫폼은 다음과 같습니다:
또한 electron으로 작성되었기 때문에 Linux 데스크톱 사용자도 지원할 계획입니다.
electron을 사용하기로 한 결정과 선택한 라이브러리에 대한 배경 정보는 다음을 참조하세요: 현대적인 크로스 플랫폼 데스크톱 앱 작성하기.
이 작업을 시작하려면 node와 yarn이 설치되어 있다고 가정합니다.
그런 다음 다음을 실행할 수 있습니다:
yarn install
개발하려는 플랫폼의 디렉터리에 probe-cli와 tor의 컴파일된 바이너리를 복사해 두어야 합니다.
다운로드한 tor 바이너리를 검증하려면 다음과 같이 tor 개발자의 PGP 키를 가져와야 합니다 (다음에서 검증할 수 있습니다: https://support.torproject.org/tbb/how-to-verify-signature/):
gpg --recv-keys EF6E286DDA85EA2A4BA7DE684E2C6E8793298290
그런 다음 다음을 실행하여 에셋을 다운로드할 수 있습니다:
yarn run download:probe-cli
yarn run download:tor
개발 모드 Electron 인스턴스를 빌드하고 실행하려면 다음을 실행하세요:
yarn run start
data/lang-en.csv에 저장합니다node scripts/update-translations.js를 실행합니다data/lang-en.csv, lang/*.json 및 renderer/static/translations.js를
git에 커밋합니다접근 권한이 있는 다른 OONI 개발자로부터 우리 팀(YWCG8FZTLT)의 개발 인증서와
개인 키를 받습니다. 해당 개발자는 인증서뿐만 아니라 관련 개인 키도 내보내야 합니다.
두 가지가 모두 포함된 비밀번호로 암호화된 .p12 파일을 받게 됩니다. 이 파일을
더블 클릭하고 비밀번호를 입력하여 인증서와 키를 키링으로 가져옵니다. 그런 다음
rm -P를 사용하여 .p12 파일을 폐기합니다.
루트 디렉터리에 다음 내용으로 .env 파일을 생성합니다:
GH_TOKEN=TOKEN
[email protected]
OONI_APPLEIDPASS=XXXX
OONI_TEAMID=YWCG8FZTLT
여기서 TOKEN은 저장소 범위를 가진 개인 GitHub 토큰이고, [email protected]는 우리 팀의 일원으로 사용 중인 Apple ID이며, XXXX는 appleid.apple.com을 방문하여 [email protected]로 로그인해 생성한 앱 전용 비밀번호이고, YWCG8FZTLT는 OONI가 사용하는 팀 ID입니다.
그런 다음, 다음을 실행하세요:
yarn install
yarn pack:mac
이렇게 하면 ./dist/OONI Probe-$VERSION.dmg가 빌드됩니다.
.p12로 끝나는 Windows용 코드 서명 키 사본이 필요합니다.
서명된 빌드를 생성하려면 다음 환경 변수를 설정해야 합니다:
WIN_CSC_LINK=/path/to/key.p12
WIN_CSC_KEY_PASSWORD=KEY_PASSWORD
그런 다음 다음을 실행할 수 있습니다:
yarn install
yarn run pack:win
다음을 실행하세요:
yarn install
yarn run publish:mac
yarn run publish:win
중요한 주의사항: yarn run publish 명령이 성공적으로 실행된 이후에만 다가오는 릴리스의 태그를 푸시해야 합니다. 그 전에 푸시하면 OONI Probe Desktop 앱 사용자가 앱을 시작할 때 오류가 발생하는데, 자동 업데이트 시스템이 해당 태그와 연결된 메타데이터를 가져오려고 시도하기 때문입니다.