From 6d0ed1d5bde0fedc26d0889dab825096741d0164 Mon Sep 17 00:00:00 2001 From: Ruben Pollan Date: Wed, 5 Sep 2018 12:07:44 +0200 Subject: [pkg] create snaps with the standalone version --- .gitignore | 8 +++++ snap/gui/riseup-vpn.desktop | 15 +++++++++ snap/gui/riseupvpn.svg | 80 +++++++++++++++++++++++++++++++++++++++++++++ snap/hooks/install | 14 ++++++++ snap/hooks/remove | 6 ++++ snap/snapcraft.yaml | 70 +++++++++++++++++++++++++++++++++++++++ snap/version.sh | 5 +++ 7 files changed, 198 insertions(+) create mode 100644 snap/gui/riseup-vpn.desktop create mode 100644 snap/gui/riseupvpn.svg create mode 100755 snap/hooks/install create mode 100755 snap/hooks/remove create mode 100644 snap/snapcraft.yaml create mode 100755 snap/version.sh diff --git a/.gitignore b/.gitignore index 4b7eda5..d8c97e9 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,11 @@ __pycache__ helper/helper helper/pid win/*-installer.nsi + +# snaps +parts +prime +stage +*.snap +*.tar.bz2 +snap/.snapcraft diff --git a/snap/gui/riseup-vpn.desktop b/snap/gui/riseup-vpn.desktop new file mode 100644 index 0000000..e325b20 --- /dev/null +++ b/snap/gui/riseup-vpn.desktop @@ -0,0 +1,15 @@ +[Desktop Entry] +Version=1.0 +Type=Application +Name=RiseupVPN +Comment=Anonymous VPN +Comment[es]=VPN Anonima +Comment[de]=Anonymous VPN +Path=/snap/bin +Exec=riseup-vpn.launcher +Terminal=false +Icon=/snap/riseup-vpn/current/snap/gui/riseupvpn.svg +Categories=Network;Application; +StartupNotify=true +Keywords=VPN;riseup;leap + diff --git a/snap/gui/riseupvpn.svg b/snap/gui/riseupvpn.svg new file mode 100644 index 0000000..a19c6c6 --- /dev/null +++ b/snap/gui/riseupvpn.svg @@ -0,0 +1,80 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/snap/hooks/install b/snap/hooks/install new file mode 100755 index 0000000..c435f00 --- /dev/null +++ b/snap/hooks/install @@ -0,0 +1,14 @@ +#!/usr/bin/env python3 +# DO NOT MODIFY MANUALLY +# This helper installs the polkit policy file +# for the RiseupVPN snap. +# It is generated automatically +# by the script at "pkg/riseupvpn/pack_installers" +from base64 import decodestring as decode + +POLKIT = b'PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIHBvbGljeWNv\nbmZpZyBQVUJMSUMKICItLy9mcmVlZGVza3RvcC8vRFREIFBvbGljeUtpdCBQb2xpY3kgQ29uZmln\ndXJhdGlvbiAxLjAvL0VOIgogImh0dHA6Ly93d3cuZnJlZWRlc2t0b3Aub3JnL3N0YW5kYXJkcy9Q\nb2xpY3lLaXQvMS9wb2xpY3ljb25maWcuZHRkIj4KPHBvbGljeWNvbmZpZz4KCiAgPHZlbmRvcj5M\nRUFQIFByb2plY3Q8L3ZlbmRvcj4KICA8dmVuZG9yX3VybD5odHRwOi8vbGVhcC5zZS88L3ZlbmRv\ncl91cmw+CgogIDxhY3Rpb24gaWQ9InNlLmxlYXAuYml0bWFzay5yaXNldXB2cG4ucG9saWN5Ij4K\nICAgIDxkZXNjcmlwdGlvbj5SdW5zIGJpdG1hc2sgaGVscGVyIHRvIGxhdW5jaCBmaXJld2FsbCBh\nbmQgb3BlbnZwbiAoUmlzZXVwVlBOKTwvZGVzY3JpcHRpb24+CiAgICA8ZGVzY3JpcHRpb24geG1s\nOmxhbmc9ImVzIj5FamVjdXRhIGVsIGFzaXN0ZW50ZSBkZSBiaXRtYXNrIHBhcmEgbGFuemFyIGVs\nIGZpcmV3YWxsIHkgb3BlbnZwbiAoUmlzZXVwVlBOKTwvZGVzY3JpcHRpb24+CiAgICA8bWVzc2Fn\nZT5SaXNldXBWUE4gbmVlZHMgdGhhdCB5b3UgYXV0aGVudGljYXRlIHRvIHN0YXJ0PC9tZXNzYWdl\nPgogICAgPG1lc3NhZ2UgeG1sOmxhbmc9ImVzIj5SaXNldXBWUE4gbmVjZXNpdGEgYXV0b3JpemFj\naW9uIHBhcmEgY29tZW56YXI8L21lc3NhZ2U+CiAgICA8aWNvbl9uYW1lPnBhY2thZ2UteC1nZW5l\ncmljPC9pY29uX25hbWU+IAogICAgPGRlZmF1bHRzPgogICAgICA8YWxsb3dfYW55PnllczwvYWxs\nb3dfYW55PgogICAgICA8YWxsb3dfaW5hY3RpdmU+eWVzPC9hbGxvd19pbmFjdGl2ZT4KICAgICAg\nPGFsbG93X2FjdGl2ZT55ZXM8L2FsbG93X2FjdGl2ZT4KICAgIDwvZGVmYXVsdHM+CiAgICA8YW5u\nb3RhdGUga2V5PSJvcmcuZnJlZWRlc2t0b3AucG9saWN5a2l0LmV4ZWMucGF0aCI+L3NuYXAvYmlu\nL3Jpc2V1cC12cG4uYml0bWFzay1yb290PC9hbm5vdGF0ZT4KICA8L2FjdGlvbj4KPC9wb2xpY3lj\nb25maWc+Cg==\n' + +with open('/usr/share/polkit-1/actions/se.leap.bitmask.riseupvpn.policy', 'w') as polkit: + lines = decode(POLKIT).split(b"\n") + for line in lines: + polkit.write(line.decode() + "\n") diff --git a/snap/hooks/remove b/snap/hooks/remove new file mode 100755 index 0000000..029a954 --- /dev/null +++ b/snap/hooks/remove @@ -0,0 +1,6 @@ +#!/bin/sh +set -e + +echo "Executing remove hook for RiseupVPN" +rm "/usr/share/polkit-1/actions/se.leap.bitmask.riseupvpn.policy" +echo "done" diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml new file mode 100644 index 0000000..e5ff973 --- /dev/null +++ b/snap/snapcraft.yaml @@ -0,0 +1,70 @@ +name: riseup-vpn +version: 'git' +version-script: ./snap/version.sh +summary: RiseupVPN, secure VPN. Powered by Bitmask. +description: | + RiseupVPN is an easy, fast, and secure VPN service from riseup.net. + RiseupVPN does not require a user account, keep logs, or track you in + any way. The service is paid for entirely by donations from users like + you. + +grade: stable +confinement: classic +icon: snap/gui/riseupvpn.svg + +parts: + desktop-gtk3: + stage-packages: + - libc6 + prime: + - '*' + - -usr/include + - -usr/lib/locale + - -usr/share/X11/locale + - -usr/share/doc + - -usr/share/locale + - -usr/share/man + + bitmask-root: + after: [desktop-gtk3] + plugin: dump + override-prime: | + wget -O ./bin/bitmask-root https://0xacab.org/leap/bitmask-dev/raw/master/src/leap/bitmask/vpn/helpers/linux/bitmask-root + chmod +x ./bin/bitmask-root + + openvpn: + plugin: nil + stage-packages: + - openvpn + - libc6 + prime: + - -usr/share/doc + - -usr/share/man + + bitmask-systray: + after: [desktop-gtk3] + plugin: go + go-buildtags: [standalone] + go-packages: ["github.com/ProtonMail/go-autostart", "github.com/apparentlymart/go-openvpn-mgmt/openvpn", "0xacab.org/leap/bitmask-systray"] + # prepare: XXX run systray tests here + build-packages: + - pkg-config + - patchelf + - libpcre3-dev + - libappindicator3-dev + - libgtk-3-dev + stage-packages: + - libc6 + - libpcre3 + - libappindicator3-1 + - zlib1g + +apps: + launcher: + command: ./bin/bitmask-systray + environment: + LD_LIBRARY_PATH: "$SNAP/usr/lib/$(gcc -print-multiarch):$SNAP/lib/$(gcc -print-multiarch):$LD_LIBRARY_PATH" + openvpn: + command: ./usr/sbin/openvpn + bitmask-root: + command: ./bin/bitmask-root diff --git a/snap/version.sh b/snap/version.sh new file mode 100755 index 0000000..655cb9c --- /dev/null +++ b/snap/version.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +git clone https://0xacab.org/leap/bitmask-systray 2> /dev/null > /dev/null +git -C bitmask-systray describe --tags +rm -rf bitmask-systray -- cgit v1.2.3