uncork
v1.1.0
Published
SSH-over-HTTPS proxy that works like Unix "corkscrew"
Downloads
4
Readme
uncork
SSH-over-HTTPS proxy that works like Unix corkscrew
.
Install
Run npm install uncork -g
to install uncork
globally.
Run
Before running
uncork
, make sure your proxy is set in environment variable as eitherHTTPS_PROXY
orHTTP_PROXY
.
Run uncork 22 ssh.github.com:443
to start uncork
server on port 22 and forward to ssh.github.com:443.
SSH-over-HTTPS proxy 1.0.0
- Listening on port 22
- Will connect to HTTPS proxy at 127.0.0.1:8888
- Will tunnel traffic to destination at ssh.github.com:443
If your proxy server requires authentication, you can run uncork 22 ssh.github.com:443 johndoe P@ssw0rd
to start uncork
server with BASIC authentication.
Options via environment variables
You can also set options thru environment variables listed below.
| Environment variable | Description | Default |
| ----------------------- | --------------------------------------- | -------------------- |
| uncork_destination
| Destination hostname and port | ssh.github.com:443
|
| uncork_port
| Port number to listen to | 22
|
| uncork_proxy_username
| Username for proxy BASIC authentication | |
| uncork_proxy_password
| Password for proxy BASIC authentication | |
How we use uncork
At our customer site, their Windows boxes are shared and locked behind firewall with HTTPS proxy. We want to use Git client to read/write to GitHub via SSH. We prefer SSH because we can use deploy keys to limit access to our repositories.
Our requirements:
- Use GitHub deploy keys, which is SSH only
- Work thru their HTTPS proxy
- Only allow traffic to external servers on port 443
- Requires authentication, supports both BASIC and NTLM
- Unzip to install
- Do not require administrative privileges
- Minimal footprint
Fortunately, GitHub has a SSH server setup on port 443 instead of 22, described in this article.
Assume our repository is setup with SSH deploy generated by puttygen
.
On the Windows box:
- Install PuTTY suite, with
plink
andpageant
- Setup environment variable
GIT_SSH
and point toplink.exe
- Run
SETX GIT_SSH <path to plink.exe>
- Run
- Load the deploy key
- Run
pageant
- Run
- Install and run
uncork
- Run
npm install uncork -g
- Run
uncork 22 ssh.github.com:443
- Run
- Clone the repository
- Run
git clone git@localhost/org/reponame.git
- Run
Although some steps mentioned above requires administrative privileges, we actually build a ZIP file to contain all installed components mentioned.
Contribution
Like us? Star us.
Found a bug? File us an issue.