Skip to main content

Manage persistent ssh tunnels and port forwards.

Project description

Manage persistent ssh tunnels and port forwards.

Portfwd runs a collection of ssh tunnel commands persistently, each in its own cs.app.svcd <https://pypi.org/project/cs.app.svcd>_ instance with all the visibility and process control that SvcD brings.

It reads tunnel preconditions from special comments within the ssh config file. It uses the configuration options from the config file as the SvcD signature function thus restarting particular ssh tunnels when their specific configuration changes. It has an "automatic" mode (the -A option) which monitors the desired list of tunnels from statuses expressed via cs.app.flag <https://pypi.org/project/cs.app.flag>_ which allows live addition or removal of tunnels as needed.

Function Condition(portfwd, op, invert, *args)

Factory to construct a condition from a specification.

Class FlagCondition

MRO: _PortfwdCondition
A flag based condition.

Function main(argv=None, environ=None)

Command line main programme.

Class PingCondition

MRO: _PortfwdCondition
A ping based condition.

Class Portfwd

MRO: cs.app.flag.FlaggedMixin
An ssh tunnel built on a SvcD.

Method Portfwd.__init__(self, target, ssh_config=None, conditions=(), test_shcmd=None, trace=False, verbose=False, flags=None)

Initialise the Portfwd.

Parameters:

  • target: the tunnel name, and also the name of the ssh configuration used
  • ssh_config: ssh configuration file if not the default
  • conditions: an iterable of Conditions which must hold before the tunnel is set up; the tunnel also aborts if these cease to hold
  • test_shcmd: a shell command which must succeed before the tunnel is set up; the tunnel also aborts if this command subsequently fails
  • trace: issue tracing messages; default False
  • verbose: be verbose; default False
  • flags: optional preexisting Flags instance

Class Portfwds

A collection of Portfwd instances and associated control methods.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cs.app.portfwd-20190602.tar.gz (8.1 kB view details)

Uploaded Source

File details

Details for the file cs.app.portfwd-20190602.tar.gz.

File metadata

  • Download URL: cs.app.portfwd-20190602.tar.gz
  • Upload date:
  • Size: 8.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for cs.app.portfwd-20190602.tar.gz
Algorithm Hash digest
SHA256 a292854cbbceac2f0b670a99f7e3e91ceec2f1eb8c24680d429b84d642ef73d2
MD5 a64dc72ef5746dc2831263bbc587bff7
BLAKE2b-256 395083c38e5a1a601367e5783b89c47648e30ebe830f8c69f1873ebe54e71603

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page