diff options
-rw-r--r-- | .SRCINFO | 46 | ||||
-rw-r--r-- | PKGBUILD | 92 | ||||
-rw-r--r-- | hook.install | 15 | ||||
-rw-r--r-- | hook.remove | 15 | ||||
-rw-r--r-- | login-example.conf | 3 | ||||
-rw-r--r-- | openvpn-strong.zip | bin | 0 -> 15193 bytes | |||
-rw-r--r-- | openvpn.zip | bin | 0 -> 14343 bytes | |||
-rw-r--r-- | pia-example.conf | 7 | ||||
-rw-r--r-- | pia.8.gz | bin | 0 -> 1089 bytes | |||
-rw-r--r-- | private-internet-access-vpn-3.0-1-any.pkg.tar.xz | bin | 0 -> 43948 bytes | |||
-rw-r--r-- | restart.conf | 2 | ||||
-rw-r--r-- | update-resolv-conf.patch | 11 | ||||
-rwxr-xr-x | vpn.sh | 5 |
13 files changed, 196 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..e671d004f0d0 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,46 @@ +# Generated by mksrcinfo v8 +# Tue Jul 26 22:11:19 UTC 2016 +pkgbase = private-internet-access-vpn-dev + pkgdesc = Installs VPN profiles for Private Internet Access Service + pkgver = 3.0 + pkgrel = 1 + url = https://www.privateinternetaccess.com/ + arch = any + license = GPL + makedepends = git + depends = python + depends = python-setuptools + depends = python-docopt + optdepends = networkmanager: Enables PIA for Network Manager + optdepends = connman: Enables PIA for Connman + optdepends = openvpn: Allows running configurations from command-line + noextract = openvpn.zip + noextract = openvpn-strong.zip + noextract = pia.8.gz + source = https://www.privateinternetaccess.com/openvpn/openvpn.zip + source = https://www.privateinternetaccess.com/openvpn/openvpn-strong.zip + source = login-example.conf + source = pia-example.conf + source = restart.conf + source = vpn.sh + source = pia.8.gz + source = hook.install + source = hook.remove + source = git://github.com/flamusdiu/python-pia.git#branch=dev + source = git://github.com/masterkorp/openvpn-update-resolv-conf.git + source = update-resolv-conf.patch + sha256sums = d318fb24aeefda24ad9057dd2955028972928172ed0b4683a10b20f0990e8180 + sha256sums = ea06430722d559ef35fbe84f7fd09de80abaae2c0a2f1cf63380d109d087809b + sha256sums = 4322a2a4bc3e206c6ab7e1df87a8805032b76c177c1ed9dd3501260ed32ccb30 + sha256sums = 797dbdb6e3aadc86f97262e26d61cf4847caf85dda4b7a97cac59088cb912b27 + sha256sums = 246fc4dc3218f56b4c70014df6801b10fc2a573d6545962b7fce05f16908c54e + sha256sums = 7f4a5ee1fb8ea4d0e69ed2a8217c575cf335f21e90082f6e423c769eca4a7a46 + sha256sums = dd15ff9d020d6779c51bff560c8571b462cc7ca3f4d2a92b8103056be4b2e0fd + sha256sums = 7f71b0bf5b2765cfc3c285c60036d4efdca0ba86756b58f228a53ed299600c28 + sha256sums = edf29947a752df34eec006adc1cddbf1b73f9757e3752400dffea25d651b80b9 + sha256sums = SKIP + sha256sums = SKIP + sha256sums = b346249c40d4eab7cf5a2b682b10f574d5f8ad6cf2b62604f15261a246b5f5a1 + +pkgname = private-internet-access-vpn-dev + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..b74810c2bdbc --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,92 @@ +# Maintainer: Jesse Spangenberger <azulephoenix@gmail.com> +pkgname=private-internet-access-vpn-dev +pkgver=3.0 +pkgrel=1 +pkgdesc="Installs VPN profiles for Private Internet Access Service" +arch=('any') +url="https://www.privateinternetaccess.com/" +license=('GPL') +depends=('python' 'python-setuptools' 'python-docopt') +makedepends=('git') +optdepends=('networkmanager: Enables PIA for Network Manager' + 'connman: Enables PIA for Connman' + 'openvpn: Allows running configurations from command-line') +sha256sums=('d318fb24aeefda24ad9057dd2955028972928172ed0b4683a10b20f0990e8180' + 'ea06430722d559ef35fbe84f7fd09de80abaae2c0a2f1cf63380d109d087809b' + '4322a2a4bc3e206c6ab7e1df87a8805032b76c177c1ed9dd3501260ed32ccb30' + '797dbdb6e3aadc86f97262e26d61cf4847caf85dda4b7a97cac59088cb912b27' + '246fc4dc3218f56b4c70014df6801b10fc2a573d6545962b7fce05f16908c54e' + '7f4a5ee1fb8ea4d0e69ed2a8217c575cf335f21e90082f6e423c769eca4a7a46' + 'dd15ff9d020d6779c51bff560c8571b462cc7ca3f4d2a92b8103056be4b2e0fd' + '7f71b0bf5b2765cfc3c285c60036d4efdca0ba86756b58f228a53ed299600c28' + 'edf29947a752df34eec006adc1cddbf1b73f9757e3752400dffea25d651b80b9' + 'SKIP' + 'SKIP' + 'b346249c40d4eab7cf5a2b682b10f574d5f8ad6cf2b62604f15261a246b5f5a1') + +source=("https://www.privateinternetaccess.com/openvpn/openvpn.zip" + "https://www.privateinternetaccess.com/openvpn/openvpn-strong.zip" + "login-example.conf" + "pia-example.conf" + "restart.conf" + "vpn.sh" + "pia.8.gz" + "hook.install" + "hook.remove" + "git://github.com/flamusdiu/python-pia.git#branch=dev" + "git://github.com/masterkorp/openvpn-update-resolv-conf.git" + "update-resolv-conf.patch") + +noextract=("openvpn.zip" + "openvpn-strong.zip" + "pia.8.gz") + +prepare() { + cd "${srcdir}" + + msg2 "Extracting Certifications..." + bsdtar -xf openvpn.zip "*.pem" "*.crt" + bsdtar -xf openvpn-strong.zip "*.pem" "*.crt" + + msg2 "Extracting OpenVPN Configurations..." + mkdir "vpn-configs" + bsdtar -xf openvpn.zip -C vpn-configs *.ovpn + + cd "vpn-configs" + msg2 "Creating Remote Host List..." + touch ../vpn-hosts.txt + + find *.ovpn -print0 | while read -d $'\0' file + do + host=$(egrep -o "([-A-Za-z]+\.privateinternetaccess\.com)" "$file") + printf "%s,%s\n" "${file/%.ovpn/}" ${host} >> ../vpn-hosts.txt + done + + msg2 "Done." + + msg2 "Patching update-resolv-conf ..." + patch -Np1 "${srcdir}/openvpn-update-resolv-conf/update-resolv-conf.sh" "${srcdir}/update-resolv-conf.patch" +} + +package() { + cd "${srcdir}" + + install -D -m 644 hook.install "${pkgdir}/usr/share/libalpm/hooks/pia-install.hook" + install -D -m 644 hook.remove "${pkgdir}/usr/share/libalpm/hooks/pia-remove.hook" + install -D -m 644 restart.conf "${pkgdir}/usr/lib/system/openvpn@.service.d/restart.conf" + install -D -m 755 vpn.sh "${pkgdir}/usr/lib/system/systemd/system-sleep/vpn.sh" + install -D -m 644 pia.8.gz "${pkgdir}/usr/share/man/man8/pia.8.gz" + + + install -dm755 "${pkgdir}"/etc/{openvpn,private-internet-access} + install -D -m 600 vpn-hosts.txt "${pkgdir}/etc/private-internet-access" + install -D -m 644 *.crt "${pkgdir}/etc/openvpn" + install -D -m 644 *.pem "${pkgdir}/etc/openvpn" + install -D -m 644 {pia-example.conf,login-example.conf} "${pkgdir}/etc/private-internet-access/" + + install -D -m 755 openvpn-update-resolv-conf/update-resolv-conf.sh "${pkgdir}/etc/openvpn/update-resolv-conf.sh" + + cd "python-pia" + python setup.py install --root="${pkgdir}/" --optimize=1 + +} diff --git a/hook.install b/hook.install new file mode 100644 index 000000000000..b5d75286a79a --- /dev/null +++ b/hook.install @@ -0,0 +1,15 @@ +[Trigger] +Operation = Install +Operation = Upgrade +Type = File +Target = var/lib/connman-vpn/* +Target = etc/Networkmanager/system-connections/* +Target = etc/openvpn/* + +[Action] +Description = Updating VPN configuations... +Depends = private-internet-access-vpn +When = PostTransaction +Exec = /usr/bin/pia -a +NeedsTargets + diff --git a/hook.remove b/hook.remove new file mode 100644 index 000000000000..23744702c27a --- /dev/null +++ b/hook.remove @@ -0,0 +1,15 @@ +[Trigger] +Operation = Upgrade +Operation = Remove +Type = File +Target = var/lib/connman-vpn/* +Target = etc/Networkmanager/system-connections/* +Target = etc/openvpn/* + +[Action] +Description = Removing VPN configuations... +Depends = private-internet-access-vpn +When = PreTransaction +Exec = /usr/bin/pia -r +NeedsTargets + diff --git a/login-example.conf b/login-example.conf new file mode 100644 index 000000000000..c75c6e9cc2a2 --- /dev/null +++ b/login-example.conf @@ -0,0 +1,3 @@ +your-username +your-password + diff --git a/openvpn-strong.zip b/openvpn-strong.zip Binary files differnew file mode 100644 index 000000000000..0ac8bbb7344b --- /dev/null +++ b/openvpn-strong.zip diff --git a/openvpn.zip b/openvpn.zip Binary files differnew file mode 100644 index 000000000000..b9cf0ca50583 --- /dev/null +++ b/openvpn.zip diff --git a/pia-example.conf b/pia-example.conf new file mode 100644 index 000000000000..43038740669d --- /dev/null +++ b/pia-example.conf @@ -0,0 +1,7 @@ +[pia] +openvpn_auto_login = True + +[configure] +apps = cm +hosts = US East, US West, Japan, UK London +port = 80 diff --git a/pia.8.gz b/pia.8.gz Binary files differnew file mode 100644 index 000000000000..c678331e1402 --- /dev/null +++ b/pia.8.gz diff --git a/private-internet-access-vpn-3.0-1-any.pkg.tar.xz b/private-internet-access-vpn-3.0-1-any.pkg.tar.xz Binary files differnew file mode 100644 index 000000000000..48f780b7b57d --- /dev/null +++ b/private-internet-access-vpn-3.0-1-any.pkg.tar.xz diff --git a/restart.conf b/restart.conf new file mode 100644 index 000000000000..8a764e347883 --- /dev/null +++ b/restart.conf @@ -0,0 +1,2 @@ +[Service] +Restart=always diff --git a/update-resolv-conf.patch b/update-resolv-conf.patch new file mode 100644 index 000000000000..93f84c5b5db1 --- /dev/null +++ b/update-resolv-conf.patch @@ -0,0 +1,11 @@ +--- /etc/openvpn/update-resolv-conf 2016-05-29 22:27:25.955162159 -0400 ++++ update-resolv-conf 2016-05-29 22:27:57.145164268 -0400 +@@ -18,7 +18,7 @@ + # foreign_option_4='dhcp-option DOMAIN-SEARCH bnc.local' + + ## You might need to set the path manually here, i.e. +-RESOLVCONF=$(which resolvconf) ++RESOLVCONF=$(type -p resolvconf) + + case $script_type in + diff --git a/vpn.sh b/vpn.sh new file mode 100755 index 000000000000..ee1794b77927 --- /dev/null +++ b/vpn.sh @@ -0,0 +1,5 @@ +#!/bin/sh +if [ "$1" == "pre" ] +then + killall openvpn +fi |