Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

VPNs #2617

Open
4 tasks done
GYKgamer opened this issue Jul 12, 2024 · 26 comments
Open
4 tasks done

VPNs #2617

GYKgamer opened this issue Jul 12, 2024 · 26 comments

Comments

@GYKgamer
Copy link

What is the name of the app?

ProtonVPN

Where is the app hosted?

https://protonvpn.com/download-linux

About the app

ProtonVPN is simply, a vpn. Free to use, simple to install and works without box86/64.

Upload file or Add PR Link

https://repo.protonvpn.com/debian/dists/stable/main/binary-all/protonvpn-stable-release_1.0.3-3_all.deb

Confirmations

@GYKgamer
Copy link
Author

image

@Botspot
Copy link
Owner

Botspot commented Jul 12, 2024

By any chance does this app add its own apt repository to the system?
We had an issue with this happening once, though in that case I'm not sure if the user added this repo or if the app added it automatically. See: #959

@GYKgamer
Copy link
Author

GYKgamer commented Jul 12, 2024

It does add it's own apt repo, after installing the deb you sue apt to install protonvpn
image

@theofficialgman
Copy link
Collaborator

theofficialgman commented Jul 12, 2024

the package linked is simply a package that contains the sources list and key. nothing else

image

that is fine and pretty common for 3rd party repositories

all that is needed for pi-apps would be something like

# install latest repo package at the time of writing
install_packages https://repo.protonvpn.com/debian/dists/stable/main/binary-all/protonvpn-stable-release_1.0.3-3_all.deb || exit 1

# check that repo works without error
apt_update
if [ $? != 0 ]; then
  sudo apt purge -y protonvpn-stable-release
  error "Failed to perform apt update after adding protonvpn repository."
fi
# update repo package if newer version is available
apt_lock_wait
sudo apt install --only-upgrade protonvpn-stable-release -y

# install proton vpn
install_packages proton-vpn-gnome-desktop || exit 1

@theofficialgman
Copy link
Collaborator

the above could be made simpler if we obtained the latest version of the protonvpn-stable-release package by parsing the debian repo ourselves. similar to how this script does that https://github.com/Botspot/pi-apps/blob/master/.github/workflows/update_debian_repo_script.sh

@GYKgamer
Copy link
Author

If possible, I would like to add more vpns? In #586 Botspot at the end added he wanted to add vpns to pi-apps, for example some others ones I use and like:
Windscribe VPN: https://github.com/Windscribe/Desktop-App
NordVPN: https://support.nordvpn.com/hc/en-us/articles/20196094470929-Installing-NordVPN-on-Linux-distributions

@Botspot
Copy link
Owner

Botspot commented Jul 13, 2024

Yes, I'm still supportive of adding VPNs. @GYKgamer, if you had the time, it would help us if you did more than add a link to the deb. Doing that just means that I put this on a mental list to install it myself, try it out, find a good text source to write the description, find the homepage to put in the website field, figure out how to uninstall it...
Most of those things would be easier for you to do, especially if you have prior experience with the app.

@GYKgamer
Copy link
Author

I got a little something working for windscribe, it's just a starting point since I don't know how to determine a version number except for the one right one.
windscribe.zip

Copy link
Contributor

A zipfile was found in the body of an issue comment.
The sha1sum of the zip was: 3075cee3e453043a25fcd2db70a421b998f41bf4

Click to show contents preview

uninstall.sh

#!/bin/bash

sudo dpkg --purge windscribe || error "Failed to uninstall Windscribe package!"
sudo rm -f /usr/share/applications/windscribe.desktop || error "Failed to remove desktop entry"

install32.sh

#!/bin/bash

deb_url="https://deploy.totallyacdn.com/desktop-apps/2.10.15/windscribe_2.10.15_arm64.deb"
deb_file="$HOME/Downloads/windscribe_2.10.15_arm64.deb"
wget -O "$deb_file" "$deb_url" || error "Failed to download Windscribe package!"
sudo dpkg -i "$deb_file" || error "Failed to install Windscribe package!"
echo "[Desktop Entry]
Name=Windscribe
Comment=Windscribe VPN
Exec=/usr/bin/windscribe
Icon=/usr/share/icons/hicolor/64x64/apps/windscribe.png
Terminal=false
Type=Application
Categories=Network;Security;
Keywords=VPN;Privacy;
" | sudo tee /usr/share/applications/windscribe.desktop
rm -f "$deb_file"

@Botspot
Copy link
Owner

Botspot commented Jul 13, 2024

@GYKgamer Were you using the pi-apps "create app" wizard for this? https://pi-apps.io/wiki/development/Creating-an-app/

@GYKgamer
Copy link
Author

I read the documentation but I did not use the wizard

@Botspot
Copy link
Owner

Botspot commented Jul 13, 2024

I'm not sure where to begin. :(

  • Need to use install_packages
  • Need to use the script naming convention: install-32, install-64, uninstall, not install32.sh and uninstall.sh
  • 64-bit packages should not ever be installed in install-32
  • There should be >/dev/null after sudo tee, otherwise the contents of the menu launcher is output in the terminal. This tip is not mentioned in the docs but it is used in every apps that uses sudo tee to make a menu launcher.
  • uninstall should use purge_packages
  • version variable should be used so it's easier to set up a github update script for the app. This is also not in our docs, but it's used in many apps.

Please use the wizard and read the documentation. That will save everyone time.

@GYKgamer
Copy link
Author

😆 maybe I wasn't as good at coding as I remembered, i'll use the wizard

@GYKgamer
Copy link
Author

Windscribe.zip
Updated, I used the wizard and followed the docs, hopefully should be better

Copy link
Contributor

A zipfile was found in the body of an issue comment.
The sha1sum of the zip was: 1a87544d9de31ab09bc519d10ca84b49538eb1fb

Click to show contents preview

Windscribe/uninstall

#!/bin/bash

purge_packages windscribe || { echo "Failed to uninstall Windscribe package!"; exit 1; }

sudo rm -f /usr/share/applications/windscribe.desktop || { echo "Failed to remove desktop entry"; exit 1; }

Windscribe/credits

Windscribe for making this application.
GYKgamer, Botspot and theofficalgman for implamenting this into Pi-apps.

Windscribe/website

https://windscribe.com

Windscribe/install-64

#!/bin/bash

version="2.10.15"

deb_url="https://deploy.totallyacdn.com/desktop-apps/${version}/windscribe_${version}_arm64.deb"

deb_file="$HOME/Downloads/windscribe-${version}.deb"

wget -O "$deb_file" "$deb_url" || { echo "Failed to download Windscribe package!"; exit 1; }

install_packages "$deb_file" || { echo "Failed to install Windscribe package!"; exit 1; }

echo "Creating a Windscribe button in the Main Menu..."
echo "[Desktop Entry]
Name=Windscribe
Comment=Windscribe VPN
Exec=/opt/windscribe/Windscribe
Icon=windscribe
Path=/opt/windscribe/
Type=Application
Categories=Network;Security;
Keywords=VPN;Privacy;
StartupNotify=true
" | sudo tee /usr/share/applications/windscribe.desktop >/dev/null

rm -f "$deb_file"

Windscribe/description

Simple VPN with 11 locations to choose from (using the free plan) and a 10gb limit.
To run this you can type "windscribe" nito your terminal, or use the start menu -> Internet -> Windscribe. 

@Botspot
Copy link
Owner

Botspot commented Jul 13, 2024

Better. Remaining issues:

  • purge_packages takes no arguments. It automatically uninstalls everything that was installed with install_packages.
  • install_packages can take url arguments. So you can skip the wget and rm part by doing install_packages "https://deploy.totallyacdn.com/desktop-apps/${version}/windscribe_${version}_arm64.deb"

@GYKgamer
Copy link
Author

Windscribe.zip
that should be it now

Copy link
Contributor

A zipfile was found in the body of an issue comment.
The sha1sum of the zip was: d571bb8a04095c1d981213174e5f66937998e1bd

Click to show contents preview

Windscribe/uninstall

#!/bin/bash

purge_packages windscribe || { echo "Failed to uninstall Windscribe package!"; exit 1; }

sudo rm -f /usr/share/applications/windscribe.desktop || { echo "Failed to remove desktop entry"; exit 1; }

Windscribe/credits

Windscribe for making this application.
GYKgamer, Botspot and theofficalgman for implamenting this into Pi-apps.

Windscribe/website

https://windscribe.com

Windscribe/install-64

#!/bin/bash

version="2.10.15"
deb_url="https://deploy.totallyacdn.com/desktop-apps/${version}/windscribe_${version}_arm64.deb"

install_packages "$deb_url" || { echo "Failed to install Windscribe package!"; exit 1; }

echo "Creating a Windscribe button in the Main Menu..."
echo "[Desktop Entry]
Name=Windscribe
Comment=Windscribe VPN
Exec=/opt/windscribe/Windscribe
Icon=windscribe
Path=/opt/windscribe/
Type=Application
Categories=Network;Security;
Keywords=VPN;Privacy;
StartupNotify=true
" | sudo tee /usr/share/applications/windscribe.desktop >/dev/null

Windscribe/description

Simple VPN with 11 locations to choose from (using the free plan) and a 10GB limit.
To run this, you can type "windscribe" into your terminal, or use the start menu -> Internet -> Windscribe.

@Botspot
Copy link
Owner

Botspot commented Jul 13, 2024

  • You are still trying to give arguments to purge_packages. Upon failure, it will describe the issue, so just replace all that stuff with purge_packages || exit 1
  • What's with the {echo ; exit 1}? We have a function for this called error. Use that.

@GYKgamer
Copy link
Author

My bad, I'm not as good at programming as I thought I was.
Windscribe.zip

Copy link
Contributor

A zipfile was found in the body of an issue comment.
The sha1sum of the zip was: 6d45077b79e0293834d36465a9247e6ccf0fb4cd

Click to show contents preview

Windscribe/uninstall

#!/bin/bash

purge_packages || error "Failed to uninstall Windscribe package!"

sudo rm -f /usr/share/applications/windscribe.desktop || error "Failed to remove desktop entry"

Windscribe/credits

Windscribe for making this application.
GYKgamer, Botspot and theofficalgman for implamenting this into Pi-apps.

Windscribe/website

https://windscribe.com

Windscribe/install-64

#!/bin/bash

version="2.10.15"
deb_url="https://deploy.totallyacdn.com/desktop-apps/${version}/windscribe_${version}_arm64.deb"

install_packages "$deb_url" || error "Failed to install Windscribe package!"

echo "Creating a Windscribe button in the Main Menu..."
echo "[Desktop Entry]
Name=Windscribe
Comment=Windscribe VPN
Exec=/opt/windscribe/Windscribe
Icon=windscribe
Path=/opt/windscribe/
Type=Application
Categories=Network;Security;
Keywords=VPN;Privacy;
StartupNotify=true
" | sudo tee /usr/share/applications/windscribe.desktop >/dev/null

Windscribe/description

Simple VPN with 11 locations to choose from (using the free plan) and a 10gb limit.
To run this you can type "windscribe" nito your terminal, or use the start menu -> Internet -> Windscribe. 

@Botspot
Copy link
Owner

Botspot commented Jul 26, 2024

@GYKgamer were you wanting to add Proton VPN or Windscribe, or both? IT seems that both are discussed in this issue.

@GYKgamer GYKgamer changed the title ProtonVPN VPNs Jul 26, 2024
@GYKgamer
Copy link
Author

I kind of decided mid way through to change this into a discussion of vpns in general, If thats okay?
image

@Botspot
Copy link
Owner

Botspot commented Jul 29, 2024

@GYKgamer Were you still wanting to add Proton VPN?
What do you think about getting several vpns ready and then adding them to pi-apps all at once so I can put them in a new vpn category.

@GYKgamer
Copy link
Author

@GYKgamer Were you still wanting to add Proton VPN? What do you think about getting several vpns ready and then adding them to pi-apps all at once so I can put them in a new vpn category.

That was exactly the plan I had in mind.

@Combustion-is-fun
Copy link

TLDR: It works on 64 bit RPI 5.

The first time installing this I got a bug with the keyring not going away. After following the instructions again I can confirm that it installs correctly which is step 1. The basic sign-in works as well as the 2nd-factor authentication. It then says connected and with disabling my ad-block on Chromium, I can confirm YouTube ads are speaking Dutch. This means it is working successfully.
The only thing is that the app does not support full-screen size.

Other vpns

With adding other vpns, can we make sure that they have been independently verified as well as check that they encrypt network traffic not just change the IP address? Some vpns do not do this. Proton VPN does and has been independently verified by securitum in this report.

ProtonAG

ProtonAG is a good company. They have other apps (password manager, calender, drive, mail) which I also use. However, those are best used as web apps which are always going to be reliable so I would probably not recommend adding them to PI Apps.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants