Wrapped Execution
You can run your application wrapped in tuna, then the port your server is listening on will be automatically detected and a tunnel will be started for it. If tuna can get an HTTP response from the application during the check, an HTTP tunnel with a dynamic subdomain will start, otherwise TCP.
Example
An example of usage is described in our blog.

Running
Execution is done with the tuna run command.
Example with a JavaScript application:
tuna run -- yarn start
Example with Python:
tuna run -- python3 -m http.server 8000