Skip to content

Configuration File Format

David Lundgren edited this page Dec 23, 2024 · 2 revisions

Main ConfigurationTunnels ConfigurationLocal Tunnels Configuration

Main Configuration

Throughout this document we refer to $XDG_CONFIG_HOME. This defaults to ~/.config, but can be set as an environment variable.

The main configuration is located at $XDG_CONFIG_HOME/oo_bin/config.toml

[tunnels.socks]
multiple = false

tunnels.socks.multiple

Default(false)

This setting allows multiple Socks tunnels to be run simultaneously.

It is considered an advanced feature, and is disabled by default.

When enabled oo_bin maintains separate Firefox profiles, and you can manage these with the oo tunnels profile commands. Here be dragons.

[tunnels.update]
auto_update = false
url = 'https://outsideopen.com/oo_bin/'
username = 'my_username'
password = 'my_password'

tunnels.update.auto_update

Default(false)

When enabled, your configuration is automatically updated once every 24 hours.

(Currently, it also updates the pip package, but this should ideally be set with a different config option)

tunnels.update.url

The url to the remote server that hosts the tunnels configuration

tunnels.update.username

The username for the remote server

tunnels.update.password

The password for the remote server

Tunnels Configuration

The tunnels configuration is located at $XDG_CONFIG_HOME/oo_bin/tunnels.toml

[profile]
jump_host = 'rind'
urls = ["https://secret.outsideopen.com", "https://topsecret.outsideopen.com"]

[profile.rdp]
hosts = [{name="my_rdp_host", host="10.10.1.1", port="3389", local_port="12345"}]

[profile.vnc]
hosts = [{name="my_vnc_host", host="10.10.1.1", port="5900"}]

[profile]

The tunnel name. This name will be used in tunnel commands.

profile.jump_host

The host name or ip address of the jump host.

You need the correct ssh configuration for this host, or the tunnel will fail.

profile.urls

A list of urls to open with your browser, once the tunnel has been established.

profile.rdp

An array of RDP hosts available for this profile. Each entry is a hash with the following keys:

  • name: The name for the host. You will use this name when using the host in rdp commands.
  • host: The host name, or IP address
  • port: The port (defaults to 3389)
  • local_host: The host that the tunnel gets forwarded to (defaults to 127.0.0.1)
  • local_port: The port that the tunnel gets forwarded to. It is highly preferable to not specify this value, and to let it get dynamically assigned. (default: automatically assigns an available port)

profile.vnc

Similar to rdp, except with a default port of 5900

Local Tunnels Configuration

Because the tunnels configuration can be automatically updated from a remote server, it is sometimes desirable to keep your local configuration separated from the global configuration.

You can amend tunnels.toml by creating $XDG_CONFIG_HOME/oo_bin/tunnels_local.toml

Customized ssh_config usage

You can override the ssh_config file usage by editing $XDG_CONFIG_HOME/oo_bin/config.toml

[tunnels]
ssh_config = '~/.ssh/config'