summarylogtreecommitdiffstats
diff options
context:
space:
mode:
author8vn5acnmf52021-10-30 21:50:46 +0200
committer8vn5acnmf52021-10-30 21:50:46 +0200
commitf3ad3d3f585bcc4de512fbca798f5cf99f05da63 (patch)
tree1e5d4d7817505b21ec8c66c7948e8e3728a4250c
downloadaur-f3ad3d3f585bcc4de512fbca798f5cf99f05da63.tar.gz
Init repo
-rw-r--r--.SRCINFO27
-rw-r--r--PKGBUILD35
-rw-r--r--city_dns.patch26
-rw-r--r--tree.patch20
4 files changed, 108 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..a10b516f6fdd
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,27 @@
+pkgbase = perfect-privacy-vpn
+ pkgdesc = Perfect Privacy VPN
+ pkgver = 1.3.17
+ pkgrel = 1
+ url = https://www.perfect-privacy.com
+ arch = x86_64
+ license = custom
+ depends = openvpn
+ depends = python-requests
+ depends = python-blinker
+ depends = python-gobject
+ depends = polkit
+ depends = gtk3
+ depends = pango
+ depends = glib2
+ depends = gdk-pixbuf2
+ depends = libappindicator-gtk3
+ depends = resolvconf
+ optdepends = openvpn-update-systemd-resolved
+ source = https://www.perfect-privacy.com/downloads/perfect-privacy-vpn.deb
+ source = city_dns.patch
+ source = tree.patch
+ sha256sums = 9eccf94ad15d4d1c82fa6c1156ca0343e6c29db97f964fd1dbc7865ef687c6b8
+ sha256sums = 2bd9aba04477f32a9ccd13e2979231dee33ac9c7d3589eb1332af1511349804c
+ sha256sums = 867d266f1ad84571ffe5ef08eac986869058e5daf17b01ec063ca659594f853d
+
+pkgname = perfect-privacy-vpn
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..edd3ef2561f0
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,35 @@
+# Maintainer: 8vn5acnmf5
+pkgname=perfect-privacy-vpn
+pkgver=1.3.17
+pkgrel=1
+pkgdesc='Perfect Privacy VPN'
+arch=('x86_64')
+license=('custom')
+url='https://www.perfect-privacy.com'
+depends=('openvpn' 'python-requests' 'python-blinker' 'python-gobject' 'polkit' 'gtk3' 'pango' 'glib2' 'gdk-pixbuf2' 'libappindicator-gtk3' 'resolvconf')
+optdepends=('openvpn-update-systemd-resolved')
+
+source=('https://www.perfect-privacy.com/downloads/perfect-privacy-vpn.deb'
+ 'city_dns.patch'
+ 'tree.patch'
+ )
+sha256sums=('9eccf94ad15d4d1c82fa6c1156ca0343e6c29db97f964fd1dbc7865ef687c6b8'
+ '2bd9aba04477f32a9ccd13e2979231dee33ac9c7d3589eb1332af1511349804c'
+ '867d266f1ad84571ffe5ef08eac986869058e5daf17b01ec063ca659594f853d'
+ )
+
+package() {
+ tar -xf data.tar.xz -C "${pkgdir}"
+
+ # not needed
+ rm -rf "${pkgdir}/etc"
+
+ # fix polkit policy
+ sed -i '15s/no/auth_admin/' ${pkgdir}/usr/share/polkit-1/actions/com.perfect-privacy.perfect-privacy-vpn.policy
+ sed -i '16s/no/auth_admin/' ${pkgdir}/usr/share/polkit-1/actions/com.perfect-privacy.perfect-privacy-vpn.policy
+
+ # https://board.perfect-privacy.com/threads/tutorial-ip-dns-country-city-anzeige-im-vpn-manager.3404/
+ patch ${pkgdir}/opt/perfect_privacy/perfect-privacy-vpn/perfect_privacy_vpn/PerfectPrivacyVpnWindow.py ${srcdir}/city_dns.patch
+ # https://board.perfect-privacy.com/threads/vpn-manager-crashed-unter-ubuntu-hirsute.4780/#post-33118
+ patch ${pkgdir}/opt/perfect_privacy/perfect-privacy-vpn/perfect_privacy_vpn_lib/Builder.py ${srcdir}/tree.patch
+}
diff --git a/city_dns.patch b/city_dns.patch
new file mode 100644
index 000000000000..ab519f414fa7
--- /dev/null
+++ b/city_dns.patch
@@ -0,0 +1,26 @@
+--- PerfectPrivacyVpnWindow.py.old 2021-10-29 18:04:26.406643379 +0200
++++ PerfectPrivacyVpnWindow.py 2021-10-29 18:15:25.199953162 +0200
+@@ -18,6 +18,8 @@
+ # noinspection PyUnresolvedReferences
+ from gi.repository import Gtk, Gdk, GObject # pylint: disable=E0611
+ import logging
++import requests
++import json
+ from perfect_privacy_vpn_lib.helpers import get_media_file
+
+ from perfect_privacy_vpn_lib import Window
+@@ -362,7 +364,13 @@
+ message = vpn_state.full_message
+
+ def do():
+- self.ui.label_status.set_label(message)
++ if vpn_state.is_connected():
++ response = requests.get("https://checkip.perfect-privacy.com/json")
++ j = json.loads(response.content)
++ self.ui.label_status.set_label(message + "\nIP: " + j["IP"] + "\nDNS: " + j["DNS"] + "\n" + j["CITY"] + ", " + j["COUNTRY"])
++ else:
++ self.ui.label_status.set_label(message)
++
+ self.ui.image_status.set_from_file(image_path)
+
+ GObject.idle_add(do)
diff --git a/tree.patch b/tree.patch
new file mode 100644
index 000000000000..d54befa99120
--- /dev/null
+++ b/tree.patch
@@ -0,0 +1,20 @@
+--- Builder.py.old 2021-10-29 17:57:58.213324116 +0200
++++ Builder.py 2021-10-29 17:58:59.863321882 +0200
+@@ -85,7 +85,7 @@
+ tree.parse(filename)
+
+ # TODO: dreprecated
+- ele_widgets = tree.getiterator("object")
++ ele_widgets = tree.iter("object")
+ for ele_widget in ele_widgets:
+ name = ele_widget.attrib['id']
+ widget = self.get_object(name)
+@@ -108,7 +108,7 @@
+ self.connections.extend(connections)
+
+ #TODO: dreprecated
+- ele_signals = tree.getiterator("signal")
++ ele_signals = tree.iter("signal")
+ for ele_signal in ele_signals:
+ self.glade_handler_dict.update(
+ {ele_signal.attrib["handler"]: None})