Authentication
Radoku client uses authentication token to connect the client usage to a Radoku account. Authentication tokens can be generated using the dashboard at https://iris.radoku.com/tokens. Radoku client reads the token from the configuration file.
Radoku client can be started without the token in the configuration file. The client then asks for the user to visit an URL to generate the authentication token. The generated authentication token is then automatically sent to the client and saved to the configuration file.
HTTP and HTTPS tunnels
A tunnel with a HTTP or HTTPS target can be started with subcommand http. The target URL protocol specifies what protocol to use when connecting to the target server.
The following example starts a tunnel to a local HTTP server at port 9000:
radoku http http://localhost:9000The following example starts a tunnel to a HTTPS server at port 9001:
radoku http https://localhost:9001When a tunnel has been started Radoku client will output a message with the public HTTP and HTTPS URLs that can be used to connect to the target server. The message looks like this:
Tunneling http://<subdomain>.radoku.com to https://localhost:9000/
Tunneling https://<subdomain>.radoku.com to https://localhost:9000/Arguments for http
--verify-target-certificate, -v
Radoku client does not verify target HTTPS server certificate by default. You can enable certificate verification with --verify-target-certificate.
Example:
radoku http https://localhost:9001 --verify-target-certificateTCP and TLS tunnels
A tunnel with a TCP or TLS target can be started with subcommand tcp. The target URL protocol specifies what protocol to use when connecting to the target server.
The following example starts a tunnel to a local TCP server at port 9000:
radoku tcp tcp://localhost:9000The following example starts a tunnel to a TLS server at port 9001:
radoku tcp tls://localhost:9001When a tunnel has been started Radoku client will output a message with the public host and port that can be used to connect to the target server. The message looks like this:
Tunneling <subdomain>.radoku.com:<port> to localhost:9000Serving files through a tunnel
A tunnel that serves files from the local computer can be started with subcommand files.
The following example starts a tunnel serving files from the current directory:
radoku files .The following example starts a tunnel serving files from the C: drive when on Windows:
radoku files C:\When a tunnel has been started Radoku client will output a message with the public HTTP and HTTPS URLs that can be used to browse the files. The message looks like this:
Serving http://<subdomain>.radoku.com from <directory>
Serving https://<subdomain>.radoku.com from <directory>Arguments for files
--disable-directory-listing, -d
Radoku client responds with directory content listing by default when directories are accessed. You can disable directory content listing with --disable-directory-listing.
Example:
radoku files . --disable-directory-listingConfiguration
Radoku client uses configuration file from the following location based on the platform:
| Platform | File path |
|---|---|
| Linux | /home/alice/.config/radoku/radoku.yaml |
| Windows | C:\Users\Alice\AppData\Roaming\radoku\radoku\config\radoku.yaml |
| macOS | /Users/Alice/Library/Application Support/com.radoku.radoku/radoku.yaml |
Used configuration file can be overridden with command line argument configuration:
radoku --configuration radoku.yamlor c for short:
radoku -c radoku.yamlThe file will be created if it does not exist. Default configuration file has the following contents:
---
authenticationToken: ~
tunnels: {}Example configuration file with authentication token value of exampleTokenValue:
---
authenticationToken: exampleTokenValue
tunnels: {}Example configuration with multiple tunnels:
------
authenticationToken: ~
tunnels:
http-tunnel-name:
type: http
targetUrl: http://localhost:9000
verifyTargetCertificate: false
https-tunnel-name:
type: http
targetUrl: https://localhost:9001
verifyTargetCertificate: false
tcp-tunnel-name:
type: tcp
targetUrl: tcp://localhost:9000
tls-tunnel-name:
type: tcp
targetUrl: tls://localhost:9001
files-tunnel-name:
type: files
rootDirectory: /home/user
disableDirectoryListing: falseTunnels in configuration can be started using the tunnels subcommand.
The following example starts all tunnels in the above configuration:
radoku tunnels http-tunnel-name https-tunnel-name tcp-tunnel-name tls-tunnel-name files-tunnel-nameThe maximum number of tunnels that can be started at one time with Radoku client is 256.