Skip to content

CLI Reference

This is the CLI reference for jvln, the command line tool for establishing tunnel connections with the server. Run jvln --help at any time to view this reference in the terminal.

For installation instructions or to find out how to open your first tunnel, see Getting Started.

Starts the Jvln daemon. The daemon is responsible for proxying traffic and managing tunnel connections with the server.

Terminal window
jvln arm
Flag Type Required Default Description
--log-level LogVerbosityLevel No info Configure verbose output for detailed logging. (info|debug|trace)

Stops the Jvln daemon. By stopping the daemon, all active tunnel connections will be closed, as the connection with the server will be lost. However, tunnel connections will not be forgotten, so they will be re-established the next time the daemon is started.

Terminal window
jvln disarm
Flag Type Required Default Description
--log-level LogVerbosityLevel No info Configure verbose output for detailed logging. (info|debug|trace)

Operations for terminating tunnel connections.

Closes and forgets an existing HTTP tunnel. The server will no longer forward HTTP traffic to the port specified.

Terminal window
jvln retrieve tcp --server <ServerAddress> --port <ushort>
Flag Type Required Default Description
-s --server ServerAddress Yes — Jvln server to connect with.
-p --port ushort Yes — Local port that requests are being be forwarded to.
--log-level LogVerbosityLevel No info Configure verbose output for detailed logging. (info|debug|trace)
Terminal window
# closes a tunnel available at jvln.sh that forwards http traffic to local tcp port 3000
jvln retrieve http --server jvln.sh --port 3000

Retrives the current status of the Jvln daemon.

Terminal window
jvln status
Flag Type Required Default Description
--log-level LogVerbosityLevel No info Configure verbose output for detailed logging. (info|debug|trace)

Establishes a secure connection with a Jvln server.

Terminal window
jvln target --server <ServerAddress> [--code <string>]
Flag Type Required Default Description
-s --server ServerAddress Yes — Jvln server to connect with.
--log-level LogVerbosityLevel No info Configure verbose output for detailed logging. (info|debug|trace)
Terminal window
# connects to jvln.sh
jvln target --server jvln.sh --code AABBCC

Operations for establishing tunnel connections.

Creates a tunnel for forwarding HTTP connections. The server will generate a unique identifier for the tunnel and make it available for HTTP connections at that subdomain.

Terminal window
jvln throw http --server <ServerAddress> --port <ushort>
Flag Type Required Default Description
-s --server ServerAddress Yes — Jvln server to connect with.
-p --port ushort Yes — Local port requests should be forwarded to.
--http2-mode Http2HandlingMode No refuse Mode for handling HTTP/2 requests. (refuse|h2c-forward)
--log-level LogVerbosityLevel No info Configure verbose output for detailed logging. (info|debug|trace)
Terminal window
# opens a tunnel available at jvln.sh, forwarding http traffic to local tcp port 3000
jvln throw http --server jvln.sh --port 3000
# opens a tunnel available at jvln.sh, forwarding http traffic to local tcp port 3000, including raw HTTP/2 requests as h2c
jvln throw http --server jvln.sh --port 3000 --http2-mode h2c-forward