├── .gitignore ├── .goreleaser.yml ├── .travis.yml ├── ChangeLog.md ├── Dockerfile ├── LICENSE ├── Makefile ├── README.md ├── bin └── .gitignore ├── common ├── bindata.go ├── cmd │ └── version.go ├── const.go ├── data │ └── migrations │ │ ├── 1_accounts_create.sql │ │ ├── 1_active_probes_create.sql │ │ ├── 1_jobs_create.sql │ │ ├── 1_probe_updates_create.sql │ │ ├── 1_tasks_create.sql │ │ ├── 2_add_jobs_state.sql │ │ ├── 2_add_language_column.sql │ │ ├── 3_add_job_type_tables.sql │ │ ├── 4_rendezvous_tables.sql │ │ └── 5_token_expiry.sql ├── middleware │ ├── auth_jwt.go │ ├── cors_config.go │ └── database.go ├── orchestra_info.go └── utils.go ├── docs └── orchestrate-swagger.yml ├── frontend ├── .babelrc ├── .editorconfig ├── .env ├── .gitignore ├── Dockerfile ├── components │ ├── layout.js │ ├── meta.js │ ├── session.js │ └── ui │ │ └── schedule.js ├── docker-cmd.sh ├── index.js ├── next.config.js ├── package.json ├── pages │ ├── admin │ │ ├── clients.js │ │ ├── jobs │ │ │ ├── add_alert.js │ │ │ ├── add_task.js │ │ │ └── index.js │ │ └── login.js │ └── index.js ├── static │ ├── category-codes.json │ ├── countries-alpha2.json │ ├── proteus-white.png │ ├── theme.css │ ├── theme.js │ └── vendor │ │ ├── material-icons │ │ └── react-select.css └── yarn.lock ├── go.mod ├── go.sum ├── orchestrate ├── .gitignore ├── cmd │ ├── notify.go │ ├── root.go │ └── start.go ├── data │ └── templates │ │ └── home.tmpl ├── main.go ├── ooni-orchestrate.toml.example ├── orchestrate │ ├── api │ │ └── v1 │ │ │ └── api.go │ ├── bindata.go │ ├── handler │ │ ├── admin.go │ │ ├── const.go │ │ ├── rendezvous.go │ │ ├── rendezvous_test.go │ │ ├── task.go │ │ ├── test_lists.go │ │ └── test_lists_test.go │ ├── info.go │ ├── keystore │ │ └── keystore.go │ ├── orchestrate.go │ └── sched │ │ ├── middleware.go │ │ ├── scheduler.go │ │ ├── utils.go │ │ └── utils_test.go └── tor-config.json.example ├── registry ├── .gitignore ├── cmd │ ├── root.go │ └── start.go ├── data │ └── templates │ │ └── home.tmpl ├── main.go ├── ooni-registry.toml.example └── registry │ ├── api │ └── v1 │ │ └── api.go │ ├── bindata.go │ ├── handler │ ├── admin.go │ ├── registry.go │ └── registry_test.go │ ├── info.go │ └── registry.go ├── scripts ├── Dockerfile ├── sync-test-lists.py └── test_sync_test_lists.py └── test └── integration ├── integration.go └── orchestra_test.go /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | dist/ 3 | coverage*.txt 4 | private/ 5 | .GITHUB_TOKEN 6 | /vendor 7 | *.pyc 8 | -------------------------------------------------------------------------------- /.goreleaser.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/.goreleaser.yml -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/.travis.yml -------------------------------------------------------------------------------- /ChangeLog.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/ChangeLog.md -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/README.md -------------------------------------------------------------------------------- /bin/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitinore 3 | -------------------------------------------------------------------------------- /common/bindata.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/common/bindata.go -------------------------------------------------------------------------------- /common/cmd/version.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/common/cmd/version.go -------------------------------------------------------------------------------- /common/const.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/common/const.go -------------------------------------------------------------------------------- /common/data/migrations/1_accounts_create.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/common/data/migrations/1_accounts_create.sql -------------------------------------------------------------------------------- /common/data/migrations/1_active_probes_create.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/common/data/migrations/1_active_probes_create.sql -------------------------------------------------------------------------------- /common/data/migrations/1_jobs_create.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/common/data/migrations/1_jobs_create.sql -------------------------------------------------------------------------------- /common/data/migrations/1_probe_updates_create.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/common/data/migrations/1_probe_updates_create.sql -------------------------------------------------------------------------------- /common/data/migrations/1_tasks_create.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/common/data/migrations/1_tasks_create.sql -------------------------------------------------------------------------------- /common/data/migrations/2_add_jobs_state.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/common/data/migrations/2_add_jobs_state.sql -------------------------------------------------------------------------------- /common/data/migrations/2_add_language_column.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/common/data/migrations/2_add_language_column.sql -------------------------------------------------------------------------------- /common/data/migrations/3_add_job_type_tables.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/common/data/migrations/3_add_job_type_tables.sql -------------------------------------------------------------------------------- /common/data/migrations/4_rendezvous_tables.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/common/data/migrations/4_rendezvous_tables.sql -------------------------------------------------------------------------------- /common/data/migrations/5_token_expiry.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/common/data/migrations/5_token_expiry.sql -------------------------------------------------------------------------------- /common/middleware/auth_jwt.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/common/middleware/auth_jwt.go -------------------------------------------------------------------------------- /common/middleware/cors_config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/common/middleware/cors_config.go -------------------------------------------------------------------------------- /common/middleware/database.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/common/middleware/database.go -------------------------------------------------------------------------------- /common/orchestra_info.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/common/orchestra_info.go -------------------------------------------------------------------------------- /common/utils.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/common/utils.go -------------------------------------------------------------------------------- /docs/orchestrate-swagger.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/docs/orchestrate-swagger.yml -------------------------------------------------------------------------------- /frontend/.babelrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/frontend/.babelrc -------------------------------------------------------------------------------- /frontend/.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/frontend/.editorconfig -------------------------------------------------------------------------------- /frontend/.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/frontend/.env -------------------------------------------------------------------------------- /frontend/.gitignore: -------------------------------------------------------------------------------- 1 | .next/ 2 | .idea/ 3 | node_modules/ 4 | wip/ 5 | npm-debug.log 6 | -------------------------------------------------------------------------------- /frontend/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/frontend/Dockerfile -------------------------------------------------------------------------------- /frontend/components/layout.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/frontend/components/layout.js -------------------------------------------------------------------------------- /frontend/components/meta.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/frontend/components/meta.js -------------------------------------------------------------------------------- /frontend/components/session.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/frontend/components/session.js -------------------------------------------------------------------------------- /frontend/components/ui/schedule.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/frontend/components/ui/schedule.js -------------------------------------------------------------------------------- /frontend/docker-cmd.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/frontend/docker-cmd.sh -------------------------------------------------------------------------------- /frontend/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/frontend/index.js -------------------------------------------------------------------------------- /frontend/next.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/frontend/next.config.js -------------------------------------------------------------------------------- /frontend/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/frontend/package.json -------------------------------------------------------------------------------- /frontend/pages/admin/clients.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/frontend/pages/admin/clients.js -------------------------------------------------------------------------------- /frontend/pages/admin/jobs/add_alert.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/frontend/pages/admin/jobs/add_alert.js -------------------------------------------------------------------------------- /frontend/pages/admin/jobs/add_task.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/frontend/pages/admin/jobs/add_task.js -------------------------------------------------------------------------------- /frontend/pages/admin/jobs/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/frontend/pages/admin/jobs/index.js -------------------------------------------------------------------------------- /frontend/pages/admin/login.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/frontend/pages/admin/login.js -------------------------------------------------------------------------------- /frontend/pages/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/frontend/pages/index.js -------------------------------------------------------------------------------- /frontend/static/category-codes.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/frontend/static/category-codes.json -------------------------------------------------------------------------------- /frontend/static/countries-alpha2.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/frontend/static/countries-alpha2.json -------------------------------------------------------------------------------- /frontend/static/proteus-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/frontend/static/proteus-white.png -------------------------------------------------------------------------------- /frontend/static/theme.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/frontend/static/theme.css -------------------------------------------------------------------------------- /frontend/static/theme.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/frontend/static/theme.js -------------------------------------------------------------------------------- /frontend/static/vendor/material-icons: -------------------------------------------------------------------------------- 1 | ../../node_modules/material-design-icons-iconfont/dist -------------------------------------------------------------------------------- /frontend/static/vendor/react-select.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/frontend/static/vendor/react-select.css -------------------------------------------------------------------------------- /frontend/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/frontend/yarn.lock -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/go.sum -------------------------------------------------------------------------------- /orchestrate/.gitignore: -------------------------------------------------------------------------------- 1 | proteus-registry.toml 2 | -------------------------------------------------------------------------------- /orchestrate/cmd/notify.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/orchestrate/cmd/notify.go -------------------------------------------------------------------------------- /orchestrate/cmd/root.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/orchestrate/cmd/root.go -------------------------------------------------------------------------------- /orchestrate/cmd/start.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/orchestrate/cmd/start.go -------------------------------------------------------------------------------- /orchestrate/data/templates/home.tmpl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/orchestrate/data/templates/home.tmpl -------------------------------------------------------------------------------- /orchestrate/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/orchestrate/main.go -------------------------------------------------------------------------------- /orchestrate/ooni-orchestrate.toml.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/orchestrate/ooni-orchestrate.toml.example -------------------------------------------------------------------------------- /orchestrate/orchestrate/api/v1/api.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/orchestrate/orchestrate/api/v1/api.go -------------------------------------------------------------------------------- /orchestrate/orchestrate/bindata.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/orchestrate/orchestrate/bindata.go -------------------------------------------------------------------------------- /orchestrate/orchestrate/handler/admin.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/orchestrate/orchestrate/handler/admin.go -------------------------------------------------------------------------------- /orchestrate/orchestrate/handler/const.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/orchestrate/orchestrate/handler/const.go -------------------------------------------------------------------------------- /orchestrate/orchestrate/handler/rendezvous.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/orchestrate/orchestrate/handler/rendezvous.go -------------------------------------------------------------------------------- /orchestrate/orchestrate/handler/rendezvous_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/orchestrate/orchestrate/handler/rendezvous_test.go -------------------------------------------------------------------------------- /orchestrate/orchestrate/handler/task.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/orchestrate/orchestrate/handler/task.go -------------------------------------------------------------------------------- /orchestrate/orchestrate/handler/test_lists.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/orchestrate/orchestrate/handler/test_lists.go -------------------------------------------------------------------------------- /orchestrate/orchestrate/handler/test_lists_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/orchestrate/orchestrate/handler/test_lists_test.go -------------------------------------------------------------------------------- /orchestrate/orchestrate/info.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/orchestrate/orchestrate/info.go -------------------------------------------------------------------------------- /orchestrate/orchestrate/keystore/keystore.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/orchestrate/orchestrate/keystore/keystore.go -------------------------------------------------------------------------------- /orchestrate/orchestrate/orchestrate.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/orchestrate/orchestrate/orchestrate.go -------------------------------------------------------------------------------- /orchestrate/orchestrate/sched/middleware.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/orchestrate/orchestrate/sched/middleware.go -------------------------------------------------------------------------------- /orchestrate/orchestrate/sched/scheduler.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/orchestrate/orchestrate/sched/scheduler.go -------------------------------------------------------------------------------- /orchestrate/orchestrate/sched/utils.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/orchestrate/orchestrate/sched/utils.go -------------------------------------------------------------------------------- /orchestrate/orchestrate/sched/utils_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/orchestrate/orchestrate/sched/utils_test.go -------------------------------------------------------------------------------- /orchestrate/tor-config.json.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/orchestrate/tor-config.json.example -------------------------------------------------------------------------------- /registry/.gitignore: -------------------------------------------------------------------------------- 1 | proteus-registry.toml 2 | -------------------------------------------------------------------------------- /registry/cmd/root.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/registry/cmd/root.go -------------------------------------------------------------------------------- /registry/cmd/start.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/registry/cmd/start.go -------------------------------------------------------------------------------- /registry/data/templates/home.tmpl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/registry/data/templates/home.tmpl -------------------------------------------------------------------------------- /registry/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/registry/main.go -------------------------------------------------------------------------------- /registry/ooni-registry.toml.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/registry/ooni-registry.toml.example -------------------------------------------------------------------------------- /registry/registry/api/v1/api.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/registry/registry/api/v1/api.go -------------------------------------------------------------------------------- /registry/registry/bindata.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/registry/registry/bindata.go -------------------------------------------------------------------------------- /registry/registry/handler/admin.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/registry/registry/handler/admin.go -------------------------------------------------------------------------------- /registry/registry/handler/registry.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/registry/registry/handler/registry.go -------------------------------------------------------------------------------- /registry/registry/handler/registry_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/registry/registry/handler/registry_test.go -------------------------------------------------------------------------------- /registry/registry/info.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/registry/registry/info.go -------------------------------------------------------------------------------- /registry/registry/registry.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/registry/registry/registry.go -------------------------------------------------------------------------------- /scripts/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/scripts/Dockerfile -------------------------------------------------------------------------------- /scripts/sync-test-lists.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/scripts/sync-test-lists.py -------------------------------------------------------------------------------- /scripts/test_sync_test_lists.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/scripts/test_sync_test_lists.py -------------------------------------------------------------------------------- /test/integration/integration.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/test/integration/integration.go -------------------------------------------------------------------------------- /test/integration/orchestra_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ooni/orchestra/HEAD/test/integration/orchestra_test.go --------------------------------------------------------------------------------