Bob Mottram vor 8 Jahren
Ursprung
Commit
047d666531
1 geänderte Dateien mit 201 neuen und 201 gelöschten Zeilen
  1. 201
    201
      src/freedombone-app-mumble

+ 201
- 201
src/freedombone-app-mumble Datei anzeigen

@@ -40,254 +40,254 @@ VOIP_DATABASE="mumble-server.sqlite"
40 40
 VOIP_CONFIG_FILE="mumble-server.ini"
41 41
 
42 42
 function reconfigure_mumble {
43
-	echo -n ''
43
+    echo -n ''
44 44
 }
45 45
 
46 46
 function upgrade_mumble {
47
-	echo -n ''
47
+    echo -n ''
48 48
 }
49 49
 
50 50
 function backup_local_mumble {
51
-	if [ -f /etc/mumble-server.ini ]; then
52
-		echo $"Backing up Mumble settings"
53
-		temp_backup_dir=/root/tempvoipbackup
54
-		if [ ! -d $temp_backup_dir ]; then
55
-			mkdir -p $temp_backup_dir
56
-		fi
57
-		cp -f /etc/mumble-server.ini $temp_backup_dir
58
-		cp -f /var/lib/mumble-server/mumble-server.sqlite $temp_backup_dir
59
-		backup_directory_to_usb $temp_backup_dir voip
60
-		echo $"Mumble settings backup complete"
51
+    if [ -f /etc/mumble-server.ini ]; then
52
+	echo $"Backing up Mumble settings"
53
+	temp_backup_dir=/root/tempvoipbackup
54
+	if [ ! -d $temp_backup_dir ]; then
55
+	    mkdir -p $temp_backup_dir
61 56
 	fi
57
+	cp -f /etc/mumble-server.ini $temp_backup_dir
58
+	cp -f /var/lib/mumble-server/mumble-server.sqlite $temp_backup_dir
59
+	backup_directory_to_usb $temp_backup_dir voip
60
+	echo $"Mumble settings backup complete"
61
+    fi
62 62
 }
63 63
 
64 64
 function restore_local_mumble {
65
-	if [ -d $USB_MOUNT/backup/voip ]; then
66
-		echo $"Restoring VoIP settings"
67
-		temp_restore_dir=/root/tempvoip
68
-		function_check restore_directory_from_usb
69
-		restore_directory_from_usb $temp_restore_dir voip
70
-		cp -f $temp_restore_dir/home/$ADMIN_USERNAME/tempbackup/mumble-server.ini /etc/
71
-		if [ ! "$?" = "0" ]; then
72
-			rm -rf $temp_restore_dir
73
-			function_check set_user_permissions
74
-			set_user_permissions
75
-			function_check backup_unmount_drive
76
-			backup_unmount_drive
77
-			exit 3679
78
-		fi
79
-		cp -f $temp_restore_dir/home/$ADMIN_USERNAME/tempbackup/mumble-server.sqlite /var/lib/mumble-server/
80
-		if [ ! "$?" = "0" ]; then
81
-			rm -rf $temp_restore_dir
82
-			function_check set_user_permissions
83
-			set_user_permissions
84
-			function_check backup_unmount_drive
85
-			backup_unmount_drive
86
-			exit 276
87
-		fi
88
-		rm -rf $temp_restore_dir
89
-		cp /etc/ssl/certs/mumble* /var/lib/mumble-server
90
-		cp /etc/ssl/private/mumble* /var/lib/mumble-server
91
-		chown -R mumble-server:mumble-server /var/lib/mumble-server
92
-		service mumble-server restart
65
+    if [ -d $USB_MOUNT/backup/voip ]; then
66
+	echo $"Restoring VoIP settings"
67
+	temp_restore_dir=/root/tempvoip
68
+	function_check restore_directory_from_usb
69
+	restore_directory_from_usb $temp_restore_dir voip
70
+	cp -f $temp_restore_dir/home/$ADMIN_USERNAME/tempbackup/mumble-server.ini /etc/
71
+	if [ ! "$?" = "0" ]; then
72
+	    rm -rf $temp_restore_dir
73
+	    function_check set_user_permissions
74
+	    set_user_permissions
75
+	    function_check backup_unmount_drive
76
+	    backup_unmount_drive
77
+	    exit 3679
78
+	fi
79
+	cp -f $temp_restore_dir/home/$ADMIN_USERNAME/tempbackup/mumble-server.sqlite /var/lib/mumble-server/
80
+	if [ ! "$?" = "0" ]; then
81
+	    rm -rf $temp_restore_dir
82
+	    function_check set_user_permissions
83
+	    set_user_permissions
84
+	    function_check backup_unmount_drive
85
+	    backup_unmount_drive
86
+	    exit 276
93 87
 	fi
88
+	rm -rf $temp_restore_dir
89
+	cp /etc/ssl/certs/mumble* /var/lib/mumble-server
90
+	cp /etc/ssl/private/mumble* /var/lib/mumble-server
91
+	chown -R mumble-server:mumble-server /var/lib/mumble-server
92
+	service mumble-server restart
93
+    fi
94 94
 }
95 95
 
96 96
 function backup_remote_mumble {
97
-	if [ -f /etc/mumble-server.ini ]; then
98
-		echo $"Backing up VoIP settings"
99
-		if [ ! -d /root/tempvoipbackup ]; then
100
-			mkdir -p /root/tempvoipbackup
101
-		fi
102
-		cp -f /etc/mumble-server.ini /root/tempvoipbackup
103
-		cp -f /var/lib/mumble-server/mumble-server.sqlite /root/tempvoipbackup
104
-		backup_directory_to_friend /root/tempvoipbackup voip
105
-		echo $"Backup of VoIP settings complete"
97
+    if [ -f /etc/mumble-server.ini ]; then
98
+	echo $"Backing up VoIP settings"
99
+	if [ ! -d /root/tempvoipbackup ]; then
100
+	    mkdir -p /root/tempvoipbackup
106 101
 	fi
102
+	cp -f /etc/mumble-server.ini /root/tempvoipbackup
103
+	cp -f /var/lib/mumble-server/mumble-server.sqlite /root/tempvoipbackup
104
+	backup_directory_to_friend /root/tempvoipbackup voip
105
+	echo $"Backup of VoIP settings complete"
106
+    fi
107 107
 }
108 108
 
109 109
 function restore_remote_mumble {
110
-	if [ -d $SERVER_DIRECTORY/backup/voip ]; then
111
-		echo $"Restoring Mumble settings"
112
-		temp_restore_dir=/root/tempvoip
113
-		function_check restore_directory_from_friend
114
-		restore_directory_from_friend $temp_restore_dir voip
115
-		cp -f $temp_restore_dir/home/$ADMIN_USERNAME/tempbackup/mumble-server.ini /etc/
116
-		if [ ! "$?" = "0" ]; then
117
-			rm -rf $temp_restore_dir
118
-			exit 7823
119
-		fi
120
-		cp -f $temp_restore_dir/home/$ADMIN_USERNAME/tempbackup/sipwitch.conf /etc/sipwitch.conf
121
-		if [ ! "$?" = "0" ]; then
122
-			rm -rf $temp_restore_dir
123
-			exit 7823
124
-		fi
125
-		cp -f $temp_restore_dir/home/$ADMIN_USERNAME/tempbackup/mumble-server.sqlite /var/lib/mumble-server/
126
-		if [ ! "$?" = "0" ]; then
127
-			rm -rf $temp_restore_dir
128
-			exit 276
129
-		fi
130
-		rm -rf $temp_restore_dir
131
-		cp /etc/ssl/certs/mumble* /var/lib/mumble-server
132
-		cp /etc/ssl/private/mumble* /var/lib/mumble-server
133
-		chown -R mumble-server:mumble-server /var/lib/mumble-server
134
-		service mumble-server restart
135
-		echo $"Restore of Mumble complete"
110
+    if [ -d $SERVER_DIRECTORY/backup/voip ]; then
111
+	echo $"Restoring Mumble settings"
112
+	temp_restore_dir=/root/tempvoip
113
+	function_check restore_directory_from_friend
114
+	restore_directory_from_friend $temp_restore_dir voip
115
+	cp -f $temp_restore_dir/home/$ADMIN_USERNAME/tempbackup/mumble-server.ini /etc/
116
+	if [ ! "$?" = "0" ]; then
117
+	    rm -rf $temp_restore_dir
118
+	    exit 7823
119
+	fi
120
+	cp -f $temp_restore_dir/home/$ADMIN_USERNAME/tempbackup/sipwitch.conf /etc/sipwitch.conf
121
+	if [ ! "$?" = "0" ]; then
122
+	    rm -rf $temp_restore_dir
123
+	    exit 7823
124
+	fi
125
+	cp -f $temp_restore_dir/home/$ADMIN_USERNAME/tempbackup/mumble-server.sqlite /var/lib/mumble-server/
126
+	if [ ! "$?" = "0" ]; then
127
+	    rm -rf $temp_restore_dir
128
+	    exit 276
136 129
 	fi
130
+	rm -rf $temp_restore_dir
131
+	cp /etc/ssl/certs/mumble* /var/lib/mumble-server
132
+	cp /etc/ssl/private/mumble* /var/lib/mumble-server
133
+	chown -R mumble-server:mumble-server /var/lib/mumble-server
134
+	service mumble-server restart
135
+	echo $"Restore of Mumble complete"
136
+    fi
137 137
 }
138 138
 
139 139
 function remove_mumble {
140
-	if !grep -Fxq "install_mumble" $COMPLETION_FILE; then
141
-		if ! grep -Fxq "install_voip" $COMPLETION_FILE; then
142
-			return
143
-		fi
144
-	fi
145
-	apt-get -y remove --purge mumble-server
146
-	iptables -D INPUT -p udp --dport $VOIP_PORT -j ACCEPT
147
-	iptables -D INPUT -p tcp --dport $VOIP_PORT -j ACCEPT
148
-	function_check save_firewall_settings
149
-	save_firewall_settings
150
-	if [ -f /etc/mumble-server.ini ]; then
151
-		rm /etc/mumble-server.ini
140
+    if !grep -Fxq "install_mumble" $COMPLETION_FILE; then
141
+	if ! grep -Fxq "install_voip" $COMPLETION_FILE; then
142
+	    return
152 143
 	fi
153
-	function_check remove_onion_service
154
-	remove_onion_service voip ${VOIP_PORT}
155
-	sed -i '/install_mumble/d' $COMPLETION_FILE
156
-	sed -i '/install_voip/d' $COMPLETION_FILE
157
-	sed -i '/configure_firewall_for_voip/d' $COMPLETION_FILE
158
-	sed -i '/VoIP /d' $COMPLETION_FILE
144
+    fi
145
+    apt-get -y remove --purge mumble-server
146
+    iptables -D INPUT -p udp --dport $VOIP_PORT -j ACCEPT
147
+    iptables -D INPUT -p tcp --dport $VOIP_PORT -j ACCEPT
148
+    function_check save_firewall_settings
149
+    save_firewall_settings
150
+    if [ -f /etc/mumble-server.ini ]; then
151
+	rm /etc/mumble-server.ini
152
+    fi
153
+    function_check remove_onion_service
154
+    remove_onion_service voip ${VOIP_PORT}
155
+    sed -i '/install_mumble/d' $COMPLETION_FILE
156
+    sed -i '/install_voip/d' $COMPLETION_FILE
157
+    sed -i '/configure_firewall_for_voip/d' $COMPLETION_FILE
158
+    sed -i '/VoIP /d' $COMPLETION_FILE
159 159
 }
160 160
 
161 161
 function get_voip_server_password {
162
-	if [ -f /home/$MY_USERNAME/README ]; then
163
-		if grep -q "VoIP server password" /home/$MY_USERNAME/README; then
164
-			if [ ! $VOIP_SERVER_PASSWORD ]; then
165
-				VOIP_SERVER_PASSWORD=$(cat /home/$MY_USERNAME/README | grep "VoIP server password" | awk -F ':' '{print $2}' | sed 's/^ *//')
166
-			fi
167
-		else
168
-			if grep -q "Mumble server password" /home/$MY_USERNAME/README; then
169
-				if [ ! $VOIP_SERVER_PASSWORD ]; then
170
-					VOIP_SERVER_PASSWORD=$(cat /home/$MY_USERNAME/README | grep "Mumble server password" | awk -F ':' '{print $2}' | sed 's/^ *//')
171
-				fi
172
-			fi
162
+    if [ -f /home/$MY_USERNAME/README ]; then
163
+	if grep -q "VoIP server password" /home/$MY_USERNAME/README; then
164
+	    if [ ! $VOIP_SERVER_PASSWORD ]; then
165
+		VOIP_SERVER_PASSWORD=$(cat /home/$MY_USERNAME/README | grep "VoIP server password" | awk -F ':' '{print $2}' | sed 's/^ *//')
166
+	    fi
167
+	else
168
+	    if grep -q "Mumble server password" /home/$MY_USERNAME/README; then
169
+		if [ ! $VOIP_SERVER_PASSWORD ]; then
170
+		    VOIP_SERVER_PASSWORD=$(cat /home/$MY_USERNAME/README | grep "Mumble server password" | awk -F ':' '{print $2}' | sed 's/^ *//')
173 171
 		fi
172
+	    fi
174 173
 	fi
174
+    fi
175 175
 }
176 176
 
177 177
 function configure_firewall_for_voip {
178
-	if grep -Fxq "configure_firewall_for_voip" $COMPLETION_FILE; then
179
-		return
180
-	fi
181
-	if [[ $ONION_ONLY != "no" ]]; then
182
-		return
183
-	fi
184
-	iptables -A INPUT -p udp --dport $VOIP_PORT -j ACCEPT
185
-	iptables -A INPUT -p tcp --dport $VOIP_PORT -j ACCEPT
186
-	function_check save_firewall_settings
187
-	save_firewall_settings
178
+    if grep -Fxq "configure_firewall_for_voip" $COMPLETION_FILE; then
179
+	return
180
+    fi
181
+    if [[ $ONION_ONLY != "no" ]]; then
182
+	return
183
+    fi
184
+    iptables -A INPUT -p udp --dport $VOIP_PORT -j ACCEPT
185
+    iptables -A INPUT -p tcp --dport $VOIP_PORT -j ACCEPT
186
+    function_check save_firewall_settings
187
+    save_firewall_settings
188 188
 
189
-	OPEN_PORTS+=("Mumble   $VOIP_PORT")
190
-	echo 'configure_firewall_for_voip' >> $COMPLETION_FILE
189
+    OPEN_PORTS+=("Mumble   $VOIP_PORT")
190
+    echo 'configure_firewall_for_voip' >> $COMPLETION_FILE
191 191
 }
192 192
 
193 193
 function install_mumble {
194
-	if grep -Fxq "install_mumble" $COMPLETION_FILE; then
195
-		return
196
-	fi
197
-	if grep -Fxq "install_voip" $COMPLETION_FILE; then
198
-		return
199
-	fi
200
-	apt-get -y install mumble-server
194
+    if grep -Fxq "install_mumble" $COMPLETION_FILE; then
195
+	return
196
+    fi
197
+    if grep -Fxq "install_voip" $COMPLETION_FILE; then
198
+	return
199
+    fi
200
+    apt-get -y install mumble-server
201 201
 
202
-	function_check get_voip_server_password
203
-	get_voip_server_password
204
-	if [ ! $VOIP_SERVER_PASSWORD ]; then
205
-		if [ -f $IMAGE_PASSWORD_FILE ]; then
206
-			VOIP_SERVER_PASSWORD="$(printf `cat $IMAGE_PASSWORD_FILE`)"
207
-		else
208
-			VOIP_SERVER_PASSWORD="$(create_password ${MINIMUM_PASSWORD_LENGTH})"
209
-			if [ ${#VOIP_SERVER_PASSWORD} -lt $MINIMUM_PASSWORD_LENGTH ]; then
210
-				VOIP_SERVER_PASSWORD="$(create_password ${MINIMUM_PASSWORD_LENGTH})"
211
-			fi
212
-		fi
202
+    function_check get_voip_server_password
203
+    get_voip_server_password
204
+    if [ ! $VOIP_SERVER_PASSWORD ]; then
205
+	if [ -f $IMAGE_PASSWORD_FILE ]; then
206
+	    VOIP_SERVER_PASSWORD="$(printf `cat $IMAGE_PASSWORD_FILE`)"
207
+	else
208
+	    VOIP_SERVER_PASSWORD="$(create_password ${MINIMUM_PASSWORD_LENGTH})"
209
+	    if [ ${#VOIP_SERVER_PASSWORD} -lt $MINIMUM_PASSWORD_LENGTH ]; then
210
+		VOIP_SERVER_PASSWORD="$(create_password ${MINIMUM_PASSWORD_LENGTH})"
211
+	    fi
213 212
 	fi
213
+    fi
214 214
 
215
-	# Make an ssl cert for the server
216
-	if [ ! -f /etc/ssl/certs/mumble.dhparam ]; then
217
-		${PROJECT_NAME}-addcert -h mumble --dhkey $DH_KEYLENGTH
218
-		function_check check_certificates
219
-		check_certificates mumble
220
-	fi
215
+    # Make an ssl cert for the server
216
+    if [ ! -f /etc/ssl/certs/mumble.dhparam ]; then
217
+	${PROJECT_NAME}-addcert -h mumble --dhkey $DH_KEYLENGTH
218
+	function_check check_certificates
219
+	check_certificates mumble
220
+    fi
221 221
 
222
-	# Check that the cert was created
223
-	if [ ! -f /etc/ssl/certs/mumble.crt ]; then
224
-		echo $'VoIP server certificate not created'
225
-		exit 57892
226
-	fi
227
-	if [ ! -f /etc/ssl/private/mumble.key ]; then
228
-		echo $'VoIP server key not created'
229
-		exit 57893
230
-	fi
231
-	if [ ! -d /var/lib/mumble-server ]; then
232
-		mkdir /var/lib/mumble-server
233
-	fi
234
-	cp /etc/ssl/certs/mumble.* /var/lib/mumble-server
235
-	cp /etc/ssl/private/mumble.key /var/lib/mumble-server
236
-	chown -R mumble-server:mumble-server /var/lib/mumble-server
222
+    # Check that the cert was created
223
+    if [ ! -f /etc/ssl/certs/mumble.crt ]; then
224
+	echo $'VoIP server certificate not created'
225
+	exit 57892
226
+    fi
227
+    if [ ! -f /etc/ssl/private/mumble.key ]; then
228
+	echo $'VoIP server key not created'
229
+	exit 57893
230
+    fi
231
+    if [ ! -d /var/lib/mumble-server ]; then
232
+	mkdir /var/lib/mumble-server
233
+    fi
234
+    cp /etc/ssl/certs/mumble.* /var/lib/mumble-server
235
+    cp /etc/ssl/private/mumble.key /var/lib/mumble-server
236
+    chown -R mumble-server:mumble-server /var/lib/mumble-server
237 237
 
238
-	sed -i "s|welcometext=.*|welcometext=\"<br />Welcome to $DEFAULT_DOMAIN_NAME <b>VoIP</b>.<br />Chat freely!<br />\"|g" /etc/mumble-server.ini
238
+    sed -i "s|welcometext=.*|welcometext=\"<br />Welcome to $DEFAULT_DOMAIN_NAME <b>VoIP</b>.<br />Chat freely!<br />\"|g" /etc/mumble-server.ini
239 239
 
240
-	if [[ $VOIP_SERVER_PASSWORD && $SYSTEM_TYPE != "$VARIANT_MESH" ]]; then
241
-		sed -i "s|serverpassword=.*|serverpassword=$VOIP_SERVER_PASSWORD|g" /etc/mumble-server.ini
242
-	fi
240
+    if [[ $VOIP_SERVER_PASSWORD && $SYSTEM_TYPE != "$VARIANT_MESH" ]]; then
241
+	sed -i "s|serverpassword=.*|serverpassword=$VOIP_SERVER_PASSWORD|g" /etc/mumble-server.ini
242
+    fi
243 243
 
244
-	sed -i 's|#autobanAttempts.*|autobanAttempts = 10|g' /etc/mumble-server.ini
245
-	sed -i 's|#autobanTimeframe.*|autobanTimeframe = 120|g' /etc/mumble-server.ini
246
-	sed -i 's|#autobanTime.*|autobanTime = 300|g' /etc/mumble-server.ini
247
-	sed -i 's|#sendversion=.*|sendversion=False|g' /etc/mumble-server.ini
248
-	sed -i 's|sendversion=.*|sendversion=False|g' /etc/mumble-server.ini
249
-	if ! grep -q "allowping" /etc/mumble-server.ini; then
250
-		echo 'allowping=False' >> /etc/mumble-server.ini
251
-	fi
252
-	sed -i 's|allowping=.*|allowping=False|g' /etc/mumble-server.ini
253
-	sed -i 's|#sslCert=.*|sslCert=/var/lib/mumble-server/mumble.crt|g' /etc/mumble-server.ini
254
-	sed -i 's|#sslKey=.*|sslKey=/var/lib/mumble-server/mumble.key|g' /etc/mumble-server.ini
255
-	sed -i 's|#certrequired=.*|certrequired=True|g' /etc/mumble-server.ini
256
-	sed -i 's|users=100|users=10|g' /etc/mumble-server.ini
257
-	sed -i 's|#channelnestinglimit=10|channelnestinglimit=10|g' /etc/mumble-server.ini
258
-	sed -i 's|#textmessagelength=.*|textmessagelength=1000|g' /etc/mumble-server.ini
259
-	sed -i 's|textmessagelength=.*|textmessagelength=1000|g' /etc/mumble-server.ini
260
-	sed -i 's|#imagemessagelength=.*|imagemessagelength=131072|g' /etc/mumble-server.ini
261
-	sed -i 's|#allowhtml=.*|allowhtml=False|g' /etc/mumble-server.ini
262
-	sed -i 's|allowhtml=.*|allowhtml=False|g' /etc/mumble-server.ini
263
-	sed -i "s|port=.*|port=${VOIP_PORT}|g" /etc/mumble-server.ini
244
+    sed -i 's|#autobanAttempts.*|autobanAttempts = 10|g' /etc/mumble-server.ini
245
+    sed -i 's|#autobanTimeframe.*|autobanTimeframe = 120|g' /etc/mumble-server.ini
246
+    sed -i 's|#autobanTime.*|autobanTime = 300|g' /etc/mumble-server.ini
247
+    sed -i 's|#sendversion=.*|sendversion=False|g' /etc/mumble-server.ini
248
+    sed -i 's|sendversion=.*|sendversion=False|g' /etc/mumble-server.ini
249
+    if ! grep -q "allowping" /etc/mumble-server.ini; then
250
+	echo 'allowping=False' >> /etc/mumble-server.ini
251
+    fi
252
+    sed -i 's|allowping=.*|allowping=False|g' /etc/mumble-server.ini
253
+    sed -i 's|#sslCert=.*|sslCert=/var/lib/mumble-server/mumble.crt|g' /etc/mumble-server.ini
254
+    sed -i 's|#sslKey=.*|sslKey=/var/lib/mumble-server/mumble.key|g' /etc/mumble-server.ini
255
+    sed -i 's|#certrequired=.*|certrequired=True|g' /etc/mumble-server.ini
256
+    sed -i 's|users=100|users=10|g' /etc/mumble-server.ini
257
+    sed -i 's|#channelnestinglimit=10|channelnestinglimit=10|g' /etc/mumble-server.ini
258
+    sed -i 's|#textmessagelength=.*|textmessagelength=1000|g' /etc/mumble-server.ini
259
+    sed -i 's|textmessagelength=.*|textmessagelength=1000|g' /etc/mumble-server.ini
260
+    sed -i 's|#imagemessagelength=.*|imagemessagelength=131072|g' /etc/mumble-server.ini
261
+    sed -i 's|#allowhtml=.*|allowhtml=False|g' /etc/mumble-server.ini
262
+    sed -i 's|allowhtml=.*|allowhtml=False|g' /etc/mumble-server.ini
263
+    sed -i "s|port=.*|port=${VOIP_PORT}|g" /etc/mumble-server.ini
264 264
 
265
-	VOIP_ONION_HOSTNAME=$(add_onion_service voip ${VOIP_PORT} ${VOIP_PORT})
266
-	if ! grep -q $"VoIP onion domain" $COMPLETION_FILE; then
267
-		echo "VoIP onion domain:$VOIP_ONION_HOSTNAME" >> $COMPLETION_FILE
268
-	fi
265
+    VOIP_ONION_HOSTNAME=$(add_onion_service voip ${VOIP_PORT} ${VOIP_PORT})
266
+    if ! grep -q $"VoIP onion domain" $COMPLETION_FILE; then
267
+	echo "VoIP onion domain:$VOIP_ONION_HOSTNAME" >> $COMPLETION_FILE
268
+    fi
269 269
 
270
-	systemctl restart mumble-server
270
+    systemctl restart mumble-server
271 271
 
272
-	if ! grep -q $"Mumble Server" /home/$MY_USERNAME/README; then
273
-		echo '' >> /home/$MY_USERNAME/README
274
-		echo '' >> /home/$MY_USERNAME/README
275
-		echo $'Mumble Server' >> /home/$MY_USERNAME/README
276
-		echo '=============' >> /home/$MY_USERNAME/README
277
-		echo $"Mumble onion domain:$VOIP_ONION_HOSTNAME" >> /home/$MY_USERNAME/README
278
-		echo $'Mumble server username: mumble-server' >> /home/$MY_USERNAME/README
279
-		if [[ $SYSTEM_TYPE != "VARIANT_MESH" ]]; then
280
-			echo $"Mumble server password: $VOIP_SERVER_PASSWORD" >> /home/$MY_USERNAME/README
281
-		fi
282
-		echo '' >> /home/$MY_USERNAME/README
283
-		echo $'To connect to the Mumble server use your username and the server password shown above.' >> /home/$MY_USERNAME/README
284
-		chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
285
-		chmod 600 /home/$MY_USERNAME/README
272
+    if ! grep -q $"Mumble Server" /home/$MY_USERNAME/README; then
273
+	echo '' >> /home/$MY_USERNAME/README
274
+	echo '' >> /home/$MY_USERNAME/README
275
+	echo $'Mumble Server' >> /home/$MY_USERNAME/README
276
+	echo '=============' >> /home/$MY_USERNAME/README
277
+	echo $"Mumble onion domain:$VOIP_ONION_HOSTNAME" >> /home/$MY_USERNAME/README
278
+	echo $'Mumble server username: mumble-server' >> /home/$MY_USERNAME/README
279
+	if [[ $SYSTEM_TYPE != "VARIANT_MESH" ]]; then
280
+	    echo $"Mumble server password: $VOIP_SERVER_PASSWORD" >> /home/$MY_USERNAME/README
286 281
 	fi
282
+	echo '' >> /home/$MY_USERNAME/README
283
+	echo $'To connect to the Mumble server use your username and the server password shown above.' >> /home/$MY_USERNAME/README
284
+	chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
285
+	chmod 600 /home/$MY_USERNAME/README
286
+    fi
287 287
 
288
-	function_check configure_firewall_for_voip
289
-	configure_firewall_for_voip
290
-	echo 'install_mumble' >> $COMPLETION_FILE
288
+    function_check configure_firewall_for_voip
289
+    configure_firewall_for_voip
290
+    echo 'install_mumble' >> $COMPLETION_FILE
291 291
 }
292 292
 
293 293
 # NOTE: deliberately no exit 0