RECEPTOR(1)
π RECEPTOR(1) π
okay bestie, this is RECEPTOR(1) β it lives in the User Commands part of the manual, and yes this whole thing is about receptor, the Main controller daemon. buckle up, it's long, but we're getting through it together π«Ά
πΈ NAME πΈ
receptor β Main controller daemon π
π¦ SYNOPSIS π¦
receptor [--<action> [<param>=<value> ...] ...]
β¨ DESCRIPTION β¨
so the whole vibe here is: you hand receptor one or more actions, and each action can have a lil pile of <param>=<value> pairs trailing after it. that's the shape of literally every invocation. here's every action the manual lists π
--helpβ shows this help. that's it, that's the whole thing π--config <filename>β loads extra config options from a YAML file--bash-completionβ generates a completion script for the bash shell- to turn it on right now, run
. <(receptor --bash-completion)β¨
- to turn it on right now, run
--nodeβ specifies the node configuration of this instance (required, so like, do not skip this one β οΈ)id=<string>β the node ID. defaults to the local hostnamedatadir=<string>β the directory where node data gets stored (default:/tmp/receptor)firewallrules=<JSON list of JSON dict of JSON data to JSON data>β firewall rules; go read the documentation for the syntax, bestiemaxidleconnectiontimeout=<string>β how long a backend connection can sit there with zero traffic before it gets timed out and refreshedreceptorkubesupportreconnect=<string>receptorkubeclientsetqps=<string>receptorkubeclientsetburst=<string>- **
receptorkubeclientsetratelimiter=<string>
fr the last four have no description in the original β the page just lists them, so that's all we got π
--local-onlyβ runs a self-contained node with no backendlocal=<bool>
--versionβ displays the Receptor version--log-levelβ specifies the verbosity level for command outputlevel=<string>β the log level:Error,Warning,InfoorDebug(default:error)
--traceβ enables packet tracing output--control-serviceβ runs a control serviceservice=<string>β the Receptor service name to listen on (default:control)filename=<string>β the filename of a local Unix socket to bind to the servicepermissions=<int>β socket file permissions (default:0600)tls=<string>β name of the TLS server config for the Receptor listenertcplisten=<string>β local TCP port, orhost:port, to bind the control service totcptls=<string>β name of the TLS server config for the TCP listener
π Commands that configure resources used by other commands π
--tls-serverβ define a TLS server configurationname=<string>β name of this TLS server configuration (required)cert=<string>β server certificate filename (required)key=<string>β server private key filename (required)requireclientcert=<bool>β require client certificates (default:false)clientcas=<string>β filename of the CA bundle to verify client certs withpinnedclientcert=<[]string (may be repeated)>β pinned fingerprint of the required client certificateskipreceptornamescheck=<bool>β skip verifyingReceptorNamesOIDs in the certificate at startup (default:false)mintls13=<bool>β set the minimum TLS version to 1.3. otherwise the minimum is 1.2 (default:true)
--tls-clientβ define a TLS client configurationname=<string>β name of this TLS client configuration (required)cert=<string>β client certificate filename (required)key=<string>β client private key filename (required)rootcas=<string>β root CA bundle to use instead of system trustinsecureskipverify=<bool>β accept any server cert (default:false)pinnedservercert=<[]string (may be repeated)>β pinned fingerprint of the required server certificateskipreceptornamescheck=<bool>β iftrue, skip verifyingReceptorNamesOIDs in the certificate at startupmintls13=<bool>β set the minimum TLS version to 1.3. otherwise the minimum is 1.2 (default:true)
π Commands to configure back-ends, which connect Receptor nodes together π
--tcp-listenerβ run a backend listener on a TCP portbindaddr=<string>β local address to bind to (default:0.0.0.0)port=<int>β local TCP port to listen on (required)tls=<string>β name of the TLS server configcost=<float64>β connection cost (weight) (default:1.0)nodecost=<JSON dict of string to float64>β per-node costsallowedpeers=<[]string (may be repeated)>β peer node IDs to allow via this connection
--tcp-peerβ make an outbound backend connection to a TCP peeraddress=<string>β remote address (Host:Port) to connect to (required)redial=<bool>β keep redialing on a lost connection (default:true)tls=<string>β name of the TLS client configcost=<float64>β connection cost (weight) (default:1.0)allowedpeers=<[]string (may be repeated)>β peer node IDs to allow via this connection
--udp-listenerβ run a backend listener on a UDP portbindaddr=<string>β local address to bind to (default:0.0.0.0)port=<int>β local UDP port to listen on (required)cost=<float64>β connection cost (weight) (default:1.0)nodecost=<JSON dict of string to float64>β per-node costsallowedpeers=<[]string (may be repeated)>β peer node IDs to allow via this connection
--udp-peerβ make an outbound backend connection to a UDP peeraddress=<string>βHost:Portto connect to (required)redial=<bool>β keep redialing on a lost connection (default:true)cost=<float64>β connection cost (weight) (default:1.0)allowedpeers=<[]string (may be repeated)>β peer node IDs to allow via this connection
--ws-listenerβ run an http server that accepts websocket connectionsbindaddr=<string>β local address to bind to (default:0.0.0.0)port=<int>β local TCP port to run the http server on (required)path=<string>β URI path to the websocket server (default:/)tls=<string>β name of the TLS server configcost=<float64>β connection cost (weight) (default:1.0)nodecost=<JSON dict of string to float64>β per-node costsallowedpeers=<[]string (may be repeated)>β peer node IDs to allow via this connection
--ws-peerβ connect outbound to a websocket peeraddress=<string>β URL to connect to (required)redial=<bool>β keep redialing on a lost connection (default:true)extraheader=<string>β sends an extra HTTP header on the initial connectiontls=<string>β name of the TLS client configcost=<float64>β connection cost (weight) (default:1.0)allowedpeers=<[]string (may be repeated)>β peer node IDs to allow via this connection
π§ Commands to configure services that run on top of the Receptor mesh π§
--command-serviceβ run an interactive command via a Receptor serviceservice=<string>β Receptor service name to bind to (required)command=<string>β command to execute on a connection (required)tls=<string>β name of the TLS server config
--ip-routerβ run an IP router using a tun interfacenetworkname=<string>β name of this network and service (required)interface=<string>β name of the local tun interfacelocalnet=<string>β local/30CIDR address (required)routes=<string>β comma separated list of CIDR subnets to advertise
--tcp-serverβ listen for TCP and forward via Receptorport=<int>β local TCP port to bind to (required)bindaddr=<string>β address to bind the TCP listener to (default:0.0.0.0)remotenode=<string>β Receptor node to connect to (required)remoteservice=<string>β Receptor service name to connect to (required)tlsserver=<string>β name of the TLS server config for the TCP listenertlsclient=<string>β name of the TLS client config for the Receptor connection
--tcp-clientβ listen on a Receptor service and forward via TCPservice=<string>β Receptor service name to bind to (required)address=<string>β address for the outbound TCP connection (required)tlsserver=<string>β name of the TLS server config for the Receptor servicetlsclient=<string>β name of the TLS client config for the TCP connection
--udp-serverβ listen for UDP and forward via Receptorport=<int>β local UDP port to bind to (required)bindaddr=<string>β address to bind the UDP listener to (default:0.0.0.0)remotenode=<string>β Receptor node to connect to (required)remoteservice=<string>β Receptor service name to connect to (required)
--udp-clientβ listen on a Receptor service and forward via UDPservice=<string>β Receptor service name to bind to (required)address=<string>β address for the outbound UDP connection (required)
--unix-socket-serverβ listen on a Unix socket and forward via Receptorfilename=<string>β socket filename, which will be overwritten (required) πpermissions=<int>β socket file permissions (default:0600)remotenode=<string>β Receptor node to connect to (required)remoteservice=<string>β Receptor service name to connect to (required)tls=<string>β name of the TLS client config for the Receptor connection
--unix-socket-clientβ listen via Receptor and forward to a Unix socketservice=<string>β Receptor service name to bind to (required)filename=<string>β socket filename, which must already exist (required)tls=<string>β name of the TLS server config for the Receptor connection
π Commands to configure workers that process units of work π
--work-signingβ private key to sign work submissionsprivatekey=<string>β private key to sign work submissionstokenexpiration=<string>β expiration of the signed json web token, e.g.3hor3h30m
--work-verificationβ public key to verify work submissionspublickey=<string>β public key to verify signed work submissions
--work-commandβ run a worker using an external commandworktype=<string>β name for this worker type (required)command=<string>β command to run to process units of work (required)params=<string>β command-line parametersallowruntimeparams=<bool>β allow users to add more parameters (default:false)verifysignature=<bool>β verify a signed work submission (default:false)
--work-kubernetesβ run a worker using Kubernetes- *
worktype=<string>* ** β what we're calling this worker type. Required, bestie, no skipping. - *
namespace=<string>* ** β the Kubernetes namespace where the pods get born π« - *
image=<string>* ** β container image for the worker pod - *
command=<string>* ** β command to run inside the container (heads up, this overrides the entrypoint) - *
params=<string>* ** β command-line params you're passing to the entrypoint - *
authmethod=<string>* ** β literally one ofkubeconfigorincluster(default:incluster) - *
kubeconfig=<string>* ** β the kubeconfig filename (only whenauthmethod=kubeconfig, iykyk) - *
pod=<string>* ** β pod definition filename, injsonoryamlformat - *
allowruntimeauth=<bool>* ** β let API parameters get passed at runtime (default:false) - *
allowruntimecommand=<bool>* ** β let image & command be specified at runtime (default:false) - *
allowruntimeparams=<bool>* ** β let command parameters be added at runtime (default:false) - *
allowruntimepod=<bool>* ** β let a Pod get passed at runtime (default:false) - *
deletepodonrestart=<bool>* ** β on restart, delete the pod if it's stuck in pending state (default:true) - *
streammethod=<string>* ** β how we connect to worker pods:loggerortcp(default:logger) - *
verifysignature=<bool>* ** β verify a signed work submission (default:false)
--work-pythonβ run a worker using a Python plugin π
[DEPRECATION WARNING] This option is not currently being used. This feature will be removed from receptor in a future release. Not me warning you about a glow-up that's getting cancelled π
- *
worktype=<string>* ** β name for this worker type (required) - *
plugin=<string>* ** β Python module name of the worker plugin (required) - *
function=<string>* ** β receptor-exported function to call (required) - *
config=<JSON dict with string keys>* ** β plugin-specific configuration
β¨ Commands to generate certificates and run a certificate authority β¨
PKI era, let's go π
--cert-initβ initialize PKI CA π- *
commonname=<string>* ** β common name to assign to the certificate (required) - *
bits=<int>* ** β bit length of the encryption keys of the certificate (required) - *
notbefore=<string>* ** β effective (NotBefore) date/time, in RFC3339 format - *
notafter=<string>* ** β expiration (NotAfter) date/time, in RFC3339 format - *
outcert=<string>* ** β file to save the CA certificate to (required) - *
outkey=<string>* ** β file to save the CA private key to (required) - *
osw=<certificates.Oser>* ** β OS wrapper for file operations
- *
--cert-makereqβ create certificate request π- *
commonname=<string>* ** β common name to assign to the certificate (required) - *
bits=<int>* ** β bit length of the encryption keys of the certificate - *
dnsname=<[]string (may be repeated)>* ** β DNS names to add to the certificate - *
ipaddress=<[]string (may be repeated)>* ** β IP addresses to add to the certificate - *
nodeid=<[]string (may be repeated)>* ** β receptor node IDs to add to the certificate - *
outreq=<string>* ** β file to save the certificate request to (required) - *
inkey=<string>* ** β private key to use for the request - *
outkey=<string>* ** β file to save the private key to (a fresh new key will be generated β¨) - *
osw=<certificates.Oser>* ** β OS wrapper for file operations
- *
--cert-signreqβ sign request and produce certificate ποΈ- *
req=<string>* ** β certificate request PEM filename (required) - *
cacert=<string>* ** β CA certificate PEM filename (required) - *
cakey=<string>* ** β CA private key PEM filename (required) - *
notbefore=<string>* ** β effective (NotBefore) date/time, in RFC3339 format - *
notafter=<string>* ** β expiration (NotAfter) date/time, in RFC3339 format - *
outcert=<string>* ** β file to save the signed certificate to (required) - *
verify=<bool>* ** β iftrue, don't prompt the user for verification (default:False)
- *
π SEE ALSO π
The full documentation for receptor is maintained as a Texinfo manual. If the info and receptor programs are properly installed at your site, the command
info receptor
should give you access to the complete manual. Go read it, it's giving complete manual energy π
And that's a wrap on receptor! π This whole thing is receptor 1.6.6, dated June 2026 β like, that's the version you're holding and the month it was stamped, so write it down bestie. Periodt. π
π¦ where this page comes from
- ubuntu stonking: receptor 1.6.6-1 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms