A modern, simple TCP tunnel* in Rust that exposes local ports to a remote server, bypassing standard NAT connection firewalls. That's all it does: no more, and no less.
* plus HTTPS proxying by Traefik in our case
- Category: Tools
- Status: 0
- Image:
bore, 4, upstream - Healthcheck: No
- Backups: No
- Email: No
- Tests: No
- SSO: No
abra app new boreabra app config <app-name>(setSECRETin.envif you want authentication)abra app deploy <app-name>
Install the cli on your machine: https://github.com/ekzhang/bore
Then you can expose a local port (eg. port 4000) through the tunnel:
bore local 4000 --to yourapp.yourserver.tld --port 1 --secret <SECRET>
(or any number from 1 to 10 for the port, which will match the subdomain used)
Then access it at e.g. https://1.yourapp.yourserver.tld
SECRET: Optional authentication secret. Clients must provide this to create tunnels.
- Requires wildcard DNS (
*.yourapp.yourserver.tld) pointing at your server. - Traefik will set up TLS and proxies HTTPS to bore's tunnel ports.
- To add more tunnel slots beyond 10, add corresponding Traefik labels in
compose.ymland increaseMAX_PORT. - TODO: find a way to put the secrets in docker secrets instead of env (seems not possible with current docker image since it uses
scratchwith no shell)
For more, see docs.coopcloud.tech.