{"id":17965851,"url":"https://github.com/boredsquirrel/mullvadvpn-tricks","last_synced_at":"2025-03-25T07:31:07.998Z","repository":{"id":259526940,"uuid":"878121495","full_name":"boredsquirrel/MullvadVPN-Tricks","owner":"boredsquirrel","description":"Making MullvadVPN work better on GNU/Linux","archived":false,"fork":false,"pushed_at":"2024-11-17T15:16:01.000Z","size":32,"stargazers_count":10,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-19T12:21:16.747Z","etag":null,"topics":["linux","mullvad","mullvad-vpn","privacy","vpn"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/boredsquirrel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-24T20:19:58.000Z","updated_at":"2025-03-17T13:21:20.000Z","dependencies_parsed_at":"2024-10-26T07:59:01.591Z","dependency_job_id":"97aca518-5115-438b-ab16-30d09567df2e","html_url":"https://github.com/boredsquirrel/MullvadVPN-Tricks","commit_stats":{"total_commits":7,"total_committers":1,"mean_commits":7.0,"dds":0.0,"last_synced_commit":"80c057405003019da6556657d2f3d6ea01b511bc"},"previous_names":["boredsquirrel/mullvadvpn-tricks"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boredsquirrel%2FMullvadVPN-Tricks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boredsquirrel%2FMullvadVPN-Tricks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boredsquirrel%2FMullvadVPN-Tricks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boredsquirrel%2FMullvadVPN-Tricks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/boredsquirrel","download_url":"https://codeload.github.com/boredsquirrel/MullvadVPN-Tricks/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245418267,"owners_count":20612101,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["linux","mullvad","mullvad-vpn","privacy","vpn"],"created_at":"2024-10-29T13:05:43.624Z","updated_at":"2025-03-25T07:31:07.976Z","avatar_url":"https://github.com/boredsquirrel.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"https://mullvad.net/_app/immutable/assets/logo.Ba5MUFAA.svg\" alt=\"mullvad logo\" width=\"300\"/\u003e \u003cimg src=\"https://www.kernel.org/theme/images/logos/tux.png\" alt=\"tux logo\" width=\"80\"/\u003e\n\nMaking MullvadVPN work better on GNU/Linux\n\n## Install on Fedora Atomic Desktops\nThis also applies to\n- [Fedora CoreOS](https://fedoraproject.org/coreos/)\n- [Fedora IoT](https://fedoraproject.org/iot/)\n- [uBlue](https://universal-blue.org) [Bazzite](https://bazzite.gg), [Bluefin](https://projectbluefin.io/), [Aurora](https://getaurora.dev/)\n- [Secureblue](https://github.com/secureblue/secureblue)\n- [CentOS Bootc](https://gitlab.com/redhat/centos-stream/containers/bootc)\n- [HeliumOS](https://heliumos.org)\n- [RHEL Image mode](https://www.redhat.com/en/technologies/linux-platforms/enterprise-linux/image-mode)\n\nFirst add the repo file manually, then install it, which will result in a reboot.\n\n```\ncurl --tlsv1.3 -fsS https://repository.mullvad.net/rpm/stable/mullvad.repo | sudo tee /etc/yum.repos.d/mullvad.repo\n\n# install it\nrpm-ostree update --install mullvad-vpn --reboot\n```\n\nafter reboot, to make it work\n\n```\nsystemctl enable --now mullvad-daemon.service\nsystemctl enable --now mullvad-early-boot-blocking.service\n```\n\n\u003e [!NOTE]\n\u003e You can also install `mullvad-browser` after adding that repo.\n\n## Automatic Starting without GUI\nIf you want to setup automatic starting of the VPN **without launching the GUI app** all the time:\n\n```\nwget https://github.com/boredsquirrel/MullvadVPN-Tricks/raw/refs/heads/main/create-autostart-service.sh\nbash ./create-autostart-service.sh \u0026\u0026 rm -f ./create-autostart-service.sh || echo \"FAILED!\"\n```\n\nYou can also add a GUI desktop entry to start it, if you want that for whatever reason. You can add this as an autostart program in GNOME Tweaks or the KDE settings too:\n\n```\nwget -O ~/.local/share/applications/ https://github.com/boredsquirrel/MullvadVPN-Tricks/raw/refs/heads/main/mullvad-nogui.desktop\n```\n\n## Autostart apps only when the VPN is on\n\nIf you want to start applications on boot, but it is ***really, really bad*** if they start with no VPN on (for example a Torrent program, not that we use it for anything illegal), you can use this script instead of launching the app manually:\n\n```\nmkdir ~/.local/bin\nwget https://github.com/boredsquirrel/MullvadVPN-Tricks/raw/refs/heads/main/mullvad-appstart -O ~/.local/bin/\nchmod +x ~/.local/bin/*\n```\n\nIn KDE, you can already set that script to \"autostart\". On GNOME with GNOME-Tweaks, you may need a desktop entry, and you can also use that to start the app from the App List.\n\n```\nmkdir ~/.local/share/applications\nwget https://github.com/boredsquirrel/MullvadVPN-Tricks/raw/refs/heads/main/mullvad-appstart.desktop -O ~/.local/share/applications/\nupdate-desktop-database\n```\n\nNow you can select this \"App\" to autostart, and in the script you can change the start commands of the apps you want to start, ***if*** the VPN is connected.\n\n## Kill Apps if VPN is off\nYou may want to use an additional security to kill certain apps if the VPN is not connected or blocking the connection.\n\nJust in case your VPN may crash or whatever, you wouldn't want some traffic leaking from your real IP address.\n\n```\nmkdir ~/.local/bin\nwget https://github.com/boredsquirrel/MullvadVPN-Tricks/raw/refs/heads/main/nomullvad-autokill -O ~/.local/bin\nchmod +x ~/.local/bin/*\n```\n\nIn the script you can enter what apps you would like to kill if the VPN is off, and what you would like to restart, once it is on again.\n\nThen you can also set this app as \"autostart\" in KDE, on GNOME with GNOME-Tweaks you may need another desktop entry.\n\n```\nmkdir ~/.local/share/applications\nwget https://github.com/boredsquirrel/MullvadVPN-Tricks/raw/refs/heads/main/nomullvad-appkill.desktop -O ~/.local/share/applications/\nupdate-desktop-database\n```\n\nYou can set this to autostart in GNOME Tweaks.\n\n## Excluding Apps\nTo exclude an app from the VPN (aka. split tunnel), use `mullvad-exclude`.\n\nThis is useful for apps like [Syncthing](https://flathub.org/apps/com.github.zocker_160.SyncThingy) or [LocalSend](https://flathub.org/apps/org.localsend.localsend_app) where you need or benefit from local file sharing.\n\n```\ncp /wherever/that/entry/is.desktop ~/.local/share/applications/\nsed -i 's/Exec=/Exec=mullvad-exclude /g' ~/.local/share/applications/entry.desktop\n```\n\nExample, Localsend:\n\n```\ncp /var/lib/flatpak/exports/share/applications/org.localsend.localsend_app.desktop ~/.local/share/applications/\nsed -i 's/Exec=/Exec=mullvad-exclude /g' ~/.local/share/applications/org.localsend.localsend_app.desktop\n```\n\nThe entries in the `~/.local` directory will always be preferred over any others.\n\nAll system Flatpak apps have their .desktop Entries linked to `/var/lib/flatpak/exports/share/applications/`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fboredsquirrel%2Fmullvadvpn-tricks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fboredsquirrel%2Fmullvadvpn-tricks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fboredsquirrel%2Fmullvadvpn-tricks/lists"}