aboutsummaryrefslogtreecommitdiff
path: root/content/blog/2023-01-23-random-wireguard.md
diff options
context:
space:
mode:
authorChristian Cleberg <hello@cleberg.net>2024-07-28 19:46:20 -0500
committerChristian Cleberg <hello@cleberg.net>2024-07-28 19:46:20 -0500
commit2be43cc479dfd4cfb621f14381330c708291e324 (patch)
tree7ac50f99425c5524c0820360754045b80d1bafcc /content/blog/2023-01-23-random-wireguard.md
parentafe76ac7d7498b862abaa623790b91410e34574d (diff)
downloadcleberg.net-2be43cc479dfd4cfb621f14381330c708291e324.tar.gz
cleberg.net-2be43cc479dfd4cfb621f14381330c708291e324.tar.bz2
cleberg.net-2be43cc479dfd4cfb621f14381330c708291e324.zip
conversion from Zola to Weblorg
Diffstat (limited to 'content/blog/2023-01-23-random-wireguard.md')
-rw-r--r--content/blog/2023-01-23-random-wireguard.md112
1 files changed, 0 insertions, 112 deletions
diff --git a/content/blog/2023-01-23-random-wireguard.md b/content/blog/2023-01-23-random-wireguard.md
deleted file mode 100644
index 7b9db68..0000000
--- a/content/blog/2023-01-23-random-wireguard.md
+++ /dev/null
@@ -1,112 +0,0 @@
-+++
-date = 2023-01-23
-title = "Connecting to a Random Mullvad Wireguard Host on Boot"
-description = ""
-draft = false
-+++
-
-# Mullvad Wireguard
-
-If you're using an OS that does not support one of Mullvad's apps, you're likely
-using the Wireguard configuration files instead.
-
-If not, the first step is to visit Mullvad's [Wireguard configuration
-files](https://mullvad.net/en/account/#/wireguard-config) page and download a
-ZIP of the configuration files you want to use.
-
-Personally, I downloaded all configuration files across the world and chose my
-connections using the script below.
-
-Once the files are downloaded, unzip them and move them to your preferred
-location:
-
-```sh
-cd Downloads
-unzip mullvad_wireguard_linux_all_all.zip
-mkdir ~/mullvad && mv ~/Downloads/*.conf ~/mullvad/
-```
-
-### Creating a Script to Connect to a Random Host
-
-Once you have a folder of Wireguard configuration files from Mullvad, you can
-create a script to randomly connect to any one of the locations.
-
-Start by creating a shell script - mine is called `vpn.sh`.
-
-```sh
-nano ~/vpn.sh
-```
-
-Within this script, you can paste the following info. Note that I specify `us-*`
-in my script, which means that it will only consider US-based VPN locations. You
-can alter this or simply change it `*` to consider all locations.
-
-```sh
-#!/bin/sh
-
-ls /home/$USER/mullvad/us-** |sort -R |tail -n 1 |while read file; do
- # Replace `doas` with `sudo` if your machine uses `sudo`,
- # or remove `doas` if users don't need to su to run wg-quick
- doas wg-quick up $file;
- printf "\nCreated Mullvad wireguard connection with file: $file";
- printf "\n\nPrinting new IP info:\n"
- curl https://am.i.mullvad.net/connected
-done
-```
-
-Once you've modified the script to your liking, add executable permissions and
-run the script:
-
-```sh
-chmod +x ~/vpn.sh
-~/vpn.sh
-```
-
-The output should look like the following:
-
-```txt
-doas (user@host) password:
-
-# ... The script will process all of the iptables and wg commands here
-
-Created Mullvad wireguard connection with file: /home/user/mullvad/us-nyc-wg-210.conf
-
-Printing new IP info:
-You are connected to Mullvad (server country-city-wg-num). Your IP address is 12.345.678.99
-```
-
-That's all there is to it. You can see your new location and IP via the `printf`
-and `curl` commands included in the script.
-
-You can also go to the [Connection Check ​\|
-Mullvad](https://mullvad.net/en/check/) page to see if you are fully connected
-to Mullvad and if any leaks exist.
-
-# Disconnecting from the Wireguard Connection
-
-If you forget which connection you're using, you can execute the following
-command to see where Wireguard is currently connected:
-
-```sh
-wg show
-```
-
-This command will show you the Wireguard interfaces and should output a
-connection like so: `interface: us-lax-wg-104`.
-
-Once you have this, just disconnect using that files' full path:
-
-```sh
-wg-quick down /home/user/mullvad/us-lax-wg-104.conf
-```
-
-I have a TODO item on figuring out how to easily export an environment variable
-that contains the configuration file's full name, so that I can just execute the
-following:
-
-```sh
-# Ideal situation if I can export the $file variable to the environment
-wg-quick down $file
-```
-
-If you have an idea on how to do this, email me!