{"id":48275741,"url":"https://github.com/xgauravyaduvanshii/flyingdarkdevtunnel","last_synced_at":"2026-04-04T22:30:13.674Z","repository":{"id":339258121,"uuid":"1161140842","full_name":"xgauravyaduvanshii/flyingdarkdevtunnel","owner":"xgauravyaduvanshii","description":"Open-source ngrok alternative for HTTP/HTTPS/TCP tunneling with custom domains, TLS termination/passthrough, request inspection \u0026 replay, and a full SaaS-ready platform (Go relay, CLI, API, dashboard).","archived":false,"fork":false,"pushed_at":"2026-02-18T19:43:00.000Z","size":412,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-18T23:45:40.409Z","etag":null,"topics":["api","cli","custom-domains","fastify","golang","http-tunnel","local-development","monorepo","nextjs","ngrok-alternative","replay","request-inspection","reverse-proxy","saas","tcp-tunnel","tls","tunneling","typescript","webhook-testing","xgauravyaduvanshii"],"latest_commit_sha":null,"homepage":"https://github.com/xgauravyaduvanshii/flyingdarkdevtunnel#readme","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xgauravyaduvanshii.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":"SUPPORT.md","governance":"GOVERNANCE.md","roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":"MAINTAINERS.md","copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["xgauravyaduvanshii"],"custom":["https://github.com/sponsors"]}},"created_at":"2026-02-18T19:26:21.000Z","updated_at":"2026-02-18T19:49:38.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/xgauravyaduvanshii/flyingdarkdevtunnel","commit_stats":null,"previous_names":["xgauravyaduvanshii/flyingdarkdevtunnel"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/xgauravyaduvanshii/flyingdarkdevtunnel","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xgauravyaduvanshii%2Fflyingdarkdevtunnel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xgauravyaduvanshii%2Fflyingdarkdevtunnel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xgauravyaduvanshii%2Fflyingdarkdevtunnel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xgauravyaduvanshii%2Fflyingdarkdevtunnel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xgauravyaduvanshii","download_url":"https://codeload.github.com/xgauravyaduvanshii/flyingdarkdevtunnel/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xgauravyaduvanshii%2Fflyingdarkdevtunnel/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31416768,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T20:09:54.854Z","status":"ssl_error","status_checked_at":"2026-04-04T20:09:44.350Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","cli","custom-domains","fastify","golang","http-tunnel","local-development","monorepo","nextjs","ngrok-alternative","replay","request-inspection","reverse-proxy","saas","tcp-tunnel","tls","tunneling","typescript","webhook-testing","xgauravyaduvanshii"],"created_at":"2026-04-04T22:30:12.789Z","updated_at":"2026-04-04T22:30:13.642Z","avatar_url":"https://github.com/xgauravyaduvanshii.png","language":"TypeScript","funding_links":["https://github.com/sponsors/xgauravyaduvanshii","https://github.com/sponsors"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n![FlyingDarkDevTunnel Banner](docs/assets/platform-banner.svg)\n\n# FlyingDarkDevTunnel\n\nOpen-source tunneling platform that turns localhost services into secure, policy-aware public endpoints.\n\n\u003cp\u003e\n  \u003ca href=\"https://github.com/xgauravyaduvanshii/flyingdarkdevtunnel\"\u003e\u003cimg alt=\"Open Source\" src=\"https://img.shields.io/badge/Open%20Source-Yes-22c55e?logo=opensourceinitiative\u0026logoColor=white\"\u003e\u003c/a\u003e\n  \u003cimg alt=\"License\" src=\"https://img.shields.io/badge/License-AGPL--3.0-0ea5e9?logo=gnu\u0026logoColor=white\"\u003e\n  \u003cimg alt=\"Data Plane\" src=\"https://img.shields.io/badge/Data%20Plane-Go-16a34a?logo=go\u0026logoColor=white\"\u003e\n  \u003cimg alt=\"Control Plane\" src=\"https://img.shields.io/badge/Control%20Plane-Fastify%20%2B%20PostgreSQL-f97316?logo=fastify\u0026logoColor=white\"\u003e\n  \u003cimg alt=\"Frontend\" src=\"https://img.shields.io/badge/Frontend-Next.js-111827?logo=nextdotjs\u0026logoColor=white\"\u003e\n  \u003cimg alt=\"Monorepo\" src=\"https://img.shields.io/badge/Monorepo-pnpm%20%2B%20Turbo-6366f1?logo=pnpm\u0026logoColor=white\"\u003e\n  \u003cimg alt=\"Payments\" src=\"https://img.shields.io/badge/Payments-Stripe%20%7C%20Razorpay%20%7C%20PayPal-eab308?logo=stripe\u0026logoColor=white\"\u003e\n\u003c/p\u003e\n\u003cp\u003e\n  \u003ca href=\"docs/how-it-works.md\"\u003eHow It Works\u003c/a\u003e\n  ·\n  \u003ca href=\"docs/architecture.md\"\u003eArchitecture\u003c/a\u003e\n  ·\n  \u003ca href=\"docs/testing-and-ci.md\"\u003eTesting and CI\u003c/a\u003e\n  ·\n  \u003ca href=\"docs/runbooks/ops-oncall.md\"\u003eRunbooks\u003c/a\u003e\n  ·\n  \u003ca href=\"https://github.com/xgauravyaduvanshii\"\u003eOwner: xgauravyaduvanshii\u003c/a\u003e\n  ·\n  \u003ca href=\"https://github.com/xgauravyaduvanshii/flyingdarkdevtunnel\"\u003eRepository Home\u003c/a\u003e\n\u003c/p\u003e\n\n\u003c/div\u003e\n\n---\n\n## Platform Story\n\nFlyingDarkDevTunnel is built for teams that need more than a temporary tunnel URL.  \nIt combines data-plane speed, control-plane policy, payment operations, and production-grade runbook discipline in one monorepo.\n\nThis project is designed so that each critical behavior has:\n- explicit ownership,\n- deterministic retry/reconcile paths,\n- and measurable operational signals.\n\n\u003e Build fast like a developer tool, run safe like production infrastructure.\n\n![Platform Pillars](docs/assets/platform-pillars.svg)\n\n---\n\n## Why Teams Use It\n\n- Ship webhook integrations without deploying staging environments for every branch.\n- Expose demo and QA environments safely with auth/IP controls.\n- Tunnel raw TCP services for SSH, DB diagnostics, and IoT flows.\n- Manage billing entitlements and audit trails from the same platform model.\n- Run with operational confidence using dashboards, alerts, and recovery runbooks.\n\nThis repository intentionally speaks to multiple personas who collaborate on one shared system model instead of disconnected tools.\n\n![Persona and Use-Case Map](docs/assets/persona-usecases.svg)\n\n---\n\n## Capability Matrix\n\n| Capability Group | Included |\n|---|---|\n| Tunnel Protocols | HTTP, HTTPS, raw TCP |\n| URL Strategy | random URLs, reserved subdomains, custom domains |\n| TLS Modes | edge termination and end-to-end passthrough |\n| Access Controls | JWT auth, basic auth, CIDR allowlist, revocation lists |\n| Inspection | request metadata capture, payload retention controls, replay API |\n| Billing Providers | Stripe, Razorpay, PayPal |\n| Admin Controls | user/org management, entitlement overrides, audit visibility |\n| Reliability Features | retries, dead-letter workflows, replay/reconcile pipelines |\n| Operations | Prometheus, Grafana, alert rules, incident runbooks |\n\n![Feature and Plan Comparison](docs/assets/feature-plan-comparison.svg)\n![Protocol Capability Grid](docs/assets/protocol-capability-grid.svg)\n\n---\n\n## Localhost to Internet Journey\n\n![Local to Public Journey](docs/assets/local-to-public-journey.svg)\n![Architecture Topology](docs/assets/architecture-topology.svg)\n![Tunnel Flow](docs/assets/tunnel-flow.svg)\n![Tunnel Sequence](docs/assets/tunnel-sequence.svg)\n![Control Plane Lifecycle](docs/assets/control-plane-lifecycle.svg)\n\nThis request journey is built around strict checkpoints:\n- identity and entitlement validation before edge registration,\n- relay-side enforcement for host mode, auth, and network policy,\n- stream forwarding between relay and agent,\n- optional inspection and replay for debugging,\n- metrics and audit artifacts for incident response.\n\n![Inspection and Replay Cycle](docs/assets/inspection-replay-cycle.svg)\n\n---\n\n## CLI Experience\n\n![CLI Command Landscape](docs/assets/cli-command-landscape.svg)\n\n### Core commands\n\n```bash\ncd go\n\n# login\ngo run ./agent login \\\n  --api http://localhost:4000 \\\n  --email xgauravyaduvanshii@gmail.com \\\n  --password yourpassword\n\n# http tunnel\ngo run ./agent http \\\n  --api http://localhost:4000 \\\n  --relay ws://localhost:8081/control \\\n  --authtoken \u003cauthtoken\u003e \\\n  --tunnel-id \u003ctunnel-uuid\u003e \\\n  --local http://localhost:3000 \\\n  --region us\n\n# tcp tunnel\ngo run ./agent tcp \\\n  --api http://localhost:4000 \\\n  --relay ws://localhost:8081/control \\\n  --authtoken \u003cauthtoken\u003e \\\n  --tunnel-id \u003ctunnel-uuid\u003e \\\n  --local 127.0.0.1:22 \\\n  --region us\n```\n\nFor multi-tunnel configs:\n- `ourdomain.yml.example`\n- `go/ourdomain.example.yml`\n\n---\n\n## Monorepo Architecture\n\n![Monorepo Map](docs/assets/monorepo-map.svg)\n\n| Path | Role |\n|---|---|\n| `apps/` | User/admin console and docs surface |\n| `services/` | API and workers (billing, inspector, certificates) |\n| `go/` | Relay edge + agent CLI + shared proto contracts |\n| `packages/` | Shared config, UI, SDK, lint/type presets |\n| `infra/` | Docker, migrations, Cloudflare, monitoring |\n| `docs/` | Design references, runbooks, operational guides |\n| `scripts/` | Smoke tests, resilience drills, local bootstrap |\n\n---\n\n## Security and Trust Model\n\nSecurity is not treated as an add-on; it is encoded in runtime decisions and async pipelines.\n\n![Security Defense Layers](docs/assets/security-defense-layers.svg)\n![Certificate Incident Timeline](docs/assets/cert-incident-timeline.svg)\n![Edge Policy Flow](docs/assets/edge-policy-flow.svg)\n![Threat to Response Map](docs/assets/threat-response-map.svg)\n\nImplemented security controls include:\n- hashed authtokens and short-lived signed agent tokens,\n- token revoke-list checks in control and edge flows,\n- relay-side basic auth and CIDR allowlist enforcement,\n- signed provider callbacks for billing and certificate events,\n- immutable audit integrity verification for sensitive admin actions.\n\nSee:\n- `docs/security-and-tls.md`\n- `docs/certificate-lifecycle.md`\n- `docs/runbooks/certificate-alerts.md`\n\n---\n\n## Payments and Revenue Operations\n\nPayment architecture is designed for correctness under retries, provider jitter, and delayed settlements.\n\n![Payment Orchestration Layers](docs/assets/payment-orchestration-layers.svg)\n![Billing Reconciliation Flow](docs/assets/billing-reconciliation-flow.svg)\n\nCurrent behavior includes:\n- real provider mode for Stripe with fallback mock checkout when keys are absent,\n- Razorpay and PayPal provider orchestration hooks,\n- signed webhook ingestion and replay-safe processing,\n- dunning state tracking and finance export packaging workflows.\n\nSee:\n- `docs/billing-providers.md`\n- `docs/runbooks/billing-webhook-slo.md`\n- `services/worker-billing/`\n\n---\n\n## Reliability and On-Call Operations\n\n![Release and Operations Loop](docs/assets/release-ops-loop.svg)\n![Roadmap Flight Path](docs/assets/roadmap-flightpath.svg)\n![Observability Command Center](docs/assets/observability-command-center.svg)\n\nReliability foundation:\n- Prometheus and alert rules under `infra/monitoring/`,\n- Grafana provisioning and dashboard JSON committed in-repo,\n- integration smoke plus resilience scripts in `scripts/`,\n- runbook-first incident handling for certificate, payment, and security classes.\n\n---\n\n## Deployment Blueprint\n\n![Deployment Blueprint](docs/assets/deployment-blueprint.svg)\n![Custom Domain Lifecycle Map](docs/assets/domain-lifecycle-map.svg)\n\nThe platform can run as a managed SaaS stack on Ubuntu VPS with Docker Compose:\n- edge relay for ingress and policy gates,\n- API and workers for control + async workflows,\n- PostgreSQL/Redis/object storage for persistence layers,\n- monitoring and alerting for on-call visibility.\n\n---\n\n## Quick Start\n\n### Prerequisites\n\n- Node.js `20+`\n- pnpm `10+`\n- Go `1.18+`\n- Docker + Docker Compose plugin\n\n### Install and run\n\n```bash\npnpm install\npnpm dev:infra\n```\n\nCore local endpoints:\n- API: `http://localhost:4000`\n- Console: `http://localhost:3000`\n- Docs: `http://localhost:3001`\n- Relay HTTP: `http://localhost:8080`\n- Relay HTTPS: `https://localhost:8443`\n- Grafana: `http://localhost:3100`\n- Prometheus: `http://localhost:9090`\n\n---\n\n## Quality Gates\n\n```bash\npnpm lint\npnpm typecheck\npnpm test\npnpm build\n\ncd go\ngo test ./...\ngo build -o bin/relay ./relay\ngo build -o bin/fdt ./agent\n```\n\nIntegration tests (API):\n\n```bash\nDATABASE_URL=postgres://postgres:postgres@127.0.0.1:55432/fdt \\\nREDIS_URL=redis://127.0.0.1:6379 \\\npnpm --filter @fdt/api test:integration\n```\n\n![CI and Release Gates](docs/assets/ci-release-gates.svg)\n\nRelease quality philosophy:\n- code quality checks prevent drift in shared contracts and policies,\n- integration gates validate behavior across API, workers, and relay surfaces,\n- resilience checks validate recovery workflows before customer-impacting changes ship.\n\n---\n\n## Documentation\n\n- docs hub: `docs/README.md`\n- architecture deep dive: `docs/architecture.md`\n- flow diagrams: `docs/how-it-works.md`\n- security and TLS: `docs/security-and-tls.md`\n- billing providers: `docs/billing-providers.md`\n- certificate lifecycle: `docs/certificate-lifecycle.md`\n- testing and CI: `docs/testing-and-ci.md`\n- live execution tracker: `plan.md`\n\n---\n\n## Open Source\n\n![Contribution Workflow](docs/assets/contribution-workflow.svg)\n\nCommunity and governance files:\n- `CONTRIBUTING.md`\n- `CODE_OF_CONDUCT.md`\n- `SECURITY.md`\n- `SUPPORT.md`\n- `GOVERNANCE.md`\n- `MAINTAINERS.md`\n- `CHANGELOG.md`\n- `.github/ISSUE_TEMPLATE/`\n- `.github/PULL_REQUEST_TEMPLATE.md`\n- `.github/dependabot.yml`\n\n---\n\n## Maintainer Links\n\n- Owner profile: `https://github.com/xgauravyaduvanshii`\n- Repository: `https://github.com/xgauravyaduvanshii/flyingdarkdevtunnel`\n\n---\n\n## License\n\nLicensed under the **GNU Affero General Public License v3.0**.  \nSee `LICENSE` for full text.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxgauravyaduvanshii%2Fflyingdarkdevtunnel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxgauravyaduvanshii%2Fflyingdarkdevtunnel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxgauravyaduvanshii%2Fflyingdarkdevtunnel/lists"}