blob: 24edb680b84cfe7dbdf4e0eb76a498125c534e98 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
#!/usr/bin/env bash
# Copyright 2016 Luke Shumaker
# License: WTFPLv2
# Dependencies:
# - bash
# - socat
# - date -R
server='httpconnectd'
MethodNotAllowed() {
printf '%s\r\n' \
'HTTP/1.1 405 Method Not Allowed' \
"Server: $server" \
"Date: $(date -R)" \
'Allow: CONNECT' \
''
exit 0
}
worker() {
read -r method dest version
if [[ "$method" != CONNECT ]]; then
MethodNotAllowed
fi
while read -r line; do
if [[ "$line" == $'\r' ]]; then
break;
fi
done
exec socat STDIO TCP-CONNECT:"$dest"
}
worker "$@"
|