c8y(1)

πŸ“¦ version 2.56.1, in nixpkgs unstable

🌸 NAME

okay so welcome to the c8y(1) manual, bestie πŸ’– β€” the actual command is c8y-remoteaccess-server, and its whole job is literally β€œStart a local proxy server”. That's the name, that's the vibe, periodt.


✨ SYNOPSIS

the shape of it, no cap:

c8y remoteaccess server [flags]

πŸ’… DESCRIPTION

okay so the tea is: this command starts a local proxy server 🫢.

You can use the remote access local proxy inside your ssh config file so you can connect to your device with ssh without having to manually launch the proxy yourself. Iconic behavior, honestly.

To do that, add the following configuration to your device:

Host [device]
     User [device_username]
     PreferredAuthentications publickey
     IdentityFile [identify_file]
     ServerAliveInterval 120
     StrictHostKeyChecking no
     UserKnownHostsFile /dev/null
     ProxyCommand c8y remoteaccess server --device %n --listen -
Note, bestie: when using the --browser flag, by default the URL scheme (e.g. http, https) will be auto detected based on the Remote Access configuration's name. For example, if the configuration name has the https: (or e.g. https+mux:) prefix, then https will be used, otherwise http will be used. This aligns with the naming convention used in https://github.com/Cumulocity-IoT/cumulocity-remote-access-cloud-http-proxy ✨

πŸŽ€ OPTIONS

  • --browser[=false] β€” Open the endpoint in a browser (if available), bestie 🌈
  • --configuration="" β€” Remote Access Configuration. Accepts wildcards, and yes that's lowkey powerful ✨
  • --device=[] β€” Device 🫢
  • -h, --help[=false] β€” help for server
  • --listen="127.0.0.1:0" β€” Listen. Example shape: unix:///run/example.sock πŸŽ€
  • --multiplex[=false] β€” Carry all local connections over a single remote access session (yamux), which avoids the setup cost of a new session per connection. Requires a device supporting it (e.g. thin-edge.io), otherwise one session per connection is used. Enabled by default for configurations named with the mux option, e.g. "http+mux:example" πŸ¦‹
  • --scheme="auto" β€” URL scheme to use when opening the address in a browser, e.g. http, https or auto

🫢 OPTIONS INHERITED FROM PARENT COMMANDS

  • --abortOnErrors=10 β€” Abort batch when reaching the specified number of errors πŸ’€
  • --allowEmptyPipe[=false] β€” Don't fail when piped input is empty (stdin)
  • --cache[=false] β€” Enable cached responses
  • --cacheBodyPaths=[] β€” Cache should limit hashing of selected paths in the json body. Empty indicates all values
  • --cacheTTL="60s" β€” Cache time-to-live (TTL) as a duration, i.e. 60s, 2m
  • -c, --compact[=false] β€” Compact instead of pretty-printed output when using json output. Pretty print is the default if output is the terminal
  • --confirm[=false] β€” Prompt for confirmation
  • --confirmText="" β€” Custom confirmation text
  • --currentPage=0 β€” Current page which should be returned
  • --customQueryParam=[] β€” add custom URL query parameters. i.e. --customQueryParam 'withCustomOption=true,myOtherOption=myvalue'
  • --debug[=false] β€” Set very verbose log messages πŸ‘€
  • --delay="0ms" β€” delay after each request, i.e. 5ms, 1.2s
  • --delayBefore="0ms" β€” delay before each request, i.e. 5ms, 1.2s
  • --dry[=false] β€” Dry run. Don't send any data to the server
  • --dryFormat="markdown" β€” Dry run output format. i.e. json, dump, markdown or curl
  • --examples[=false] β€” Show examples for the current command
  • --filter=[] β€” Apply a client side filter to response before returning it to the user
  • --flatten[=false] β€” flatten json output by replacing nested json properties with properties where their names are represented by dot notation
  • -f, --force[=false] β€” Do not prompt for confirmation. Ignored when using --confirm
  • -H, --header=[] β€” custom headers. i.e. --header "Accept: value, AnotherHeader: myvalue"
  • --includeAll[=false] β€” Include all results by iterating through each page
  • -k, --insecure[=false] β€” Allow insecure server connections when using SSL
  • -l, --logMessage="" β€” Add custom message to the activity log
  • --maxJobs=0 β€” Maximum number of jobs. 0 = unlimited (use with caution!) 😭
  • --noAccept[=false] β€” Ignore Accept header β€” it will remove the Accept header from requests, however PUT and POST requests will only see the effect
  • --noCache[=false] β€” Force disabling of cached responses (overwrites cache setting)
  • -M, --noColor[=false] β€” Don't use colors when displaying log entries on the console
  • --noLog[=false] β€” Disables the activity log for the current command
  • --noProgress[=false] β€” Disable progress bars
  • --noProxy[=false] β€” Ignore the proxy settings
  • -n, --nullInput[=false] β€” Don't read the input (stdin). Useful if using in shell for/while loops
  • -o, --output="table" β€” Output format i.e. table, json, csv, csvheader
  • --outputFile="" β€” Save JSON output to file (after select/view)
  • --outputFileRaw="" β€” Save raw response to file (before select/view)
  • --outputTemplate="" β€” jsonnet template to apply to the output
  • -p, --pageSize=5 β€” Maximum results per page
  • --progress[=false] β€” Show progress bar. This will also disable any other verbose output
  • --proxy="" β€” Proxy setting, i.e. http://10.0.0.1:8080
  • -r, --raw[=false] β€” Show raw response. This mode will force output=json and view=off
  • --retries=3 β€” Max number of attempts when a failed http call is encountered
  • --select=[] β€” Comma separated list of properties to return. wildcards and globstar accepted, i.e. --select 'id,name,type,**.serialNumber'
  • --session="" β€” Session configuration
  • --sessionMode="" β€” Override default session mode for a single command which would normally be disabled
  • -P, --sessionPassword="" β€” Override session password
  • -U, --sessionUsername="" β€” Override session username. i.e. peter or t1234/peter (with tenant)
  • --silentExit[=false] β€” Silent status codes do not affect the exit code
  • --silentStatusCodes="" β€” Status codes which will not print out an error message
  • --timeout="600s" β€” Request timeout duration, i.e. 60s, 2m
  • --totalPages=0 β€” Total number of pages to get
  • -v, --verbose[=false] β€” Verbose logging
  • --view="auto" β€” Use views when displaying data on the terminal. Disable using --view off
  • --withError[=false] β€” Errors will be printed on stdout instead of stderr
  • --withTotalElements[=false] β€” Request Cumulocity to include the total elements in the response statistics under .statistics.totalElements (introduced in 10.13)
  • -t, --withTotalPages[=false] β€” Request Cumulocity to include the total pages in the response statistics under .statistics.totalPages
  • --workers=1 β€” Number of workers

πŸ¦‹ EXAMPLE

  • $ c8y remoteaccess server --device 12345 β€” Start a local proxy server on a random local port ✨
  • $ c8y remoteaccess server --device 12345 --listen - β€” Start a local proxy server reading from stdin and writing to stdout (useful for usage with the ProxyCommand in ssh)
  • $ c8y remoteaccess server --device 12345 --listen unix:///run/example.sock β€” Start a local proxy using a UNIX socket πŸŽ€
  • $ c8y remoteaccess server --device 12345 --listen 127.0.0.1:22022 β€” Start a local proxy using a local TCP server on a fixed port 22022
  • $ c8y remoteaccess server --device 12345 --configuration "*rugpi*" --browser β€” Start a local proxy and match on the configuration using wildcards, then open the browser to the endpoint πŸ¦‹
  • $ c8y remoteaccess server --device 12345 --configuration "*rugpi*" --browser --scheme https β€” Start a local proxy and match on the configuration using wildcards, then open the browser to the endpoint and force usage of https
  • $ c8y remoteaccess server --device 12345 --configuration "http:*" --browser --multiplex β€” Start a local proxy which carries all connections over a single remote access session (if supported by the device), e.g. to speed up loading a web application πŸ”₯
  • $ c8y remoteaccess server --device 12345 --configuration "https+mux:*" --browser β€” Start a local proxy for a configuration named with the mux option, which is multiplexed automatically

🌈 SEE ALSO

c8y-remoteaccess(1) πŸ’œ


okay that's the whole page, bestie β€” and the lil footer vibe is date Jan 1980 with manual name c8y(1), so that's the cute sign-off, mwah πŸ’‹πŸŽ€

πŸ“¦ where this page comes from