Skip to content

Instantly share code, notes, and snippets.

@jovanialferez
Created August 13, 2016 03:20
Show Gist options
  • Save jovanialferez/e1a04b18ce2a41b3720ea716066cf9ae to your computer and use it in GitHub Desktop.
Save jovanialferez/e1a04b18ce2a41b3720ea716066cf9ae to your computer and use it in GitHub Desktop.
#!/bin/sh
cd /tmp
mkdir vpnht
cd vpnht
cat <<EOF > vpnht.conf
client
dev tun
proto udp
resolv-retry infinite
nobind
key-direction 1
reneg-sec 0
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
persist-key
persist-tun
ping 15
ping-restart 45
ping-timer-rem
ns-cert-type server
script-security 2
mute 10
comp-lzo
verb 5
pull
fast-io
auth-nocache
cipher AES-128-CBC
remote-random
ca /tmp/vpnht/ca.crt
tls-auth /tmp/vpnht/cl.key
auth-user-pass /tmp/m3383ns1.txt
log /tmp/vpnht/vpnht.log
remote us.vpn.ht 1194
remote us.vpn.ht 1195
remote us.vpn.ht 1196
remote us.vpn.ht 1197
remote us.vpn.ht 1198
remote us.vpn.ht 1199
remote us.vpn.ht 1200
EOF
cat <<"EOF" > user.txt
EOF
chmod 600 user.txt
cat <<EOF > ca.crt
-----BEGIN CERTIFICATE-----
MIIEmzCCA4OgAwIBAgIJAIsPF0BTVr9FMA0GCSqGSIb3DQEBCwUAMIGPMQswCQYD
VQQGEwJVUzELMAkGA1UECBMCREUxEzARBgNVBAcTCldpbG1pbmd0b24xDjAMBgNV
BAoTBVZwbkhUMQ4wDAYDVQQLEwVWUE5IVDEPMA0GA1UEAxMGdnBuLmh0MQ4wDAYD
VQQpEwVWUE5IVDEdMBsGCSqGSIb3DQEJARYOc3VwcG9ydEB2cG4uaHQwHhcNMTQx
MTI4MTM1NDE5WhcNMjQxMTI1MTM1NDE5WjCBjzELMAkGA1UEBhMCVVMxCzAJBgNV
BAgTAkRFMRMwEQYDVQQHEwpXaWxtaW5ndG9uMQ4wDAYDVQQKEwVWcG5IVDEOMAwG
A1UECxMFVlBOSFQxDzANBgNVBAMTBnZwbi5odDEOMAwGA1UEKRMFVlBOSFQxHTAb
BgkqhkiG9w0BCQEWDnN1cHBvcnRAdnBuLmh0MIIBIjANBgkqhkiG9w0BAQEFAAOC
AQ8AMIIBCgKCAQEA3Vz35G5+cChwgyy2L96U6hVCkT2TVfXE4EA+UoVzSV2DQIYH
4cdz+t+jmvyfPZCLdqRIZ3QgV+ftPFuCPlrESdccIOhe1KM5GDDv4LhsQC6jbAsH
pmRrilIxLyZBVTfe2opAJ1A1e03CYjORgLBz7vx+krQ+cG6p7mR/aoKSJulgOhkR
PffXKhnq7dGQkFR5tSG5xESsQVbRqP82xyR9eCOC8GyN6yKt85vCmA/e+6f3fGrJ
uyXnmexxrV8GvRNbdScY/TcjaPsMwePOaOGfa97Svt/M7loTKgUI544p+nEH3QeK
BxwiryBUOHmFetOBh+2nabn5982t4k+MVdy6kQIDAQABo4H3MIH0MB0GA1UdDgQW
BBRvE5Y9ivf8/XYJosCQJeaOIhnYBTCBxAYDVR0jBIG8MIG5gBRvE5Y9ivf8/XYJ
osCQJeaOIhnYBaGBlaSBkjCBjzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkRFMRMw
EQYDVQQHEwpXaWxtaW5ndG9uMQ4wDAYDVQQKEwVWcG5IVDEOMAwGA1UECxMFVlBO
SFQxDzANBgNVBAMTBnZwbi5odDEOMAwGA1UEKRMFVlBOSFQxHTAbBgkqhkiG9w0B
CQEWDnN1cHBvcnRAdnBuLmh0ggkAiw8XQFNWv0UwDAYDVR0TBAUwAwEB/zANBgkq
hkiG9w0BAQsFAAOCAQEAOyV3OXQOyJk4U4kkLtvy/Kw0p2V3kaAwRZ9t8sQU1vm4
g/5DIE3lbfCKT4vyb1ckzoV6bP6lG/9NhePJyGR6kub1M9KmwbdR68uTXH69S8/N
ENdjI66gcPLmZGB7FrlMV7wQUy7X5g3cbLJ6spVKqM7lnYmxSqfwTG8qq546gdgk
0OcROxPVtRDyKr+xQRg+WJSFa1ugcVz/x2FiYyTXFwgTS9RAXymTOiDIZcTlrmik
32XQSJBk1cbUDCFsZo9LbuUB3Oe6Kv36wUJAXlsxgEtdgEcsr7BezqLcSPp6PyqC
5GZ97ULagirc82d4BfDVp1GtUJlJMLJVMAmaoNn3Sw==
-----END CERTIFICATE-----
EOF
cat <<EOF >cl.key
-----BEGIN OpenVPN Static key V1-----
74fa428696037279b617bb92efc1d2df
edf3e030b0e24b848e1389490411e2b6
ebbc521669285d17b9aeea190066502a
c3ad09b0b272a81ed737760451fe6071
a2003356a5f8e0f8f4555290f539bcfb
371282cec7f6de53ffce1665f304f774
6d4aaad012afa02a4faa9d4db325e104
e1c957b056e1d6130daf4210531488e0
978ba4ddaac3986e31c23f6589d21f62
e36354931f0723771376c117b6ef3a17
260e1f582475b8e1438147a82d716b37
f8d451f0191586040950721bc5657657
ecd7574731c06d390af2977c2eb15176
b604121698394edf94e1ea091f008b83
ad7921e7beba7b175956b9261d0cd686
692b07de56806b72e46e5a7a69f9bb9a
-----END OpenVPN Static key V1-----
EOF
chmod 600 cl.key
cat <<EOF > up.sh
#!/bin/sh
iptables -A POSTROUTING -t nat -o tun0 -j MASQUERADE
EOF
chmod 755 up.sh
cat <<EOF > dn.sh
#!/bin/sh
iptables -D POSTROUTING -t nat -o tun0 -j MASQUERADE
/tmp/vpnht/vpn.sh &
EOF
chmod 755 dn.sh
cat <<EOF > vpn.sh
#!/bin/sh
openvpn --config /tmp/vpnht/vpnht.conf --route-up /tmp/vpnht/up.sh --down /tmp/vpnht/dn.sh --daemon 2>&1 >> /tmp/vpnht/vpnht.log
EOF
chmod 755 vpn.sh
while [ `date +%Y` -lt 2015 ]; do
sleep 5
done
sleep 2
while ! ps|grep openvpn|grep -v grep >/dev/null ; do
/tmp/vpnht/vpn.sh &
sleep 30
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment