How to connect from anywhere?

The ButConnect Situation

The most basic scenario for using ButConnect is a person (the “client”) in need of computer support, while another person (the “agent”) might provide that support but is not close to the first one and therefore cannot help directly.

 ... but connect anyway!

In that situation, both the client and the agent could launch ButConnect in the corresponding way — in client and agent mode.
After the client has communicated the credentials to the agent, the agent can access the client's computer and thus help remotely.

Launching ButConnect

Currently, ButConnect has a text based user interface to be started on the console:

... and then select the mode of operation and follow the instructions that appear on your screen.

However, if you don't want to specify any command line arguments, you can just launch it in its interactive mode with a double‑click — you will be prompted for any necessary information.
(Note: It might be necessary to create a ‘starter’ on Linux, macOS or other systems in order to launch ButConnect by clicking.)

All modes can be controlled interactively.

Interactive Mode

If you just launch the ButConnect executable without any command line argument, it will run interactively and the user will be prompted for any necessary information. Please follow the instructions that appear on your screen.

Select the Mode of Operation

You can cycle through the list of available modes, config files and pre-configured connections by pressing (Shift–)[Tab].

In this basic scenario, the client simply presses the [Return] key to confirm the already preset client mode and then communicates the on-screen credentials to the agent, who in turn presses [A] followed by [Return] to switch over to agent mode and then enters those credentials.

These information can also be specified on the command line. Equally, most of the settings can be placed in a configuration file.

A pre-configured connection can be selected either in interactive mode when prompted for a mode by typing ‘cf’ or ‘cn’ and then entering the name of the appropriate configuration file and/or section or by specifying it on the command line.

Besides connecting to hosts via a ButConnect server, a direct mode is also available for connecting to hosts in remote networks via an SSH server.

We have also started a more in-depth documentation page and a short guidance for unattended access.

Command Line

ButConnect can also be controlled from the command line:

Usage: ButConnect.exe [--mode[=value]] [--option[=value] [...]]

Without any argument, 'ButConnect' will run fully interactive.
You have to choose the mode of operation first:

Simply press [Enter] for default client mode (VNC) or type ...

... 'c' for default client mode (VNC)
... 'ca' for 'chat to agent' mode (client)
... 'd' for download mode (client)
... 'r' for remote mode (client)
... 't' for target mode (client)
... 'la' for 'let access' mode (client)
... 'a' for default agent mode (VNC)
... 'ac' for 'accept to chat' mode (agent)
... 'u' for upload mode (agent)
... 'l' for local mode (agent)
... 's' for source mode (agent)
... 'ga' for 'get access' mode (agent)
... 'px' for proxy mode (agent)
and then press [Enter].

If you specify command line arguments, you will be prompted for any missing but essential parameter:

Client Modes:
-c[=<user>] --client[=<user>]
-ca[=<user>] --chatagent[=<user>]
-d[=<file>] --download[=<file>]
-r[=<loop>] --remote[=<loop>]
-t[=<destination>] --target[=<destination>]
-la[=<remotehost>] --letaccess[=<remotehost>]

Options for Client Mode:
-p[=<port>] --port[=<port>]
-b[=<broker>] --broker[=<broker>]
-i[=<identity>] --identity[=<identity>]
-dest[=<destination>] --destination[=<destination>]
-lp[=<localport>] --localport[=<localport>]
-rh[=<remotehost>] --remotehost[=<remotehost>]
-rp[=<remoteport>] --remoteport[=<remoteport>]

Agent Modes:
-a[=<user>] --agent[=<user>]
-ac[=<user>] --acceptchat[=<user>]
-u[=<file>] --upload[=<file>]
-l[=<hook>] --local[=<hook>]
-s[=<origination>] --source[=<origination>]
-ga[=<remotehost>] --getaccess[=<remotehost>]
-px[=<proxyport>] --proxy[=<proxyport>]

Options for Agent Mode:
-p[=<port>] --port[=<port>]
-b[=<broker>] --broker[=<broker>]
-i[=<identity>] --identity[=<identity>]
-orig[=<origination>] --origination[=<origination>]
-lh[=<localhost>] --localhost[=<localhost>]
-lp[=<localport>] --localport[=<localport>]
-rh[=<remotehost>] --remotehost[=<remotehost>]
-rp[=<remoteport>] --remoteport[=<remoteport>]
-ph[=<proxyhost>] --proxyhost[=<proxyhost>]
-pp[=<proxyport>] --proxyport[=<proxyport>]

General Options:
-h --help
-v --version
-au[=(0|1)] --autoupdate[=(no|yes)]
-lf[=<filename>] --logfile[=<filename>]
-ll[=(0-7)] --loglevel[=(off-all)]
-m[=<mode>] --mode[=<mode>]
-w[=<delay>] --wait[=<delay>]
-x[=<delay>] --exit[=<delay>]
-all --advanced
-conf --configure
-confall --configureall
-cf[=<filename>] --configfile[=<filename>]
-cn[=<section>] --configname[=<section>]
-ipv4 --ipv4address
-mac --macaddress
-wol --wakeonlan