Metadata-Version: 2.5
Name: wildburrow
Version: 0.2.0
Summary: Self-hosted HTTP tunnels with on-demand wildcard certificates at any depth
Project-URL: Repository, https://github.com/isik-kaplan/wildburrow
Project-URL: Issues, https://github.com/isik-kaplan/wildburrow/issues
Project-URL: Changelog, https://github.com/isik-kaplan/wildburrow/blob/master/CHANGELOG.md
Author: Işık Kaplan
License-Expression: MIT
License-File: LICENSE
Keywords: acme,letsencrypt,ngrok,reverse-proxy,ssh,tunnel,websocket,wildcard
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Framework :: AsyncIO
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: Operating System :: MacOS
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: 3.15
Classifier: Topic :: Internet :: Proxy Servers
Classifier: Topic :: System :: Networking
Requires-Python: >=3.14.4
Requires-Dist: click==8.5.0
Requires-Dist: questionary==2.1.1
Requires-Dist: websockets==17.2
Provides-Extra: server
Requires-Dist: acme==5.8.0; extra == 'server'
Requires-Dist: argon2-cffi==25.1.0; extra == 'server'
Requires-Dist: asyncssh==2.24.1; extra == 'server'
Requires-Dist: cryptography==50.0.2; extra == 'server'
Requires-Dist: httpx==0.28.1; extra == 'server'
Requires-Dist: josepy==2.2.0; extra == 'server'
Description-Content-Type: text/markdown

# wildburrow

Self-hosted HTTPS tunnels on your own domain: expose a local port as `myapp.tunnel.example.com`, or a whole wildcard
like `*.myapp.tunnel.example.com`, at any depth, with certificates issued on demand. Linux and macOS.

## Server

```sh
uv tool install 'wildburrow[server]'
wildburrow service install    # asks for the domain, DNS provider and keys, then runs as a systemd or launchd service
```

Point `tunnel.example.com` and `*.tunnel.example.com` at it. Or with Docker: `ghcr.io/isik-kaplan/wildburrow`.

## Client

```sh
uv tool install wildburrow
wildburrow login tunnel.example.com
wildburrow 3000 myapp '*.myapp'    # https://myapp.tunnel.example.com and https://<anything>.myapp.tunnel.example.com
```

## Documentation

The full index is [docs/INDEX.md](https://github.com/isik-kaplan/wildburrow/blob/master/docs/INDEX.md).

- [Client](https://github.com/isik-kaplan/wildburrow/blob/master/docs/client.md) - logging in, the ssh and websocket
  transports, staying connected, proxies
- [Names](https://github.com/isik-kaplan/wildburrow/blob/master/docs/names.md) - wildcards at any depth, binding,
  `wildburrow names`, several local sites behind one router
- [Tokens](https://github.com/isik-kaplan/wildburrow/blob/master/docs/tokens.md) - letting people in with tokens you
  mint and sign yourself
- [Server](https://github.com/isik-kaplan/wildburrow/blob/master/docs/server.md) - the service, HTTPS, Docker and
  Traefik
- [Settings](https://github.com/isik-kaplan/wildburrow/blob/master/docs/settings.md) - every setting
- [Plugins](https://github.com/isik-kaplan/wildburrow/blob/master/docs/plugins.md) and
  [development](https://github.com/isik-kaplan/wildburrow/blob/master/docs/development.md)

What changed in each release: [CHANGELOG.md](https://github.com/isik-kaplan/wildburrow/blob/master/CHANGELOG.md).

## License

MIT
