roadmap
current features and future plans for funnel development.
project vision
funnel aims to be a simple, secure, and powerful tunneling solution for developers. this roadmap outlines our progress and future plans.
current status
✅ http tunneling
expose local web services through websocket tunnels
✅ custom tunnel ids
use your own subdomain names or auto-generate them
✅ auto-reconnection
clients automatically reconnect with exponential backoff
✅ cross-platform support
builds for linux, macos, windows (amd64/arm64)
✅ custom domains
works with any domain, not just localhost
✅ server api
comprehensive rest api for tunnel management and monitoring
✅ tunnel statistics
detailed metrics, historical data, and performance monitoring
✅ openapi documentation
interactive api docs with swagger ui integration
🔄 client authentication
api key-based authentication for secure access
🔄 web dashboard
browser-based tunnel monitoring and control interface
next milestone
our current focus is on adding authentication and building a web dashboard for visual tunnel management.
📋 client api
programmatic client control and configuration sdk
📋 https by default
automatic tls for all tunnel endpoints
📋 oauth integration
secure tunnels with tokens generated via oauth
📋 tcp forwarding
tunnel any tcp service, not just http
📋 multiple tunnels per client
run multiple services through single client
feature breakdown
✅ what works now
http tunneling - the core functionality is complete and stable:
- websocket-based communication between client and server
- http request/response proxying through the tunnel
- subdomain-based routing for tunnel identification
custom tunnel ids - flexible tunnel naming:
- use your own memorable subdomain names
- auto-generated ids using domain-safe alphabet
- 3-63 character length with validation
auto-reconnection - reliable connection management:
- clients automatically reconnect when connection is lost
- exponential backoff prevents connection storms
- graceful handling of network interruptions
cross-platform support - works everywhere:
- builds for linux, macos, windows
- supports both amd64 and arm64 architectures
- single binary distribution
custom domains - flexible deployment:
- works with any domain name, not just localhost
- supports production deployments with real domains
- integrates with existing dns infrastructure
server api - comprehensive rest api:
- complete tunnel lifecycle management (create, read, delete)
- detailed monitoring and statistics endpoints
- server health and metrics tracking
- historical data with configurable time ranges
tunnel statistics - comprehensive monitoring:
- real-time request counts and bandwidth usage
- connection health and uptime monitoring
- historical data and performance analytics
- detailed metrics for individual tunnels and server-wide stats
openapi documentation - interactive api docs:
- auto-generated swagger documentation from go annotations
- interactive api playground with try-it-out functionality
- comprehensive request/response schemas and examples
- integrated with fumadocs for seamless documentation experience
🔄 working on next
client authentication - secure access control:
- api key-based authentication for clients
- user management and permissions
- integration with existing auth systems
web dashboard - visual tunnel management:
- browser-based tunnel monitoring interface
- real-time connection status and metrics
- graphical configuration and control
- integrated with server api for complete management
📋 planned improvements
client api - programmatic client control:
- sdk for embedding client functionality
- configuration management and control
- integration with existing applications
https by default - automatic security:
- automatic tls certificate generation
- secure tunnel endpoints by default
- let's encrypt integration
oauth integration - enterprise security:
- secure tunnel access with oauth tokens
- integration with popular oauth providers
- token-based access control
tcp forwarding - broader protocol support:
- tunnel any tcp service, not just http
- support for databases, ssh, and other tcp services
- port forwarding capabilities
multiple tunnels per client - improved efficiency:
- run multiple services through a single client connection
- shared connection overhead
- simplified client management
contributing
get involved
we welcome contributions! check out our github repository to see how you can help with these features.
ways to contribute:
- feature development - help implement planned features
- bug fixes - improve stability and reliability
- documentation - enhance guides and examples
- testing - help test new features and find issues
- feedback - share your use cases and feature requests
development workflow:
- fork the repository
- create feature branch:
git checkout -b feature/your-awesome-feature - set up development:
make dev-setup - make changes and test:
make build && make test - format and lint:
make fmt && make lint - commit changes:
git commit -m "description" - push and create pull request
legend
- ✅ completed - ready to use in current release
- 🔄 in progress - actively being developed
- 📋 planned - scheduled for future development
feedback welcome
have ideas for features not on this roadmap? open an issue on github to discuss your suggestions!