<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://wiki.nerdmage.ca/index.php?action=history&amp;feed=atom&amp;title=OpenVPN_Autoconnect_-_Using_PIA</id>
	<title>OpenVPN Autoconnect - Using PIA - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.nerdmage.ca/index.php?action=history&amp;feed=atom&amp;title=OpenVPN_Autoconnect_-_Using_PIA"/>
	<link rel="alternate" type="text/html" href="https://wiki.nerdmage.ca/index.php?title=OpenVPN_Autoconnect_-_Using_PIA&amp;action=history"/>
	<updated>2026-04-08T01:05:17Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>https://wiki.nerdmage.ca/index.php?title=OpenVPN_Autoconnect_-_Using_PIA&amp;diff=1669&amp;oldid=prev</id>
		<title>Tinker: Created page with &quot;=== Autoconnect PIA VPN on Boot ===  Create the OpenVPN autoconnect init.d startup script file  * &lt;code&gt;sudo vim /etc/init.d/openvpnauto&lt;/code&gt; Paste this OpenVPN autoconnect startup script, if you do not want to use Sweden.ovpn then replace it in the &lt;code&gt;DAEMON_OPTS&lt;/code&gt; line  &lt;pre&gt; #!/bin/sh ### BEGIN INIT INFO # Provides:          OpenVPN Autoconnect # Required-Start:    $local_fs $remote_fs $network # Required-Stop:     $local_fs $remote_fs $network # Default-Sta...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.nerdmage.ca/index.php?title=OpenVPN_Autoconnect_-_Using_PIA&amp;diff=1669&amp;oldid=prev"/>
		<updated>2023-04-17T20:44:49Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;=== Autoconnect PIA VPN on Boot ===  Create the OpenVPN autoconnect init.d startup script file  * &amp;lt;code&amp;gt;sudo vim /etc/init.d/openvpnauto&amp;lt;/code&amp;gt; Paste this OpenVPN autoconnect startup script, if you do not want to use Sweden.ovpn then replace it in the &amp;lt;code&amp;gt;DAEMON_OPTS&amp;lt;/code&amp;gt; line  &amp;lt;pre&amp;gt; #!/bin/sh ### BEGIN INIT INFO # Provides:          OpenVPN Autoconnect # Required-Start:    $local_fs $remote_fs $network # Required-Stop:     $local_fs $remote_fs $network # Default-Sta...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=== Autoconnect PIA VPN on Boot ===&lt;br /&gt;
&lt;br /&gt;
Create the OpenVPN autoconnect init.d startup script file&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo vim /etc/init.d/openvpnauto&amp;lt;/code&amp;gt;&lt;br /&gt;
Paste this OpenVPN autoconnect startup script, if you do not want to use Sweden.ovpn then replace it in the &amp;lt;code&amp;gt;DAEMON_OPTS&amp;lt;/code&amp;gt; line&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
### BEGIN INIT INFO&lt;br /&gt;
# Provides:          OpenVPN Autoconnect&lt;br /&gt;
# Required-Start:    $local_fs $remote_fs $network&lt;br /&gt;
# Required-Stop:     $local_fs $remote_fs $network&lt;br /&gt;
# Default-Start:     2 3 4 5&lt;br /&gt;
# Default-Stop:      0 1 6&lt;br /&gt;
# Short-Description: OpenVPN Autoconnect&lt;br /&gt;
# Description:       OpenVPN Autoconnect&lt;br /&gt;
### END INIT INFO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Documentation available at&lt;br /&gt;
# http://refspecs.linuxfoundation.org/LSB_3.1.0/LSB-Core-generic/LSB-Core-generic/iniscrptfunc.html&lt;br /&gt;
# Debian provides some extra functions though&lt;br /&gt;
. /lib/lsb/init-functions&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DAEMON_NAME=&amp;quot;openvpnauto&amp;quot;&lt;br /&gt;
DAEMON_USER=root&lt;br /&gt;
DAEMON_PATH=&amp;quot;/usr/sbin/openvpn&amp;quot;&lt;br /&gt;
DAEMON_OPTS=&amp;quot;--config /etc/openvpn/Sweden.ovpn --auth-user-pass /etc/openvpn/login.txt&amp;quot;&lt;br /&gt;
DAEMON_PWD=&amp;quot;/etc/openvpn&amp;quot;&lt;br /&gt;
DAEMON_DESC=$(get_lsb_header_val $0 &amp;quot;Short-Description&amp;quot;)&lt;br /&gt;
DAEMON_PID=&amp;quot;/var/run/${DAEMON_NAME}.pid&amp;quot;&lt;br /&gt;
DAEMON_NICE=0&lt;br /&gt;
DAEMON_LOG=&amp;#039;/var/log/openvpnauto.log&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[ -r &amp;quot;/etc/default/${DAEMON_NAME}&amp;quot; ] &amp;amp;&amp;amp; . &amp;quot;/etc/default/${DAEMON_NAME}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
do_start() {&lt;br /&gt;
  local result&lt;br /&gt;
&lt;br /&gt;
    pidofproc -p &amp;quot;${DAEMON_PID}&amp;quot; &amp;quot;${DAEMON_PATH}&amp;quot; &amp;gt; /dev/null&lt;br /&gt;
    if [ $? -eq 0 ]; then&lt;br /&gt;
        log_warning_msg &amp;quot;${DAEMON_NAME} is already started&amp;quot;&lt;br /&gt;
        result=0&lt;br /&gt;
    else&lt;br /&gt;
        log_daemon_msg &amp;quot;Starting ${DAEMON_DESC}&amp;quot; &amp;quot;${DAEMON_NAME}&amp;quot;&lt;br /&gt;
        touch &amp;quot;${DAEMON_LOG}&amp;quot;&lt;br /&gt;
        chown $DAEMON_USER &amp;quot;${DAEMON_LOG}&amp;quot;&lt;br /&gt;
        chmod u+rw &amp;quot;${DAEMON_LOG}&amp;quot;&lt;br /&gt;
        if [ -z &amp;quot;${DAEMON_USER}&amp;quot; ]; then&lt;br /&gt;
            start-stop-daemon --start --quiet --oknodo --background \&lt;br /&gt;
                --nicelevel $DAEMON_NICE \&lt;br /&gt;
                --chdir &amp;quot;${DAEMON_PWD}&amp;quot; \&lt;br /&gt;
                --pidfile &amp;quot;${DAEMON_PID}&amp;quot; --make-pidfile \&lt;br /&gt;
                --exec &amp;quot;${DAEMON_PATH}&amp;quot; -- $DAEMON_OPTS&lt;br /&gt;
            result=$?&lt;br /&gt;
        else&lt;br /&gt;
            start-stop-daemon --start --quiet --oknodo --background \&lt;br /&gt;
                --nicelevel $DAEMON_NICE \&lt;br /&gt;
                --chdir &amp;quot;${DAEMON_PWD}&amp;quot; \&lt;br /&gt;
                --pidfile &amp;quot;${DAEMON_PID}&amp;quot; --make-pidfile \&lt;br /&gt;
                --chuid &amp;quot;${DAEMON_USER}&amp;quot; \&lt;br /&gt;
                --exec &amp;quot;${DAEMON_PATH}&amp;quot; -- $DAEMON_OPTS&lt;br /&gt;
            result=$?&lt;br /&gt;
        fi&lt;br /&gt;
        log_end_msg $result&lt;br /&gt;
    fi&lt;br /&gt;
    return $result&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
do_stop() {&lt;br /&gt;
    local result&lt;br /&gt;
&lt;br /&gt;
    pidofproc -p &amp;quot;${DAEMON_PID}&amp;quot; &amp;quot;${DAEMON_PATH}&amp;quot; &amp;gt; /dev/null&lt;br /&gt;
    if [ $? -ne 0 ]; then&lt;br /&gt;
        log_warning_msg &amp;quot;${DAEMON_NAME} is not started&amp;quot;&lt;br /&gt;
        result=0&lt;br /&gt;
    else&lt;br /&gt;
        log_daemon_msg &amp;quot;Stopping ${DAEMON_DESC}&amp;quot; &amp;quot;${DAEMON_NAME}&amp;quot;&lt;br /&gt;
        killproc -p &amp;quot;${DAEMON_PID}&amp;quot; &amp;quot;${DAEMON_PATH}&amp;quot;&lt;br /&gt;
        result=$?&lt;br /&gt;
        log_end_msg $result&lt;br /&gt;
        rm &amp;quot;${DAEMON_PID}&amp;quot;&lt;br /&gt;
    fi&lt;br /&gt;
    return $result&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
do_restart() {&lt;br /&gt;
    local result&lt;br /&gt;
    do_stop&lt;br /&gt;
    result=$?&lt;br /&gt;
    if [ $result = 0 ]; then&lt;br /&gt;
        do_start&lt;br /&gt;
        result=$?&lt;br /&gt;
    fi&lt;br /&gt;
    return $result&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
do_status() {&lt;br /&gt;
    local result&lt;br /&gt;
    status_of_proc -p &amp;quot;${DAEMON_PID}&amp;quot; &amp;quot;${DAEMON_PATH}&amp;quot; &amp;quot;${DAEMON_NAME}&amp;quot;&lt;br /&gt;
    result=$?&lt;br /&gt;
    return $result&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
do_usage() {&lt;br /&gt;
    echo $&amp;quot;Usage: $0 {start {{!}} stop {{!}} restart {{!}} status}&amp;quot;&lt;br /&gt;
    exit 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
start)   do_start;   exit $?&amp;amp;nbsp;;;&lt;br /&gt;
stop)    do_stop;    exit $?&amp;amp;nbsp;;;&lt;br /&gt;
restart) do_restart; exit $?&amp;amp;nbsp;;;&lt;br /&gt;
status)  do_status;  exit $?&amp;amp;nbsp;;;&lt;br /&gt;
*)       do_usage;   exit  1&amp;amp;nbsp;;;&lt;br /&gt;
esac&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enable the &amp;#039;&amp;#039;&amp;#039;OpenVPN PIA Autoconnect&amp;#039;&amp;#039;&amp;#039; script&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo chmod +x /etc/init.d/openvpnauto&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo systemctl enable openvpnauto&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;amp; for some reason I&amp;#039;ve forgotten:&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo update-rc.d openvpnauto defaults 98&amp;lt;/code&amp;gt;&lt;br /&gt;
Now you can connect to PIA’s VPN automatically by running&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo service openvpnauto start&amp;lt;/code&amp;gt;&lt;br /&gt;
You can retest your IP to verify it’s not your ISP’s IP address&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;wget http://ipinfo.io/ip -qO -&amp;lt;/code&amp;gt;&lt;br /&gt;
If it is not your regular IP shown on [http://whatsmyip.org whatsmyip.org] then you can reboot and test your IP address again&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
Test your IP again and compare it to [http://whatsmyip.org whatsmyip.org]’s result&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;wget &amp;lt;nowiki&amp;gt;http://ipinfo.io/ip&amp;lt;/nowiki&amp;gt; -qO -&amp;lt;/code&amp;gt;&lt;br /&gt;
Now you’ve set up installing and autoconnecting to Private Internet Access VPN on Linux on boot&lt;/div&gt;</summary>
		<author><name>Tinker</name></author>
	</entry>
</feed>