diff options
author | Kali Kaneko <kali@leap.se> | 2018-04-03 02:45:34 +0200 |
---|---|---|
committer | Ruben Pollan <meskio@sindominio.net> | 2018-04-11 16:40:10 +0200 |
commit | 3169015c5f5eaed5f2ad48e486b1fe96e1eb6bbe (patch) | |
tree | 6394836b65afb6be4768504474964e677c75210a /snap | |
parent | 309ea9c35743c11dd29d809e713274840fb0b145 (diff) |
several fixes for riseupvpn snap
- move snap folder to root folder, to allow automated builds
- install only polkit file outside of snap
- change path of bitmask-root accordingly in bitmask
- fix check for polkit file inside snap
- change and document the algorithm for picking bitmask-root in linux
- add LD_LIBRARY_PATH as an environment entry for bitmask-systray
Diffstat (limited to 'snap')
-rw-r--r-- | snap/gui/riseup-vpn.desktop | 15 | ||||
-rw-r--r-- | snap/gui/riseupvpn.svg | 80 | ||||
-rwxr-xr-x | snap/hooks/install | 11 | ||||
-rwxr-xr-x | snap/hooks/remove | 6 | ||||
-rw-r--r-- | snap/snapcraft.yaml | 108 |
5 files changed, 220 insertions, 0 deletions
diff --git a/snap/gui/riseup-vpn.desktop b/snap/gui/riseup-vpn.desktop new file mode 100644 index 00000000..e325b204 --- /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 00000000..a19c6c61 --- /dev/null +++ b/snap/gui/riseupvpn.svg @@ -0,0 +1,80 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="128" + height="128" + viewBox="0 0 33.866666 33.866668" + version="1.1" + id="svg896" + inkscape:version="0.92.2 (5c3e80d, 2017-08-06)" + sodipodi:docname="riseupvpn-launcher.svg"> + <defs + id="defs890" /> + <sodipodi:namedview + id="base" + pagecolor="#d7d7d7" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:zoom="5.12" + inkscape:cx="26.899914" + inkscape:cy="56.22909" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="true" + units="px" + inkscape:window-width="1869" + inkscape:window-height="1025" + inkscape:window-x="51" + inkscape:window-y="27" + inkscape:window-maximized="1"> + <inkscape:grid + type="xygrid" + id="grid1471" + empspacing="4" /> + </sodipodi:namedview> + <metadata + id="metadata893"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(0,-263.13332)"> + <path + style="fill:#006cb2;fill-opacity:1;stroke-width:0.26458335" + d="M 15.617988,295.66418 C 9.9401302,292.50672 5.6959906,287.52131 4.7342129,282.87951 4.4622971,281.56718 4.4516145,281.24899 4.4519256,274.47112 l 2.394e-4,-6.47461 0.5616386,-0.36177 c 2.3734615,-1.52883 4.8841786,-2.55103 7.4419094,-3.06699 5.221864,-1.05337 10.639669,0.003 15.485448,3.16684 l 0.398232,0.25998 v 6.50684 c 0,6.8044 -0.01093,7.13134 -0.280843,8.43104 -0.956329,4.6043 -4.632206,9.09553 -10.057782,12.28874 -1.576255,0.9277 -1.527525,0.91863 -2.382844,0.44299 z" + id="path5137" + inkscape:connector-curvature="0" + sodipodi:nodetypes="csccssscssscc" /> + <path + inkscape:connector-curvature="0" + style="fill:#007cc3;fill-opacity:1;stroke-width:0.26458335" + d="m 16.396917,264.17336 c -1.317958,-4.7e-4 -2.635612,0.13103 -3.941076,0.39437 -2.5577318,0.51596 -5.068528,1.53812 -7.4419895,3.06696 l -0.5615828,0.36177 -4.707e-4,6.47466 c -2.394e-4,6.77787 0.010371,7.096 0.2822554,8.40832 0.9617776,4.64181 5.2059168,9.62724 10.8837756,12.7847 h 1.19e-4 c 0.368953,0.20517 0.569745,0.32326 0.805249,0.31706 v -31.80747 c -0.0088,-2e-5 -0.01755,-4.8e-4 -0.02641,-4.8e-4 z" + id="path887" /> + <path + style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458338" + d="m 16.989143,272.54844 c 0,0 -0.315707,-0.61165 -0.336761,-0.69601 -0.02106,-0.0844 -0.189431,-0.94909 -0.189431,-0.94909 l 0.210485,-0.37963 0.463046,-0.696 0.673531,-0.52727 0.168377,-0.0633 1.620684,-0.61164 0.147331,-0.14764 -0.168385,-0.25308 -0.231523,-0.12655 -0.424879,-0.10907 -1.064407,-0.10907 -0.825967,0.007 -0.568293,0.12654 -0.505146,-0.18981 -0.63143,-0.0844 -0.9261,-0.0211 -0.463054,-0.0211 -0.778761,0.29527 -1.178677,1.37091 -0.147339,0.52727 -0.08418,0.464 -0.399908,0.86473 -0.252577,0.82254 -0.126285,0.88582 v 0.18982 l -0.610384,0.92799 -0.336761,0.69601 v 0.99126 l 0.10523,2.04581 0.189431,0.73821 0.378861,0.6749 0.4841,0.44292 0.210477,0.8647 0.799815,1.77155 0.947154,1.13886 0.06311,0.0633 0.336761,1.70835 -1.157623,2.10911 -0.363408,0.28169 -0.272426,0.22054 -0.467179,-0.0129 -0.260603,0.13452 -0.316122,0.0134 -0.190994,0.19047 -0.408963,-0.0616 -0.4044091,-0.0196 -0.311982,0.24606 -0.044916,0.36556 0.207365,-0.23472 0.3488649,-0.10158 0.03654,0.33552 0.5512672,-0.18726 0.316122,-0.0134 0.557721,0.0667 c 0,0 0.483518,-0.0316 0.567216,-0.0407 0.0837,-0.009 0.597276,0.0411 0.597276,0.0411 l 0.376644,-0.041 0.199723,0.0844 0.267456,-0.0716 0.290265,0.13818 0.418488,-0.0455 0.05401,-0.28169 -0.01596,-0.14678 0.28571,0.0962 0.232049,0.18692 0.150642,0.21701 -0.0088,-0.27495 -0.182953,-0.31946 c 0,0 -0.125159,-0.17737 -0.208857,-0.16824 -0.0837,0.009 -0.408971,-0.0616 -0.408971,-0.0616 l -0.223321,0.088 -0.243857,-0.10085 -0.239677,0.13226 -0.220665,-0.0822 -0.106491,-0.20049 -0.153322,-0.0471 0.164763,-0.42962 0.378861,-0.52859 0.505146,-0.84364 0.442,-0.5273 0.168385,-0.21088 c 0,0 0.210477,-0.31633 0.210477,-0.40071 0,-0.0844 0.04212,-0.97016 0.04212,-0.97016 l -0.273623,-0.56947 -0.126285,-0.46402 2.441546,0.59059 h 0.147331 l 2.083731,1.49744 0.294669,0.37959 0.10523,1.49729 -0.04212,0.33746 -0.147338,0.27419 -0.105358,0.16875 -0.09101,0.23675 -0.06215,0.1583 -0.386712,0.11988 -0.393086,-0.0709 -0.238209,-0.0294 -0.437428,0.0633 -0.184118,0.19713 -0.07084,0.24475 0.05712,0.24744 0.09172,-0.24769 0.124641,-0.16724 0.121984,-0.0388 0.0094,0.21174 0.163957,0.10406 0.338995,-0.15563 0.166646,-0.0242 0.05409,0.22658 0.508999,-0.01 0.345035,-0.11394 0.282886,0.0443 0.410893,0.047 0.142823,-0.0417 0.112881,-0.10156 0.182442,0.37841 0.0024,-0.42654 -0.176722,-0.48581 -0.256358,-0.15463 0.04324,-0.12712 -0.189423,-0.35849 0.02106,-1.37079 1.052392,1.2444 1.389154,1.09674 c 0,0 0.947146,0.33749 1.03133,0.33749 0.08419,0 0.736677,-0.0844 0.736677,-0.0844 l 0.420954,-0.69598 -0.315715,-0.94908 0.126284,-0.31642 -0.673531,-0.88574 -1.426794,-1.45279 -0.341213,-1.14141 0.02106,-0.78037 -0.315707,-0.82257 -0.357816,-0.65376 0.210477,-0.65377 -0.168377,-0.94904 -0.717785,-1.61568 0.265151,-0.0448 -0.444984,-0.77034 0.289101,-0.0918 -0.508218,-0.82847 0.213764,-0.11524 -0.380944,-0.62543 0.124202,-0.0696 -0.460971,-0.37337 0.168384,-0.0875 -1.199723,-0.84051 z" + id="path5892" + inkscape:connector-curvature="0" + sodipodi:nodetypes="csccccccccccccccccccccccccccccccccccccccccccccccccccccccscccccccccccccsccccccccccccscccccccccccccccccccccccccccccccccccccccccccscccccccccccccccccccccccc" /> + </g> +</svg> diff --git a/snap/hooks/install b/snap/hooks/install new file mode 100755 index 00000000..95207387 --- /dev/null +++ b/snap/hooks/install @@ -0,0 +1,11 @@ +#!/usr/bin/env python3 +# This helper installs bitmask-root and polkit policy file +import subprocess +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 00000000..6aebbe10 --- /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.snap.policy" +echo "done" diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml new file mode 100644 index 00000000..3702bed0 --- /dev/null +++ b/snap/snapcraft.yaml @@ -0,0 +1,108 @@ +name: riseup-vpn +version: '0.10.5+git' +epoch: 1 +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: + prime: + - '*' + - -usr/include + - -usr/lib/locale + - -usr/share/X11/locale + - -usr/share/doc + - -usr/share/locale + - -usr/share/man + + bitmask: + #after: [gnome-3-26, desktop-gtk3] + after: [desktop-gtk3] + plugin: python + python-version: python2 + source-branch: master + source: . + requirements: pkg/requirements-vpn.pip + stage-packages: + # this seems to trigger https://bugs.launchpad.net/snapcraft/+bug/1676684 + - python2.7-dev + - libsqlcipher-dev + - libffi-dev + - libsqlite3-dev + - libzmq3-dev + prime: + - -usr/include + - -usr/lib/locale + - -usr/share/X11/locale + - -usr/share/doc + - -usr/share/locale + - -usr/share/man + + openvpn: + plugin: nil + stage-packages: + - openvpn + prime: + - -usr/share/doc + - -usr/share/man + bitmask-systray: + after: [desktop-gtk3] + plugin: go + source: https://0xacab.org/leap/bitmask-systray.git + # prepare: XXX run systray tests here + build-packages: + - pkg-config + - patchelf + - libzmq5 + - libzmq3-dev + - libsodium-dev + - libpcre3-dev + - libappindicator3-dev + - libgtk-3-dev + stage-packages: + - libzmq5 + - libsodium18 + - libpcre3 + - libappindicator3-1 + # prime: + # prime:-etc/fonts + # prime:-usr/include + # prime:-usr/bin + # prime:-usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/ + # prime:-usr/lib/x86_64-linux-gnu/glib-2.0/ + # prime:-usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules/ + # prime:-usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/printbackends/ + # prime:-usr/lib/x86_64-linux-gnu/libgtk-3-0/gtk-query-immodules-3.0 + # prime:-usr/lib/x86_64-linux-gnu/libwayland-* + # prime:-usr/sbin/update-icon-caches + # prime:-usr/share/doc + # prime:-usr/share/glib-2.0/schemas + # prime:-usr/share/icons + # prime:-usr/share/lintian + # prime:-usr/share/pkgconfig + # prime:-usr/share/theme + # prime:-usr/share/mime + # prime:-usr/lib/locale + # prime:-usr/share/locale + +apps: + launcher: + command: ./bin/bitmask_anonvpn + openvpn: + command: ./usr/sbin/openvpn + bitmaskd: + command: ./bin/bitmaskd + bitmask-systray: + command: ./bin/bitmask-systray.git + environment: + LD_LIBRARY_PATH: "$SNAP/usr/lib/$(gcc -print-multiarch):$SNAP/lib/$(gcc -print-multiarch):$LD_LIBRARY_PATH" + bitmask-root: + command: ./lib/python2.7/site-packages/leap/bitmask/vpn/helpers/linux/bitmask-root |