
Кроссплатформенное настольное приложение на Electron для запуска тестов сетевых измерений OONI Probe, которые выявляют интернет-цензуру, манипуляции с трафиком и другие виды сетевого вмешательства.
OONI Probe — это бесплатное программное обеспечение с открытым исходным кодом, предназначенное для измерения интернет-цензуры и других форм сетевого вмешательства.
Нажмите здесь, чтобы сообщить об ошибке
Другие поддерживаемые платформы: iOS, Desktop, CLI
Это десктопная реализация OONI Probe.
Наши две основные целевые платформы:
Кроме того, поскольку приложение написано на electron, мы планируем также поддерживать пользователей Linux-десктопов.
Некоторую информацию о причинах выбора electron и использованных нами библиотек см. в статье: Writing a modern cross-platform desktop app.
Чтобы начать работу над этим проектом, мы предполагаем, что у вас установлены node и yarn.
Затем вы можете выполнить:
yarn install
Вам также потребуется скопировать скомпилированный бинарный файл probe-cli и tor
в каталог для платформы, на которой вы планируете вести разработку.
Чтобы проверить загруженные бинарные файлы tor, вам следует импортировать PGP-ключ разработчиков tor следующим образом (его можно проверить по адресу: 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.csvnode scripts/update-translations.jsdata/lang-en.csv, lang/*.json и renderer/static/translations.js
в gitПолучите сертификат разработчика и закрытый ключ для нашей команды (YWCG8FZTLT)
у другого разработчика OONI, у которого есть к ним доступ. Он должен убедиться, что экспортирует
не только сертификат, но и связанный с ним закрытый ключ. Вы должны получить
зашифрованный паролем файл .p12, содержащий и то, и другое. Просто дважды щёлкните по этому файлу и
введите пароль, чтобы импортировать сертификат и ключ в вашу связку ключей. После этого
удалите файл .p12 с помощью rm -P.
Создайте файл .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.
Затем выполните:
yarn install
yarn pack:mac
Это создаст ./dist/OONI Probe-$VERSION.dmg.
Вам понадобится копия ключа подписи кода для Windows, заканчивающаяся на .p12.
Чтобы создать подписанную сборку, вам нужно будет задать переменные окружения:
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 получат ошибку при запуске приложения, поскольку система автообновления попытается получить метаданные, связанные с этим тегом.