Enhancing the VPN Profile Switcher: Introducing Local DB Creation and a Self-Test Tool
In my last post, I mentioned upcoming enhancements to the VPN Profile Switcher, and today, I’m excited to share two new scripts that take this project to the next level. These scripts not only add functionality but also pave the way for a more robust and self-sufficient toolset.
1. Creating a Local Database with get_groups_and_countries_to_tsv.sh
One of the critical components of the VPN Profile Switcher is the ability to maintain an updated list of available VPN server types and countries. Previously, this information was stored in the db
branch of the repository and updated through a GitHub action. However, this approach comes with a caveat: the GitHub action will be canceled after two months of inactivity in the repository, potentially leaving the database outdated.
To address this, I’ve developed the get_groups_and_countries_to_tsv.sh
script. This script enables users to generate a local database of VPN server types (like TOR and P2P) and the countries where these services are available. By running this script, you can ensure that your local database is always up-to-date, independent of the GitHub action.
The script relies on wget
and jsonfilter
to mimic the functionality of the GitHub action. The action itself, housed at curl-then-jq-shell-action, utilizes curl
and jq
for its operations. With this script, you no longer need to rely on the remote repository’s database, making the db
branch redundant and streamlining your setup.
2. Building a Self-Test Tool with vpn-status-checker-openwrt.sh
Another essential aspect of managing VPN connections is ensuring that your VPN is functioning correctly and securely. To this end, I’ve started building a self-test tool with the vpn-status-checker-openwrt.sh
script. This script is designed to perform basic checks such as DNS leak tests and connection status verification, similar to what you might find on the NordVPN What Is My IP page, but in a command-line interface (CLI) format.
While this script is in its early stages, it lays the groundwork for a more comprehensive self-test tool that can be integrated into the VPN Profile Switcher. It’s a straightforward yet powerful way to ensure your VPN is operating as expected, providing peace of mind in an increasingly complex digital landscape.
Looking Ahead: WireGuard Testing and Beyond
As I continue to enhance the VPN Profile Switcher, one area I plan to explore further is testing the connectivity and robustness of WireGuard. While I haven’t had the chance to dive into this yet, it’s on my radar, and I’m eager to see how WireGuard performs in various scenarios.
In the meantime, these two scripts represent significant steps forward in making the VPN Profile Switcher more self-reliant and user-friendly. Whether you’re looking to maintain an up-to-date local database or ensure your VPN connection is secure, these tools are here to help.
Stay tuned for more updates, including additional features and test results, as I continue to refine and expand the capabilities of the VPN Profile Switcher!
This post is a continuation of my previous post on adding WireGuard support to my NordVPN server switching script. Check it out, and check tthe
dev
branch of the repo for more info.