From 45ca68a8bc0ea68b94544c578da9d7a42fb5323e Mon Sep 17 00:00:00 2001 From: HiIamLala <3045736-hiiamlala@users.noreply.gitlab.com> Date: Fri, 27 Jan 2023 15:21:36 +0700 Subject: [PATCH] Initial package at version 1.2.5 --- .SRCINFO | 20 +++++++ .gitignore | 5 ++ PKGBUILD | 23 ++++++++ surfshark-client.install | 121 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 169 insertions(+) create mode 100644 .SRCINFO create mode 100644 .gitignore create mode 100644 PKGBUILD create mode 100644 surfshark-client.install diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..25d3d41cfda1 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,20 @@ +pkgbase = surfshark-client + pkgdesc = Surfshark VPN client. Keep your online activity and personal information secure. Put your privacy-conscious mind at rest and enjoy unrestricted internet. + pkgver = 1.2.5 + pkgrel = 1 + url = https://surfshark.com + install = surfshark-client.install + arch = x86_64 + license = custom:surfshark + depends = alsa-lib + depends = at-spi2-core + depends = gjs + depends = nss + depends = org.freedesktop.secrets + depends = wireguard-tools + options = !strip + options = !emptydirs + source = https://ocean.surfshark.com/debian/pool/main/s/surfshark/surfshark_1.2.5-1499_amd64.deb + sha512sums = 82c3d216725fa2bc080d8bfa04aa76031046b9e776890c0a5ad3ef27f9d6ef66ac9f6df3aeba3e76a732859323779c11bbb65f57169c474afcf3a8ebb7619531 + +pkgname = surfshark-client diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000000..3b064c921af8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +/*.deb +/*.tar.xz +/*.tar.zst +/pkg/ +/src/ \ No newline at end of file diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..f77f24362a30 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,23 @@ +# Maintainer: Liam Doan + +pkgname=surfshark-client +pkgver=1.2.5 +pkgrel=1 +pkgdesc="Surfshark VPN client. Keep your online activity and personal information secure. Put your privacy-conscious mind at rest and enjoy unrestricted internet." +arch=('x86_64') +url="https://surfshark.com" +license=('custom:surfshark') +depends=('alsa-lib' 'at-spi2-core' 'gjs' 'nss' 'org.freedesktop.secrets' 'wireguard-tools') +options=('!strip' '!emptydirs') +install=${pkgname}.install +source=("https://ocean.surfshark.com/debian/pool/main/s/surfshark/surfshark_1.2.5-1499_amd64.deb") +sha512sums=('82c3d216725fa2bc080d8bfa04aa76031046b9e776890c0a5ad3ef27f9d6ef66ac9f6df3aeba3e76a732859323779c11bbb65f57169c474afcf3a8ebb7619531') + +package(){ + + # Extract package data + tar -xJ -f data.tar.xz -C "${pkgdir}" + + install -D -m644 "${pkgdir}/opt/Surfshark/resources/dist/resources/surfsharkd.js.LICENSE.txt" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" + +} diff --git a/surfshark-client.install b/surfshark-client.install new file mode 100644 index 000000000000..b1eccea8f3e2 --- /dev/null +++ b/surfshark-client.install @@ -0,0 +1,121 @@ +post_install() { + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor + PATH="/sbin:/usr/sbin:/bin:/usr/bin" + + ln -sf '/opt/Surfshark/surfshark' '/usr/bin/surfshark' + + chmod 4755 '/opt/Surfshark/chrome-sandbox' || true + + update-mime-database /usr/share/mime || true + update-desktop-database /usr/share/applications || true + + mkdir -p /usr/lib/systemd/user || true + echo " + [Unit] + Description=Surfshark Daemon + + [Service] + ExecStart=/opt/Surfshark/resources/dist/resources/surfsharkd.js + Restart=on-failure + RestartSec=5 + IPAddressDeny=any + RestrictRealtime=true + ProtectKernelTunables=true + ProtectSystem=full + RestrictSUIDSGID=true + + [Install] + WantedBy=default.target + " > /usr/lib/systemd/user/surfsharkd.service || true + + mkdir -p /usr/lib/systemd/system || true + echo " + [Unit] + Description=Surfshark Daemon2 + + [Service] + ExecStart=/opt/Surfshark/resources/dist/resources/surfsharkd2.js + Restart=on-failure + RestartSec=5 + IPAddressDeny=any + RestrictRealtime=true + ProtectKernelTunables=true + ProtectSystem=full + RestrictSUIDSGID=true + + [Install] + WantedBy=default.target + " > /usr/lib/systemd/system/surfsharkd2.service || true + + + chmod 755 '/opt/Surfshark/resources/dist/resources/surfsharkd.js' || true + + chmod 755 '/opt/Surfshark/resources/dist/resources/surfsharkd2.js' || true + + chmod 755 '/opt/Surfshark/resources/dist/resources/update' || true + chmod 755 '/opt/Surfshark/resources/dist/resources/diagnostics' || true + + chmod 755 '/etc/init.d/surfshark' || true + chmod 755 '/etc/init.d/surfshark2' || true + + case "$(ps -p 1 --no-headers -o '%c' | tr -d '\n')" in + systemd) + systemctl daemon-reload || true + systemctl enable --global surfsharkd.service || true + ;; + init) + update-rc.d surfshark defaults || true + update-rc.d surfshark2 defaults || true + /etc/init.d/surfshark restart || true + /etc/init.d/surfshark2 restart || true + ;; + *) + echo "Unsupported service manager" + ;; + esac + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor + PATH="/sbin:/usr/sbin:/bin:/usr/bin" + + systemctl disable --global surfsharkd.service || true + systemctl disable surfsharkd2.service || true + + systemctl stop surfsharkd2.service || true + + /etc/init.d/surfshark stop || true + /etc/init.d/surfshark2 stop || true + + kill -15 $(pidof surfshark) || : + kill -15 $(pgrep surfsharkd) || : + + rm -rf /run/surfshark || : + rm -f /tmp/surfsharkd.sock || : + rm -f /tmp/surfshark-electron.sock || : + rm -f $XDG_RUNTIME_DIR/surfsharkd.sock || : + rm -f $XDG_RUNTIME_DIR/surfshark-electron.sock || : + + rm -f '/usr/bin/surfshark' || : + + # Surfshark post-remove + nmcli connection delete surfshark_ipv6 || true + nmcli connection delete surfshark_wg || true + nmcli connection delete surfshark_openvpn || true + + shopt -s globstar + if [ "$1" = purge ]; then + rm -rf /home/**/.config/Surfshark || true + fi + + rm -rf /home/**/.cache/Surfshark || true + + iptables -S | grep surfshark_ks | sed -r '/.*comment.*surfshark_ks*/s/-A/iptables -D/e' || true + ip6tables -S | grep surfshark_ks | sed -r '/.*comment.*surfshark_ks*/s/-A/ip6tables -D/e' || true + update-desktop-database -q +}