You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.1 KiB
Bash
52 lines
1.1 KiB
Bash
#!/bin/bash
|
|
# nm-vpn-pool
|
|
#
|
|
# This script chooses a VPN name from a list in /etc/nm-vpn-pool.conf and attempts to
|
|
# connect to it when a network is connected. It's intended to automatically rotate through VPNs that
|
|
# function as proxies.
|
|
|
|
source /etc/nm-vpn-pool.conf || exit 1
|
|
# Config file should provide:
|
|
# vpn_pool - A comma-delimited list of NetworkManager VPN connection names.
|
|
# default_policy - If set to "on", nm-vpn-pool will attempt to connect to a vpn for all
|
|
# networks not listed as exceptions. If set to "off", it will only attempt to
|
|
# connect for networks listed as exceptions.
|
|
# exceptions - A comma-delimited list of NetworkManager networks that do not follow the default
|
|
# policy.
|
|
|
|
IFS=',' read -r -a vpn_list <<< "${vpn_pool}"
|
|
|
|
function get_connection_name()
|
|
{
|
|
true
|
|
}
|
|
function switch_vpn_connection()
|
|
{
|
|
true
|
|
}
|
|
function switch_all_vpns_off()
|
|
{
|
|
true
|
|
}
|
|
function get_random_vpn_name()
|
|
{
|
|
true
|
|
}
|
|
|
|
action=$1
|
|
|
|
case $action in
|
|
up)
|
|
true
|
|
;;
|
|
down)
|
|
true
|
|
;;
|
|
rotate)
|
|
true
|
|
;;
|
|
*)
|
|
true
|
|
;;
|
|
esac
|