summaryrefslogtreecommitdiff
path: root/plugins/shell-proxy/ssh-proxy.py
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/shell-proxy/ssh-proxy.py')
-rwxr-xr-xplugins/shell-proxy/ssh-proxy.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/plugins/shell-proxy/ssh-proxy.py b/plugins/shell-proxy/ssh-proxy.py
new file mode 100755
index 000000000..5efd5fd21
--- /dev/null
+++ b/plugins/shell-proxy/ssh-proxy.py
@@ -0,0 +1,18 @@
+#!/usr/bin/env python3
+import os
+import subprocess
+import sys
+import urllib.parse
+
+proxy = next(os.environ[_] for _ in ("HTTP_PROXY", "HTTPS_PROXY") if _ in os.environ)
+argv = [
+ "nc",
+ "-X",
+ "connect",
+ "-x",
+ urllib.parse.urlparse(proxy).netloc, # proxy-host:proxy-port
+ sys.argv[1], # host
+ sys.argv[2], # port
+]
+
+subprocess.call(argv)