Explorar el Código

Backup and restore vpn keys

Bob Mottram hace 7 años
padre
commit
01c182b668
Se han modificado 1 ficheros con 46 adiciones y 4 borrados
  1. 46
    4
      src/freedombone-app-vpn

+ 46
- 4
src/freedombone-app-vpn Ver fichero

@@ -64,19 +64,61 @@ function upgrade_vpn {
64 64
 }
65 65
 
66 66
 function backup_local_vpn {
67
-    echo -n ''
67
+    for d in /home/*/ ; do
68
+        USERNAME=$(echo "$d" | awk -F '/' '{print $3}')
69
+        if [ -f /home/$USERNAME/$OPENVPN_KEY_FILENAME ]; then
70
+            cp /home/$USERNAME/$OPENVPN_KEY_FILENAME /etc/openvpn/easy-rsa/keys/${USERNAME}_${OPENVPN_KEY_FILENAME}
71
+        fi
72
+    done
73
+
74
+    function_check backup_directory_to_usb
75
+    backup_directory_to_usb /etc/openvpn/easy-rsa/keys vpn
68 76
 }
69 77
 
70 78
 function restore_local_vpn {
71
-    echo -n ''
79
+    temp_restore_dir=/root/tempvpn
80
+    restore_directory_from_usb $temp_restore_dir vpn
81
+    if [ -d ${temp_restore_dir} ]; then
82
+        cp -r ${temp_restore_dir}/* /etc/openvpn/easy-rsa/keys
83
+        rm -rf ${temp_restore_dir}
84
+
85
+        for d in /home/*/ ; do
86
+            USERNAME=$(echo "$d" | awk -F '/' '{print $3}')
87
+            if [ -f /etc/openvpn/easy-rsa/keys/${USERNAME}_${OPENVPN_KEY_FILENAME} ]; then
88
+                cp /etc/openvpn/easy-rsa/keys/${USERNAME}_${OPENVPN_KEY_FILENAME} /home/$USERNAME/$OPENVPN_KEY_FILENAME
89
+                chown $USERNAME:$USERNAME /home/$USERNAME/$OPENVPN_KEY_FILENAME
90
+            fi
91
+        done
92
+    fi
72 93
 }
73 94
 
74 95
 function backup_remote_vpn {
75
-    echo -n ''
96
+    for d in /home/*/ ; do
97
+        USERNAME=$(echo "$d" | awk -F '/' '{print $3}')
98
+        if [ -f /home/$USERNAME/$OPENVPN_KEY_FILENAME ]; then
99
+            cp /home/$USERNAME/$OPENVPN_KEY_FILENAME /etc/openvpn/easy-rsa/keys/${USERNAME}_${OPENVPN_KEY_FILENAME}
100
+        fi
101
+    done
102
+
103
+    function_check backup_directory_to_friend
104
+    backup_directory_to_friend /etc/openvpn/easy-rsa/keys vpn
76 105
 }
77 106
 
78 107
 function restore_remote_vpn {
79
-    echo -n ''
108
+    temp_restore_dir=/root/tempvpn
109
+    restore_directory_from_friend $temp_restore_dir vpn
110
+    if [ -d ${temp_restore_dir} ]; then
111
+        cp -r ${temp_restore_dir}/* /etc/openvpn/easy-rsa/keys
112
+        rm -rf ${temp_restore_dir}
113
+
114
+        for d in /home/*/ ; do
115
+            USERNAME=$(echo "$d" | awk -F '/' '{print $3}')
116
+            if [ -f /etc/openvpn/easy-rsa/keys/${USERNAME}_${OPENVPN_KEY_FILENAME} ]; then
117
+                cp /etc/openvpn/easy-rsa/keys/${USERNAME}_${OPENVPN_KEY_FILENAME} /home/$USERNAME/$OPENVPN_KEY_FILENAME
118
+                chown $USERNAME:$USERNAME /home/$USERNAME/$OPENVPN_KEY_FILENAME
119
+            fi
120
+        done
121
+    fi
80 122
 }
81 123
 
82 124
 function remove_vpn {