ostium-ctl 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ostium_ctl-0.1.0/.gitignore +58 -0
- ostium_ctl-0.1.0/AUDIT_REPORT.md +563 -0
- ostium_ctl-0.1.0/CHANGELOG.md +145 -0
- ostium_ctl-0.1.0/LICENSE +674 -0
- ostium_ctl-0.1.0/NOTICE +32 -0
- ostium_ctl-0.1.0/PKG-INFO +903 -0
- ostium_ctl-0.1.0/PLAN.md +1649 -0
- ostium_ctl-0.1.0/README.en.md +884 -0
- ostium_ctl-0.1.0/README.md +843 -0
- ostium_ctl-0.1.0/assets/brand/ostium-banner.svg +73 -0
- ostium_ctl-0.1.0/assets/brand/ostium-wordmark.svg +15 -0
- ostium_ctl-0.1.0/deploy/docker/docker-compose.yml +24 -0
- ostium_ctl-0.1.0/deploy/docker/entrypoint.sh +34 -0
- ostium_ctl-0.1.0/deploy/launchd/com.ostium.core.plist +34 -0
- ostium_ctl-0.1.0/deploy/launchd/com.ostium.ui.plist +38 -0
- ostium_ctl-0.1.0/deploy/launchd/com.ostium.ui.root.plist +38 -0
- ostium_ctl-0.1.0/deploy/launchd/install-macos.sh +229 -0
- ostium_ctl-0.1.0/deploy/nginx/ostium-ui.conf +73 -0
- ostium_ctl-0.1.0/deploy/pyinstaller/ostium-service.spec +33 -0
- ostium_ctl-0.1.0/deploy/pyinstaller/ostium.spec +39 -0
- ostium_ctl-0.1.0/deploy/pyinstaller/ostium_service.py +6 -0
- ostium_ctl-0.1.0/deploy/systemd/ostium-client-ui.service +26 -0
- ostium_ctl-0.1.0/deploy/systemd/ostium-core-client.service +37 -0
- ostium_ctl-0.1.0/deploy/systemd/ostium-core.service +37 -0
- ostium_ctl-0.1.0/deploy/systemd/ostium.service +39 -0
- ostium_ctl-0.1.0/deploy/systemd/user/ostium.service +22 -0
- ostium_ctl-0.1.0/deploy/windows/install.ps1 +126 -0
- ostium_ctl-0.1.0/deploy/windows/ostium.iss +36 -0
- ostium_ctl-0.1.0/deploy/windows/uninstall.ps1 +24 -0
- ostium_ctl-0.1.0/docs/adr/0001-typescript-6.md +19 -0
- ostium_ctl-0.1.0/docs/architecture.md +89 -0
- ostium_ctl-0.1.0/docs/design-system.md +60 -0
- ostium_ctl-0.1.0/docs/guides/acme.md +39 -0
- ostium_ctl-0.1.0/docs/guides/client.md +180 -0
- ostium_ctl-0.1.0/docs/guides/install.md +242 -0
- ostium_ctl-0.1.0/docs/guides/nginx.md +229 -0
- ostium_ctl-0.1.0/docs/guides/server.md +149 -0
- ostium_ctl-0.1.0/docs/guides/service-manager.md +276 -0
- ostium_ctl-0.1.0/docs/guides/subscription.md +31 -0
- ostium_ctl-0.1.0/docs/guides/tun.md +46 -0
- ostium_ctl-0.1.0/docs/guides/ui.md +37 -0
- ostium_ctl-0.1.0/docs/index.md +35 -0
- ostium_ctl-0.1.0/docs/operations/backup.md +50 -0
- ostium_ctl-0.1.0/docs/operations/troubleshooting.md +68 -0
- ostium_ctl-0.1.0/docs/operations/upgrade.md +73 -0
- ostium_ctl-0.1.0/docs/reference/api.md +36 -0
- ostium_ctl-0.1.0/docs/reference/cli.md +42 -0
- ostium_ctl-0.1.0/docs/reference/ports.md +38 -0
- ostium_ctl-0.1.0/docs/reference/profile.md +42 -0
- ostium_ctl-0.1.0/docs/security/threat-model.md +49 -0
- ostium_ctl-0.1.0/docs/ux.md +44 -0
- ostium_ctl-0.1.0/protos/v2ray_stats.proto +49 -0
- ostium_ctl-0.1.0/pyproject.toml +212 -0
- ostium_ctl-0.1.0/scripts/build-core-manifest.py +76 -0
- ostium_ctl-0.1.0/scripts/build-core.sh +81 -0
- ostium_ctl-0.1.0/scripts/build-macos.sh +34 -0
- ostium_ctl-0.1.0/scripts/build-windows.ps1 +60 -0
- ostium_ctl-0.1.0/scripts/coverage_gate.py +133 -0
- ostium_ctl-0.1.0/scripts/dev.sh +19 -0
- ostium_ctl-0.1.0/scripts/generate-icons.py +153 -0
- ostium_ctl-0.1.0/scripts/install-online.ps1 +170 -0
- ostium_ctl-0.1.0/scripts/install-online.sh +575 -0
- ostium_ctl-0.1.0/scripts/install.sh +597 -0
- ostium_ctl-0.1.0/scripts/soak-config.py +67 -0
- ostium_ctl-0.1.0/src/ostium/__init__.py +25 -0
- ostium_ctl-0.1.0/src/ostium/__main__.py +4 -0
- ostium_ctl-0.1.0/src/ostium/_version.py +24 -0
- ostium_ctl-0.1.0/src/ostium/acme/__init__.py +0 -0
- ostium_ctl-0.1.0/src/ostium/acme/client.py +202 -0
- ostium_ctl-0.1.0/src/ostium/api/__init__.py +0 -0
- ostium_ctl-0.1.0/src/ostium/api/app.py +529 -0
- ostium_ctl-0.1.0/src/ostium/api/deps.py +142 -0
- ostium_ctl-0.1.0/src/ostium/api/errors.py +45 -0
- ostium_ctl-0.1.0/src/ostium/api/ratelimit.py +30 -0
- ostium_ctl-0.1.0/src/ostium/api/routes_alerts.py +36 -0
- ostium_ctl-0.1.0/src/ostium/api/routes_audit.py +25 -0
- ostium_ctl-0.1.0/src/ostium/api/routes_auth.py +361 -0
- ostium_ctl-0.1.0/src/ostium/api/routes_backups.py +166 -0
- ostium_ctl-0.1.0/src/ostium/api/routes_certs.py +284 -0
- ostium_ctl-0.1.0/src/ostium/api/routes_events.py +65 -0
- ostium_ctl-0.1.0/src/ostium/api/routes_inbounds.py +254 -0
- ostium_ctl-0.1.0/src/ostium/api/routes_jobs.py +51 -0
- ostium_ctl-0.1.0/src/ostium/api/routes_logs.py +56 -0
- ostium_ctl-0.1.0/src/ostium/api/routes_profiles.py +281 -0
- ostium_ctl-0.1.0/src/ostium/api/routes_rules.py +316 -0
- ostium_ctl-0.1.0/src/ostium/api/routes_settings.py +319 -0
- ostium_ctl-0.1.0/src/ostium/api/routes_stats.py +172 -0
- ostium_ctl-0.1.0/src/ostium/api/routes_subscriptions.py +59 -0
- ostium_ctl-0.1.0/src/ostium/api/routes_system.py +516 -0
- ostium_ctl-0.1.0/src/ostium/api/routes_users.py +423 -0
- ostium_ctl-0.1.0/src/ostium/cli/__init__.py +0 -0
- ostium_ctl-0.1.0/src/ostium/cli/main.py +1399 -0
- ostium_ctl-0.1.0/src/ostium/config.py +381 -0
- ostium_ctl-0.1.0/src/ostium/core/__init__.py +0 -0
- ostium_ctl-0.1.0/src/ostium/core/app.py +231 -0
- ostium_ctl-0.1.0/src/ostium/db/__init__.py +0 -0
- ostium_ctl-0.1.0/src/ostium/db/base.py +34 -0
- ostium_ctl-0.1.0/src/ostium/db/models.py +261 -0
- ostium_ctl-0.1.0/src/ostium/db/session.py +86 -0
- ostium_ctl-0.1.0/src/ostium/domain/__init__.py +0 -0
- ostium_ctl-0.1.0/src/ostium/domain/endpoints.py +313 -0
- ostium_ctl-0.1.0/src/ostium/engine/__init__.py +0 -0
- ostium_ctl-0.1.0/src/ostium/engine/core_api.py +122 -0
- ostium_ctl-0.1.0/src/ostium/engine/manager.py +277 -0
- ostium_ctl-0.1.0/src/ostium/engine/singbox/__init__.py +0 -0
- ostium_ctl-0.1.0/src/ostium/engine/singbox/clash_api.py +71 -0
- ostium_ctl-0.1.0/src/ostium/engine/singbox/config.py +485 -0
- ostium_ctl-0.1.0/src/ostium/engine/singbox/supervisor.py +394 -0
- ostium_ctl-0.1.0/src/ostium/engine/singbox/v2ray_stats.py +79 -0
- ostium_ctl-0.1.0/src/ostium/engine/singbox/v2ray_stats_pb2.py +46 -0
- ostium_ctl-0.1.0/src/ostium/engine/singbox/v2ray_stats_pb2_grpc.py +199 -0
- ostium_ctl-0.1.0/src/ostium/engine/singbox/validate.py +259 -0
- ostium_ctl-0.1.0/src/ostium/py.typed +0 -0
- ostium_ctl-0.1.0/src/ostium/services/__init__.py +0 -0
- ostium_ctl-0.1.0/src/ostium/services/audit.py +136 -0
- ostium_ctl-0.1.0/src/ostium/services/auth.py +342 -0
- ostium_ctl-0.1.0/src/ostium/services/backup.py +284 -0
- ostium_ctl-0.1.0/src/ostium/services/certificates.py +293 -0
- ostium_ctl-0.1.0/src/ostium/services/crypto.py +26 -0
- ostium_ctl-0.1.0/src/ostium/services/events.py +70 -0
- ostium_ctl-0.1.0/src/ostium/services/jobs.py +195 -0
- ostium_ctl-0.1.0/src/ostium/services/profiles.py +359 -0
- ostium_ctl-0.1.0/src/ostium/services/rules.py +133 -0
- ostium_ctl-0.1.0/src/ostium/services/settings.py +33 -0
- ostium_ctl-0.1.0/src/ostium/services/stats.py +293 -0
- ostium_ctl-0.1.0/src/ostium/services/subscriptions.py +141 -0
- ostium_ctl-0.1.0/src/ostium/services/users.py +354 -0
- ostium_ctl-0.1.0/src/ostium/system/__init__.py +0 -0
- ostium_ctl-0.1.0/src/ostium/system/proxy.py +574 -0
- ostium_ctl-0.1.0/src/ostium/system/windows_service.py +94 -0
- ostium_ctl-0.1.0/src/ostium/util/__init__.py +0 -0
- ostium_ctl-0.1.0/src/ostium/util/ids.py +33 -0
- ostium_ctl-0.1.0/src/ostium/util/redact.py +58 -0
- ostium_ctl-0.1.0/src/ostium/util/security.py +200 -0
- ostium_ctl-0.1.0/src/ostium/util/time.py +39 -0
- ostium_ctl-0.1.0/src/ostium/web/__init__.py +0 -0
- ostium_ctl-0.1.0/tests/__init__.py +0 -0
- ostium_ctl-0.1.0/tests/conftest.py +121 -0
- ostium_ctl-0.1.0/tests/e2e/__init__.py +0 -0
- ostium_ctl-0.1.0/tests/integration/__init__.py +0 -0
- ostium_ctl-0.1.0/tests/integration/test_api_auth.py +380 -0
- ostium_ctl-0.1.0/tests/integration/test_api_backups_certs.py +296 -0
- ostium_ctl-0.1.0/tests/integration/test_api_events.py +69 -0
- ostium_ctl-0.1.0/tests/integration/test_api_flow.py +198 -0
- ostium_ctl-0.1.0/tests/integration/test_api_rules_profiles.py +342 -0
- ostium_ctl-0.1.0/tests/integration/test_api_settings.py +271 -0
- ostium_ctl-0.1.0/tests/integration/test_api_system.py +764 -0
- ostium_ctl-0.1.0/tests/integration/test_api_users_inbounds.py +378 -0
- ostium_ctl-0.1.0/tests/integration/test_app_helpers.py +579 -0
- ostium_ctl-0.1.0/tests/integration/test_audit.py +51 -0
- ostium_ctl-0.1.0/tests/integration/test_auth_service.py +149 -0
- ostium_ctl-0.1.0/tests/integration/test_backup.py +82 -0
- ostium_ctl-0.1.0/tests/integration/test_backup_extended.py +258 -0
- ostium_ctl-0.1.0/tests/integration/test_certificates.py +63 -0
- ostium_ctl-0.1.0/tests/integration/test_certificates_extended.py +219 -0
- ostium_ctl-0.1.0/tests/integration/test_client_api.py +53 -0
- ostium_ctl-0.1.0/tests/integration/test_collector_live.py +273 -0
- ostium_ctl-0.1.0/tests/integration/test_core_app.py +316 -0
- ostium_ctl-0.1.0/tests/integration/test_core_supervisor.py +129 -0
- ostium_ctl-0.1.0/tests/integration/test_engine_manager.py +57 -0
- ostium_ctl-0.1.0/tests/integration/test_engine_manager_extended.py +231 -0
- ostium_ctl-0.1.0/tests/integration/test_jobs.py +79 -0
- ostium_ctl-0.1.0/tests/integration/test_rulesets.py +48 -0
- ostium_ctl-0.1.0/tests/integration/test_services_misc.py +288 -0
- ostium_ctl-0.1.0/tests/integration/test_stats.py +125 -0
- ostium_ctl-0.1.0/tests/integration/test_stats_extended.py +292 -0
- ostium_ctl-0.1.0/tests/integration/test_supervisor_extended.py +502 -0
- ostium_ctl-0.1.0/tests/integration/test_users_service_extended.py +283 -0
- ostium_ctl-0.1.0/tests/integration/test_v2ray_core.py +76 -0
- ostium_ctl-0.1.0/tests/unit/__init__.py +0 -0
- ostium_ctl-0.1.0/tests/unit/test_acme.py +43 -0
- ostium_ctl-0.1.0/tests/unit/test_acme_extended.py +185 -0
- ostium_ctl-0.1.0/tests/unit/test_clash_api.py +38 -0
- ostium_ctl-0.1.0/tests/unit/test_clash_api_extended.py +59 -0
- ostium_ctl-0.1.0/tests/unit/test_cli.py +45 -0
- ostium_ctl-0.1.0/tests/unit/test_cli_extended.py +815 -0
- ostium_ctl-0.1.0/tests/unit/test_cli_workflows.py +84 -0
- ostium_ctl-0.1.0/tests/unit/test_config_builder.py +247 -0
- ostium_ctl-0.1.0/tests/unit/test_config_builder_extended.py +244 -0
- ostium_ctl-0.1.0/tests/unit/test_config_paths.py +351 -0
- ostium_ctl-0.1.0/tests/unit/test_core_api.py +123 -0
- ostium_ctl-0.1.0/tests/unit/test_deps.py +194 -0
- ostium_ctl-0.1.0/tests/unit/test_endpoints.py +108 -0
- ostium_ctl-0.1.0/tests/unit/test_endpoints_extended.py +173 -0
- ostium_ctl-0.1.0/tests/unit/test_entrypoints.py +62 -0
- ostium_ctl-0.1.0/tests/unit/test_events.py +31 -0
- ostium_ctl-0.1.0/tests/unit/test_installers.py +75 -0
- ostium_ctl-0.1.0/tests/unit/test_profiles.py +68 -0
- ostium_ctl-0.1.0/tests/unit/test_profiles_service_extended.py +313 -0
- ostium_ctl-0.1.0/tests/unit/test_release_scripts.py +38 -0
- ostium_ctl-0.1.0/tests/unit/test_release_workflow.py +73 -0
- ostium_ctl-0.1.0/tests/unit/test_rules.py +36 -0
- ostium_ctl-0.1.0/tests/unit/test_rules_extended.py +117 -0
- ostium_ctl-0.1.0/tests/unit/test_security.py +131 -0
- ostium_ctl-0.1.0/tests/unit/test_subscriptions_service.py +108 -0
- ostium_ctl-0.1.0/tests/unit/test_system_proxy.py +27 -0
- ostium_ctl-0.1.0/tests/unit/test_system_proxy_extended.py +425 -0
- ostium_ctl-0.1.0/tests/unit/test_utils.py +162 -0
- ostium_ctl-0.1.0/tests/unit/test_v2ray_stats.py +145 -0
- ostium_ctl-0.1.0/tests/unit/test_validate.py +338 -0
- ostium_ctl-0.1.0/tests/unit/test_windows_scripts.py +25 -0
- ostium_ctl-0.1.0/web/dist/.gitkeep +1 -0
- ostium_ctl-0.1.0/web/dist/assets/AppLayout-CnHo_1IA.css +1 -0
- ostium_ctl-0.1.0/web/dist/assets/AppLayout-TkOzyZjP.js +124 -0
- ostium_ctl-0.1.0/web/dist/assets/AuditPage-DKc-SkEr.css +1 -0
- ostium_ctl-0.1.0/web/dist/assets/AuditPage-DRMlsiOS.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/CertificatesPage-BALPvxEc.css +1 -0
- ostium_ctl-0.1.0/web/dist/assets/CertificatesPage-PoBGQlnF.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/CheckboxGroup-DaQGiz7w.js +105 -0
- ostium_ctl-0.1.0/web/dist/assets/ConnectionsPage-4L_Y9VaF.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/ConnectionsPage-BGHvE-XG.css +1 -0
- ostium_ctl-0.1.0/web/dist/assets/DiagnosticsPage-GBMdduQn.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/DiagnosticsPage-chvywnsd.css +1 -0
- ostium_ctl-0.1.0/web/dist/assets/Dropdown-CwXzstQE.js +125 -0
- ostium_ctl-0.1.0/web/dist/assets/HomeGate-3C_4sckV.css +1 -0
- ostium_ctl-0.1.0/web/dist/assets/HomeGate-D4c3bUDh.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/InboundsPage-DhR9BG0G.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/InboundsPage-Du4FhhK7.css +1 -0
- ostium_ctl-0.1.0/web/dist/assets/InputNumber-je36FpXB.js +13 -0
- ostium_ctl-0.1.0/web/dist/assets/JobsPage-BfbdymTp.css +1 -0
- ostium_ctl-0.1.0/web/dist/assets/JobsPage-CELbAvc8.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/LoginPage-B0c_xiRn.css +1 -0
- ostium_ctl-0.1.0/web/dist/assets/LoginPage-D1M5lp_t.js +110 -0
- ostium_ctl-0.1.0/web/dist/assets/LogsPage-BDLfX0KX.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/LogsPage-BLPPfggF.css +1 -0
- ostium_ctl-0.1.0/web/dist/assets/NetworkPage-B83yUZtL.css +1 -0
- ostium_ctl-0.1.0/web/dist/assets/NetworkPage-DMjbNN8w.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/NotFoundPage-4Eqar04L.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/NotFoundPage-eEit74Eg.css +1 -0
- ostium_ctl-0.1.0/web/dist/assets/OBrandMark-B6ptsQ9Y.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/OBrandMark-CVWmop63.css +1 -0
- ostium_ctl-0.1.0/web/dist/assets/OCopyButton-B-oqlfqz.css +1 -0
- ostium_ctl-0.1.0/web/dist/assets/OCopyButton-B0BdYJ8p.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/OEmptyState-C8WDHXJd.css +1 -0
- ostium_ctl-0.1.0/web/dist/assets/OEmptyState-CuNuiClw.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/OErrorState-C3LiX1aU.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/OErrorState-C3iaLxYh.css +1 -0
- ostium_ctl-0.1.0/web/dist/assets/OLazyChart-BxXcJLKv.css +1 -0
- ostium_ctl-0.1.0/web/dist/assets/OLazyChart-CPui9WML.js +2 -0
- ostium_ctl-0.1.0/web/dist/assets/OPageHeader-BpyY4eEc.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/OPageHeader-BsAKYTkr.css +1 -0
- ostium_ctl-0.1.0/web/dist/assets/OQrModal-BBvUIRXZ.css +1 -0
- ostium_ctl-0.1.0/web/dist/assets/OQrModal-DRzK9PFl.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/OSectionCard-BEbjsw4P.css +1 -0
- ostium_ctl-0.1.0/web/dist/assets/OSectionCard-Dwixcexc.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/OStatCard-DMMkumPu.css +1 -0
- ostium_ctl-0.1.0/web/dist/assets/OStatCard-DihjcKRH.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/OTrafficChart-BmqMasLG.js +19 -0
- ostium_ctl-0.1.0/web/dist/assets/OTrafficChart-yKTAaNwo.css +1 -0
- ostium_ctl-0.1.0/web/dist/assets/OnboardingPage-CnC3Tkn8.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/OnboardingPage-Dao3P5YR.css +1 -0
- ostium_ctl-0.1.0/web/dist/assets/ProfilesPage-BW82LDzL.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/ProfilesPage-Bf9lzS6J.css +1 -0
- ostium_ctl-0.1.0/web/dist/assets/RadioGroup-DjGmk7eo.js +153 -0
- ostium_ctl-0.1.0/web/dist/assets/RoutingPage-CHDNOmbs.css +1 -0
- ostium_ctl-0.1.0/web/dist/assets/RoutingPage-TELCLabr.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/RulesPage-DM47ToQK.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/RulesPage-DeW2Bp-B.css +1 -0
- ostium_ctl-0.1.0/web/dist/assets/Select-IxrvO84D.js +410 -0
- ostium_ctl-0.1.0/web/dist/assets/SettingsPage-01lhFrbF.css +1 -0
- ostium_ctl-0.1.0/web/dist/assets/SettingsPage-CdaYFH0Z.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/SetupPage-B5T7fne1.css +1 -0
- ostium_ctl-0.1.0/web/dist/assets/SetupPage-BWRiRx0N.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/StatsPage-C_J3rnv5.css +1 -0
- ostium_ctl-0.1.0/web/dist/assets/StatsPage-CiP7SXHY.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/SubscriptionsPage-BSecexRk.css +1 -0
- ostium_ctl-0.1.0/web/dist/assets/SubscriptionsPage-Cdq6Y3T2.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/Switch-CX9oUrD6.js +102 -0
- ostium_ctl-0.1.0/web/dist/assets/SystemPage-Deu_D2H5.css +1 -0
- ostium_ctl-0.1.0/web/dist/assets/SystemPage-DqesWfD8.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/UsersPage-CDpf--BF.js +362 -0
- ostium_ctl-0.1.0/web/dist/assets/UsersPage-DtGDcfjr.css +1 -0
- ostium_ctl-0.1.0/web/dist/assets/_plugin-vue_export-helper-CtsCrH4a.js +3 -0
- ostium_ctl-0.1.0/web/dist/assets/arrow-left-D_hTaPYD.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/arrow-up-from-line-C0pEYqml.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/calendar-clock-DiHESNVh.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/check-DGkXO7lB.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/compass-L-dwGuZp.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/composables-BsF0VAcy.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/create-mR1YnL_8.js +117 -0
- ostium_ctl-0.1.0/web/dist/assets/createLucideIcon-CWlB5tHO.js +45 -0
- ostium_ctl-0.1.0/web/dist/assets/css-HHsd4Dgi.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/database-Cq48lz38.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/download-58fxtqjE.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/earth-BmbhRGrA.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/events-iRSPNrZu.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/get-DCmvXwyo.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/index-BF0kVdj-.css +1 -0
- ostium_ctl-0.1.0/web/dist/assets/index-ByVCKlLD.js +1318 -0
- ostium_ctl-0.1.0/web/dist/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2 +0 -0
- ostium_ctl-0.1.0/web/dist/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2 +0 -0
- ostium_ctl-0.1.0/web/dist/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2 +0 -0
- ostium_ctl-0.1.0/web/dist/assets/inter-greek-wght-normal-CkhJZR-_.woff2 +0 -0
- ostium_ctl-0.1.0/web/dist/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2 +0 -0
- ostium_ctl-0.1.0/web/dist/assets/inter-latin-wght-normal-Dx4kXJAl.woff2 +0 -0
- ostium_ctl-0.1.0/web/dist/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2 +0 -0
- ostium_ctl-0.1.0/web/dist/assets/key-round-pOGf6RQ8.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/lock-keyhole-CJztbacy.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/memory-stick-DFakatVS.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/misc-v7XGxIq4.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/pause-CmQQzZLQ.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/play-Dj9D01ba.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/plus-BS9m8U59.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/replaceable-Xwldo3FD.js +77 -0
- ostium_ctl-0.1.0/web/dist/assets/rolldown-runtime-XKyaHtl9.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/rotate-ccw-CxnBy7vT.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/route-DY54yEWA.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/server-DmdBrRlX.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/shield-question-mark-p_oiEXDj.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/sparkles-DwBhkDLT.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/terminal-DSrQLazn.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/trash-B4t97Yg6.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/use-message-DpuN2mQG.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/useBrowserNotifications-D7TM1fAV.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/useCopy-qMe7zkUi.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/user-round-BgbIfPpl.js +1 -0
- ostium_ctl-0.1.0/web/dist/assets/zap-mwHRUjCZ.js +1 -0
- ostium_ctl-0.1.0/web/dist/icons/apple-touch-icon.png +0 -0
- ostium_ctl-0.1.0/web/dist/icons/favicon.svg +14 -0
- ostium_ctl-0.1.0/web/dist/icons/icon-192.png +0 -0
- ostium_ctl-0.1.0/web/dist/icons/icon-512.png +0 -0
- ostium_ctl-0.1.0/web/dist/icons/maskable-512.png +0 -0
- ostium_ctl-0.1.0/web/dist/index.html +25 -0
- ostium_ctl-0.1.0/web/dist/manifest.webmanifest +21 -0
- ostium_ctl-0.1.0/web/dist/sw.js +54 -0
- ostium_ctl-0.1.0/web/dist/theme-init.js +6 -0
- ostium_ctl-0.1.0/web/eslint.config.js +64 -0
- ostium_ctl-0.1.0/web/index.html +19 -0
- ostium_ctl-0.1.0/web/package-lock.json +5054 -0
- ostium_ctl-0.1.0/web/package.json +69 -0
- ostium_ctl-0.1.0/web/playwright.config.ts +40 -0
- ostium_ctl-0.1.0/web/public/.gitkeep +1 -0
- ostium_ctl-0.1.0/web/public/icons/apple-touch-icon.png +0 -0
- ostium_ctl-0.1.0/web/public/icons/favicon.svg +14 -0
- ostium_ctl-0.1.0/web/public/icons/icon-192.png +0 -0
- ostium_ctl-0.1.0/web/public/icons/icon-512.png +0 -0
- ostium_ctl-0.1.0/web/public/icons/maskable-512.png +0 -0
- ostium_ctl-0.1.0/web/public/manifest.webmanifest +21 -0
- ostium_ctl-0.1.0/web/public/sw.js +8 -0
- ostium_ctl-0.1.0/web/public/theme-init.js +6 -0
- ostium_ctl-0.1.0/web/pwa.ts +137 -0
- ostium_ctl-0.1.0/web/src/App.vue +54 -0
- ostium_ctl-0.1.0/web/src/api/client.ts +92 -0
- ostium_ctl-0.1.0/web/src/api/index.ts +287 -0
- ostium_ctl-0.1.0/web/src/api/types.ts +324 -0
- ostium_ctl-0.1.0/web/src/components/OBrandMark.vue +71 -0
- ostium_ctl-0.1.0/web/src/components/OCommandPalette.vue +353 -0
- ostium_ctl-0.1.0/web/src/components/OConnectOrb.vue +211 -0
- ostium_ctl-0.1.0/web/src/components/OCopyButton.vue +101 -0
- ostium_ctl-0.1.0/web/src/components/OEmptyState.vue +99 -0
- ostium_ctl-0.1.0/web/src/components/OErrorState.vue +76 -0
- ostium_ctl-0.1.0/web/src/components/OJobDrawer.vue +203 -0
- ostium_ctl-0.1.0/web/src/components/OLazyChart.vue +80 -0
- ostium_ctl-0.1.0/web/src/components/OPageHeader.vue +60 -0
- ostium_ctl-0.1.0/web/src/components/OPwaUpdate.vue +79 -0
- ostium_ctl-0.1.0/web/src/components/OQrModal.vue +79 -0
- ostium_ctl-0.1.0/web/src/components/OSectionCard.vue +110 -0
- ostium_ctl-0.1.0/web/src/components/OShortcutModal.vue +77 -0
- ostium_ctl-0.1.0/web/src/components/OSkeletonPage.vue +111 -0
- ostium_ctl-0.1.0/web/src/components/OStatCard.vue +135 -0
- ostium_ctl-0.1.0/web/src/components/OStatusPill.vue +103 -0
- ostium_ctl-0.1.0/web/src/components/OTrafficChart.vue +145 -0
- ostium_ctl-0.1.0/web/src/composables/useBrowserNotifications.ts +29 -0
- ostium_ctl-0.1.0/web/src/composables/useCopy.ts +32 -0
- ostium_ctl-0.1.0/web/src/composables/usePwa.ts +67 -0
- ostium_ctl-0.1.0/web/src/composables/useStatus.ts +54 -0
- ostium_ctl-0.1.0/web/src/design/theme.ts +173 -0
- ostium_ctl-0.1.0/web/src/env.d.ts +1 -0
- ostium_ctl-0.1.0/web/src/layouts/AppLayout.vue +949 -0
- ostium_ctl-0.1.0/web/src/locales/en.ts +725 -0
- ostium_ctl-0.1.0/web/src/locales/index.ts +34 -0
- ostium_ctl-0.1.0/web/src/locales/zh.ts +715 -0
- ostium_ctl-0.1.0/web/src/main.ts +17 -0
- ostium_ctl-0.1.0/web/src/pages/AuditPage.vue +157 -0
- ostium_ctl-0.1.0/web/src/pages/CertificatesPage.vue +493 -0
- ostium_ctl-0.1.0/web/src/pages/ClientHomePage.vue +564 -0
- ostium_ctl-0.1.0/web/src/pages/ConnectionsPage.vue +369 -0
- ostium_ctl-0.1.0/web/src/pages/DashboardPage.vue +729 -0
- ostium_ctl-0.1.0/web/src/pages/DiagnosticsPage.vue +211 -0
- ostium_ctl-0.1.0/web/src/pages/HomeGate.vue +11 -0
- ostium_ctl-0.1.0/web/src/pages/InboundsPage.vue +526 -0
- ostium_ctl-0.1.0/web/src/pages/JobsPage.vue +289 -0
- ostium_ctl-0.1.0/web/src/pages/LoginPage.vue +478 -0
- ostium_ctl-0.1.0/web/src/pages/LogsPage.vue +362 -0
- ostium_ctl-0.1.0/web/src/pages/NetworkPage.vue +406 -0
- ostium_ctl-0.1.0/web/src/pages/NotFoundPage.vue +67 -0
- ostium_ctl-0.1.0/web/src/pages/OnboardingPage.vue +428 -0
- ostium_ctl-0.1.0/web/src/pages/ProfilesPage.vue +477 -0
- ostium_ctl-0.1.0/web/src/pages/RoutingPage.vue +510 -0
- ostium_ctl-0.1.0/web/src/pages/RulesPage.vue +505 -0
- ostium_ctl-0.1.0/web/src/pages/SettingsPage.vue +1080 -0
- ostium_ctl-0.1.0/web/src/pages/SetupPage.vue +689 -0
- ostium_ctl-0.1.0/web/src/pages/StatsPage.vue +173 -0
- ostium_ctl-0.1.0/web/src/pages/SubscriptionsPage.vue +401 -0
- ostium_ctl-0.1.0/web/src/pages/SystemPage.vue +343 -0
- ostium_ctl-0.1.0/web/src/pages/UsersPage.vue +1020 -0
- ostium_ctl-0.1.0/web/src/router/index.ts +178 -0
- ostium_ctl-0.1.0/web/src/router/nav.ts +217 -0
- ostium_ctl-0.1.0/web/src/stores/app.ts +97 -0
- ostium_ctl-0.1.0/web/src/stores/auth.ts +89 -0
- ostium_ctl-0.1.0/web/src/stores/events.ts +81 -0
- ostium_ctl-0.1.0/web/src/styles/base.css +316 -0
- ostium_ctl-0.1.0/web/src/styles/tokens.css +90 -0
- ostium_ctl-0.1.0/web/src/utils/format.ts +114 -0
- ostium_ctl-0.1.0/web/tests/e2e/smoke.spec.ts +238 -0
- ostium_ctl-0.1.0/web/tests/e2e/smoke.spec.ts-snapshots/dashboard-dark-desktop-linux.png +0 -0
- ostium_ctl-0.1.0/web/tests/e2e/smoke.spec.ts-snapshots/dashboard-dark-mobile-linux.png +0 -0
- ostium_ctl-0.1.0/web/tests/e2e/smoke.spec.ts-snapshots/dashboard-dark-tablet-linux.png +0 -0
- ostium_ctl-0.1.0/web/tests/e2e/smoke.spec.ts-snapshots/dashboard-light-desktop-linux.png +0 -0
- ostium_ctl-0.1.0/web/tests/e2e/smoke.spec.ts-snapshots/dashboard-light-mobile-linux.png +0 -0
- ostium_ctl-0.1.0/web/tests/e2e/smoke.spec.ts-snapshots/dashboard-light-tablet-linux.png +0 -0
- ostium_ctl-0.1.0/web/tests/setup.ts +62 -0
- ostium_ctl-0.1.0/web/tests/unit/api.test.ts +205 -0
- ostium_ctl-0.1.0/web/tests/unit/app_shell.test.ts +170 -0
- ostium_ctl-0.1.0/web/tests/unit/components.test.ts +226 -0
- ostium_ctl-0.1.0/web/tests/unit/composables.test.ts +175 -0
- ostium_ctl-0.1.0/web/tests/unit/format.test.ts +43 -0
- ostium_ctl-0.1.0/web/tests/unit/helpers.ts +908 -0
- ostium_ctl-0.1.0/web/tests/unit/layout_branches.test.ts +147 -0
- ostium_ctl-0.1.0/web/tests/unit/main.test.ts +45 -0
- ostium_ctl-0.1.0/web/tests/unit/pages_auth.test.ts +99 -0
- ostium_ctl-0.1.0/web/tests/unit/pages_auth_interactions.test.ts +172 -0
- ostium_ctl-0.1.0/web/tests/unit/pages_client.test.ts +98 -0
- ostium_ctl-0.1.0/web/tests/unit/pages_dashboard.test.ts +22 -0
- ostium_ctl-0.1.0/web/tests/unit/pages_interactions.test.ts +169 -0
- ostium_ctl-0.1.0/web/tests/unit/pages_script_branches.test.ts +332 -0
- ostium_ctl-0.1.0/web/tests/unit/pages_server.test.ts +64 -0
- ostium_ctl-0.1.0/web/tests/unit/pages_settings_interactions.test.ts +109 -0
- ostium_ctl-0.1.0/web/tests/unit/pages_users_interactions.test.ts +75 -0
- ostium_ctl-0.1.0/web/tests/unit/pages_variants.test.ts +208 -0
- ostium_ctl-0.1.0/web/tests/unit/pwa.test.ts +57 -0
- ostium_ctl-0.1.0/web/tests/unit/pwaGenerator.test.ts +37 -0
- ostium_ctl-0.1.0/web/tests/unit/router.test.ts +65 -0
- ostium_ctl-0.1.0/web/tests/unit/store_branches.test.ts +149 -0
- ostium_ctl-0.1.0/web/tests/unit/stores.test.ts +236 -0
- ostium_ctl-0.1.0/web/tests/unit/usePwa.test.ts +114 -0
- ostium_ctl-0.1.0/web/tsconfig.json +19 -0
- ostium_ctl-0.1.0/web/tsconfig.node.json +13 -0
- ostium_ctl-0.1.0/web/vite.config.ts +47 -0
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Python
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*.egg-info/
|
|
5
|
+
.eggs/
|
|
6
|
+
build/
|
|
7
|
+
dist/
|
|
8
|
+
!web/dist/
|
|
9
|
+
.venv/
|
|
10
|
+
venv/
|
|
11
|
+
.mypy_cache/
|
|
12
|
+
.ruff_cache/
|
|
13
|
+
.pytest_cache/
|
|
14
|
+
.coverage
|
|
15
|
+
.coverage.*
|
|
16
|
+
htmlcov/
|
|
17
|
+
coverage.xml
|
|
18
|
+
coverage.json
|
|
19
|
+
.hypothesis/
|
|
20
|
+
site/
|
|
21
|
+
src/ostium/_version.py
|
|
22
|
+
|
|
23
|
+
# Node
|
|
24
|
+
node_modules/
|
|
25
|
+
web/dist/*
|
|
26
|
+
!web/dist/.gitkeep
|
|
27
|
+
web/.vite/
|
|
28
|
+
web/coverage/
|
|
29
|
+
web/test-results/
|
|
30
|
+
web/playwright-report/
|
|
31
|
+
web/blob-report/
|
|
32
|
+
web/.eslintcache
|
|
33
|
+
|
|
34
|
+
# Ostium runtime data / secrets
|
|
35
|
+
.env
|
|
36
|
+
.env.*
|
|
37
|
+
!.env.example
|
|
38
|
+
*.db
|
|
39
|
+
*.db-wal
|
|
40
|
+
*.db-shm
|
|
41
|
+
master.key
|
|
42
|
+
core.token
|
|
43
|
+
clash.secret
|
|
44
|
+
runtime/
|
|
45
|
+
data/
|
|
46
|
+
*.pem
|
|
47
|
+
*.key
|
|
48
|
+
!web/public/icons/*.svg
|
|
49
|
+
|
|
50
|
+
# Editor / OS
|
|
51
|
+
.idea/
|
|
52
|
+
.vscode/
|
|
53
|
+
.DS_Store
|
|
54
|
+
Thumbs.db
|
|
55
|
+
*.swp
|
|
56
|
+
|
|
57
|
+
# Local notes
|
|
58
|
+
HANDOFF.md
|