.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.42) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "corkscrew 1" .TH corkscrew 1 "2022-05-22" "corkscrew" "Networking" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" corkscrew \- Tunnel TCP connections through HTTP proxies .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& corkscrew PROXY PROXYPORT TARGETHOST TARGETPORT [AUTH_FILE] .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" corkscrew is a simple tool to tunnel \s-1TCP\s0 connections through an \s-1HTTP\s0 proxy supporting the \s-1CONNECT\s0 method. It reads stdin and writes to std\- out during the connection, just like netcat. It can be used for instance to connect to an \s-1SSH\s0 server running on a remote 443 port through a strict \s-1HTTPS\s0 proxy. .IP "\s-1PROXY\s0" 4 .IX Item "PROXY" The name of the host running the \s-1HTTP\s0 proxy. .IP "\s-1PROXYPORT\s0" 4 .IX Item "PROXYPORT" The port on which to connect on the proxy. .IP "\s-1TARGET\s0" 4 .IX Item "TARGET" The host to reach through the proxy. .IP "\s-1TARGETPORT\s0" 4 .IX Item "TARGETPORT" The port to connect to on the target host. .IP "\s-1AUTH_ FILE\s0" 4 .IX Item "AUTH_ FILE" The auth file is made of one single line containing your username and password in the form .Sp .Vb 1 \& username:password .Ve .SH "OPTIONS" .IX Header "OPTIONS" None. .SH "EXAMPLES" .IX Header "EXAMPLES" The common usage of corkscrew is to put the following line in ~/.ssh/ssh_config: .PP .Vb 1 \& ProxyCommand corkscrew proxy proxyport %h %p [] .Ve .PP This will let the ssh connection go through the proxy with the help of corkscrew. .SH "ENVIRONMENT" .IX Header "ENVIRONMENT" None. .SH "FILES" .IX Header "FILES" None. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fBssh_config\fR\|(5) .SH "AUTHORS" .IX Header "AUTHORS" Program was written by Pat Padgett . .PP This manual page was written by Laurent Fousse for the Debian \s-1GNU\s0 system (but may be used by others). Updated by Jari Aalto . Released under license \s-1GNU GPL\s0 version 2 or (at your option) any later version. For more information about license, visit .