浏览代码

Replace readme with password store

Bob Mottram 8 年前
父节点
当前提交
c3630f4900

+ 0
- 12
src/freedombone-app-batman 查看文件

145
         exit 72524
145
         exit 72524
146
     fi
146
     fi
147
 
147
 
148
-    if ! grep -q "Mesh Networking (B.A.T.M.A.N)" /home/$MY_USERNAME/README; then
149
-        echo '' >> /home/$MY_USERNAME/README
150
-        echo '' >> /home/$MY_USERNAME/README
151
-        echo 'Mesh Networking (B.A.T.M.A.N)' >> /home/$MY_USERNAME/README
152
-        echo '=============================' >> /home/$MY_USERNAME/README
153
-        echo "Mesh ESSID: $WIFI_SSID" >> /home/$MY_USERNAME/README
154
-        echo "Mesh cell ID: $BATMAN_CELLID" >> /home/$MY_USERNAME/README
155
-        echo "Mesh wifi channel: $WIFI_CHANNEL" >> /home/$MY_USERNAME/README
156
-        chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
157
-        chmod 600 /home/$MY_USERNAME/README
158
-    fi
159
-
160
     function_check configure_firewall_for_batman
148
     function_check configure_firewall_for_batman
161
     configure_firewall_for_batman
149
     configure_firewall_for_batman
162
     APP_INSTALLED=1
150
     APP_INSTALLED=1

+ 2
- 24
src/freedombone-app-dokuwiki 查看文件

61
 }
61
 }
62
 
62
 
63
 function change_password_dokuwiki {
63
 function change_password_dokuwiki {
64
-    echo -n ''
64
+    ${PROJECT_NAME}-pass -u $1 -a dokuwiki -p "$2"
65
 }
65
 }
66
 
66
 
67
 function reconfigure_dokuwiki {
67
 function reconfigure_dokuwiki {
203
     fi
203
     fi
204
     remove_completion_param "install_dokuwiki"
204
     remove_completion_param "install_dokuwiki"
205
     remove_completion_param "dokuwiki domain"
205
     remove_completion_param "dokuwiki domain"
206
-    sed -i '/Dokuwiki/d' /home/$MY_USERNAME/README
207
     sed -i '/dokuwiki/d' $COMPLETION_FILE
206
     sed -i '/dokuwiki/d' $COMPLETION_FILE
208
 
207
 
209
     function_check remove_ddns_domain
208
     function_check remove_ddns_domain
210
     remove_ddns_domain $DOKUWIKI_DOMAIN_NAME
209
     remove_ddns_domain $DOKUWIKI_DOMAIN_NAME
211
 }
210
 }
212
 
211
 
213
-function get_dokuwiki_admin_password {
214
-    if [ -f /home/$MY_USERNAME/README ]; then
215
-        if grep -q "Dokuwiki password" /home/$MY_USERNAME/README; then
216
-            DOKUWIKI_ADMIN_PASSWORD=$(cat /home/$MY_USERNAME/README | grep "Dokuwiki password:" | awk -F ':' '{print $2}' | sed 's/^ *//')
217
-        fi
218
-    fi
219
-}
220
-
221
 function install_dokuwiki {
212
 function install_dokuwiki {
222
     if [ ! $DOKUWIKI_DOMAIN_NAME ]; then
213
     if [ ! $DOKUWIKI_DOMAIN_NAME ]; then
223
         return
214
         return
277
         echo "\$conf['authtype'] = 'authplain';" >> /etc/dokuwiki/local.php
268
         echo "\$conf['authtype'] = 'authplain';" >> /etc/dokuwiki/local.php
278
     fi
269
     fi
279
 
270
 
280
-    function_check get_dokuwiki_admin_password
281
-    get_dokuwiki_admin_password
282
     if [ -f $IMAGE_PASSWORD_FILE ]; then
271
     if [ -f $IMAGE_PASSWORD_FILE ]; then
283
         DOKUWIKI_ADMIN_PASSWORD="$(printf `cat $IMAGE_PASSWORD_FILE`)"
272
         DOKUWIKI_ADMIN_PASSWORD="$(printf `cat $IMAGE_PASSWORD_FILE`)"
284
     else
273
     else
477
     function_check add_ddns_domain
466
     function_check add_ddns_domain
478
     add_ddns_domain $DOKUWIKI_DOMAIN_NAME
467
     add_ddns_domain $DOKUWIKI_DOMAIN_NAME
479
 
468
 
480
-    # add some post-install instructions
481
-    if ! grep -q $"Dokuwiki password" /home/$MY_USERNAME/README; then
482
-        echo '' >> /home/$MY_USERNAME/README
483
-        echo '' >> /home/$MY_USERNAME/README
484
-        echo $'# Dokuwiki' >> /home/$MY_USERNAME/README
485
-        echo $"Dokuwiki onion domain: ${DOKUWIKI_ONION_HOSTNAME}" >> /home/$MY_USERNAME/README
486
-        echo $"Dokuwiki username: $MY_USERNAME" >> /home/$MY_USERNAME/README
487
-        echo $"Dokuwiki password: $DOKUWIKI_ADMIN_PASSWORD" >> /home/$MY_USERNAME/README
488
-        echo '' >> /home/$MY_USERNAME/README
489
-        chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
490
-        chmod 600 /home/$MY_USERNAME/README
491
-    fi
469
+    ${PROJECT_NAME}-pass -u $MY_USERNAME -a dokuwiki -p "$DOKUWIKI_ADMIN_PASSWORD"
492
 
470
 
493
     APP_INSTALLED=1
471
     APP_INSTALLED=1
494
 }
472
 }

+ 4
- 26
src/freedombone-app-etherpad 查看文件

54
                     MY_USERNAME)
54
                     MY_USERNAME)
55
 
55
 
56
 function change_password_etherpad {
56
 function change_password_etherpad {
57
-    echo -n ''
57
+    ${PROJECT_NAME}-pass -u $1 -a dokuwiki -p "$2"
58
 }
58
 }
59
 
59
 
60
 function etherpad_create_database {
60
 function etherpad_create_database {
179
 function remove_user_etherpad {
179
 function remove_user_etherpad {
180
     remove_username="$1"
180
     remove_username="$1"
181
     read_config_param ETHERPAD_DOMAIN_NAME
181
     read_config_param ETHERPAD_DOMAIN_NAME
182
+    ${PROJECT_NAME}-pass -u $remove_username --rmapp etherpad
182
 
183
 
183
     if ! grep -q "\"${remove_username}\": {" /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json; then
184
     if ! grep -q "\"${remove_username}\": {" /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json; then
184
         sed -i "/\"${remove_username}\": {/,/},/d" /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
185
         sed -i "/\"${remove_username}\": {/,/},/d" /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
188
 function add_user_etherpad {
189
 function add_user_etherpad {
189
     new_username="$1"
190
     new_username="$1"
190
     new_user_password="$2"
191
     new_user_password="$2"
192
+    ${PROJECT_NAME}-pass -u $new_username -a etherpad -p "$new_user_password"
191
     read_config_param ETHERPAD_DOMAIN_NAME
193
     read_config_param ETHERPAD_DOMAIN_NAME
192
     if ! grep -q "\"${new_username}\": {" /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json; then
194
     if ! grep -q "\"${new_username}\": {" /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json; then
193
         sed -i "/\"users\": {/a    \"${new_username}\": {
195
         sed -i "/\"users\": {/a    \"${new_username}\": {
420
     remove_app etherpad
422
     remove_app etherpad
421
     remove_completion_param install_etherpad
423
     remove_completion_param install_etherpad
422
     sed -i '/etherpad/d' $COMPLETION_FILE
424
     sed -i '/etherpad/d' $COMPLETION_FILE
423
-    sed -i '/Etherpad/d' /home/$MY_USERNAME/README
424
     remove_backup_database_local etherpad
425
     remove_backup_database_local etherpad
425
     deluser --remove-all-files etherpad
426
     deluser --remove-all-files etherpad
426
     remove_nodejs etherpad
427
     remove_nodejs etherpad
595
 
596
 
596
     ETHERPAD_ONION_HOSTNAME=$(add_onion_service etherpad 80 ${ETHERPAD_ONION_PORT})
597
     ETHERPAD_ONION_HOSTNAME=$(add_onion_service etherpad 80 ${ETHERPAD_ONION_PORT})
597
 
598
 
598
-    # some post-install instructions for the user
599
-    if ! grep -q $"Etherpad administrator" /home/$MY_USERNAME/README; then
600
-        echo '' >> /home/$MY_USERNAME/README
601
-        echo $'# Etherpad' >> /home/$MY_USERNAME/README
602
-        echo $"Etherpad administrator nickname: $MY_USERNAME" >> /home/$MY_USERNAME/README
603
-        echo $"Etherpad administrator password: $ETHERPAD_ADMIN_PASSWORD" >> /home/$MY_USERNAME/README
604
-        chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
605
-        chmod 600 /home/$MY_USERNAME/README
606
-    else
607
-        if [ -f /home/$MY_USERNAME/README ]; then
608
-            sed -i "s|Etherpad administrator password.*|Etherpad administrator password: $ETHERPAD_ADMIN_PASSWORD|g" /home/$MY_USERNAME/README
609
-        fi
610
-    fi
611
-
612
-    if ! grep -q "Etherpad onion domain" /home/$MY_USERNAME/README; then
613
-        echo $"Etherpad onion domain: ${ETHERPAD_ONION_HOSTNAME}" >> /home/$MY_USERNAME/README
614
-        echo '' >> /home/$MY_USERNAME/README
615
-        chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
616
-        chmod 600 /home/$MY_USERNAME/README
617
-    else
618
-        if [ -f /home/$MY_USERNAME/README ]; then
619
-            sed -i "s|Etherpad onion domain.*|Etherpad onion domain: ${ETHERPAD_ONION_HOSTNAME}|g" /home/$MY_USERNAME/README
620
-        fi
621
-    fi
599
+    ${PROJECT_NAME}-pass -u $MY_USERNAME -a etherpad -p "$ETHERPAD_ADMIN_PASSWORD"
622
 
600
 
623
     function_check add_ddns_domain
601
     function_check add_ddns_domain
624
     add_ddns_domain $ETHERPAD_DOMAIN_NAME
602
     add_ddns_domain $ETHERPAD_DOMAIN_NAME

+ 1
- 16
src/freedombone-app-ghost 查看文件

230
     remove_completion_param "install_ghost"
230
     remove_completion_param "install_ghost"
231
     sed -i '/Ghost/d' $COMPLETION_FILE
231
     sed -i '/Ghost/d' $COMPLETION_FILE
232
     sed -i '/ghost/d' $COMPLETION_FILE
232
     sed -i '/ghost/d' $COMPLETION_FILE
233
-    sed -i '/ghost/d' /home/$MY_USERNAME/README
234
-    sed -i '/Ghost/d' /home/$MY_USERNAME/README
235
 
233
 
236
     function_check remove_ddns_domain
234
     function_check remove_ddns_domain
237
     remove_ddns_domain $GHOST_DOMAIN_NAME
235
     remove_ddns_domain $GHOST_DOMAIN_NAME
238
 }
236
 }
239
 
237
 
240
-function get_ghost_admin_password {
241
-    if [ -f /home/$MY_USERNAME/README ]; then
242
-        if grep -q "Your ghost password is" /home/$MY_USERNAME/README; then
243
-            GHOST_ADMIN_PASSWORD=$(cat /home/$MY_USERNAME/README | grep "Your ghost password is" | awk -F ':' '{print $2}' | sed 's/^ *//')
244
-        fi
245
-    fi
246
-}
247
-
248
 function ghost_create_config {
238
 function ghost_create_config {
249
     ghost_config=/var/www/${GHOST_DOMAIN_NAME}/htdocs/config.js
239
     ghost_config=/var/www/${GHOST_DOMAIN_NAME}/htdocs/config.js
250
 
240
 
467
 
457
 
468
     systemctl restart nginx
458
     systemctl restart nginx
469
 
459
 
470
-    if ! grep -q "Ghost onion domain" /home/$MY_USERNAME/README; then
471
-        echo $"Ghost onion domain: ${GHOST_ONION_HOSTNAME}" >> /home/$MY_USERNAME/README
472
-        echo '' >> /home/$MY_USERNAME/README
473
-        chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
474
-        chmod 600 /home/$MY_USERNAME/README
475
-    fi
460
+    ${PROJECT_NAME}-pass -u $MY_USERNAME -a ghost -p "$GHOST_ADMIN_PASSWORD"
476
 
461
 
477
     function_check add_ddns_domain
462
     function_check add_ddns_domain
478
     add_ddns_domain $GHOST_DOMAIN_NAME
463
     add_ddns_domain $GHOST_DOMAIN_NAME

+ 6
- 40
src/freedombone-app-gnusocial 查看文件

77
 function remove_user_gnusocial {
77
 function remove_user_gnusocial {
78
     remove_username="$1"
78
     remove_username="$1"
79
 
79
 
80
+    ${PROJECT_NAME}-pass -u $remove_username --rmapp gnusocial
81
+
80
     function_check get_completion_param
82
     function_check get_completion_param
81
     GNUSOCIAL_DOMAIN_NAME=$(get_completion_param "gnusocial domain")
83
     GNUSOCIAL_DOMAIN_NAME=$(get_completion_param "gnusocial domain")
82
     if [ -d /var/www/$GNUSOCIAL_DOMAIN_NAME ]; then
84
     if [ -d /var/www/$GNUSOCIAL_DOMAIN_NAME ]; then
89
     new_username="$1"
91
     new_username="$1"
90
     new_user_password="$2"
92
     new_user_password="$2"
91
 
93
 
94
+    ${PROJECT_NAME}-pass -u $new_username -a gnusocial -p "$new_user_password"
95
+
92
     GNUSOCIAL_DOMAIN_NAME=$(get_completion_param "gnusocial domain")
96
     GNUSOCIAL_DOMAIN_NAME=$(get_completion_param "gnusocial domain")
93
     if [ -d /var/www/${GNUSOCIAL_DOMAIN_NAME}/htdocs ]; then
97
     if [ -d /var/www/${GNUSOCIAL_DOMAIN_NAME}/htdocs ]; then
94
         cd /var/www/$GNUSOCIAL_DOMAIN_NAME/htdocs
98
         cd /var/www/$GNUSOCIAL_DOMAIN_NAME/htdocs
185
 }
189
 }
186
 
190
 
187
 function change_password_gnusocial {
191
 function change_password_gnusocial {
188
-    echo -n ''
189
-}
190
-
191
-function get_mariadb_gnusocial_admin_password {
192
-    if [ -f /home/$MY_USERNAME/README ]; then
193
-        if grep -q "MariaDB gnusocial admin password" /home/$MY_USERNAME/README; then
194
-            GNUSOCIAL_ADMIN_PASSWORD=$(cat /home/$MY_USERNAME/README | grep "MariaDB gnusocial admin password" | awk -F ':' '{print $2}' | sed 's/^ *//')
195
-        fi
196
-        if grep -q "gnusocial administrator password" /home/$MY_USERNAME/README; then
197
-            GNUSOCIAL_ADMIN_PASSWORD=$(cat /home/$MY_USERNAME/README | grep "gnusocial administrator password" | awk -F ':' '{print $2}' | sed 's/^ *//')
198
-        fi
199
-    fi
192
+    ${PROJECT_NAME}-pass -u $1 -a gnusocial -p "$2"
200
 }
193
 }
201
 
194
 
202
 function gnusocial_create_database {
195
 function gnusocial_create_database {
203
-    function_check get_mariadb_gnusocial_admin_password
204
-    get_mariadb_gnusocial_admin_password
205
     if [ -f $IMAGE_PASSWORD_FILE ]; then
196
     if [ -f $IMAGE_PASSWORD_FILE ]; then
206
         GNUSOCIAL_ADMIN_PASSWORD="$(printf `cat $IMAGE_PASSWORD_FILE`)"
197
         GNUSOCIAL_ADMIN_PASSWORD="$(printf `cat $IMAGE_PASSWORD_FILE`)"
207
     else
198
     else
489
     if [ -f /etc/cron.hourly/gnusocial-daemons ]; then
480
     if [ -f /etc/cron.hourly/gnusocial-daemons ]; then
490
         rm /etc/cron.hourly/gnusocial-daemons
481
         rm /etc/cron.hourly/gnusocial-daemons
491
     fi
482
     fi
492
-    sed -i '/Gnusocial/d' /home/$MY_USERNAME/README
493
     remove_backup_database_local gnusocial
483
     remove_backup_database_local gnusocial
494
 
484
 
495
     function_check remove_ddns_domain
485
     function_check remove_ddns_domain
742
 
732
 
743
     ${PROJECT_NAME}-addemail -u $MY_USERNAME -e "noreply@$GNUSOCIAL_DOMAIN_NAME" -g gnusocial --public no
733
     ${PROJECT_NAME}-addemail -u $MY_USERNAME -e "noreply@$GNUSOCIAL_DOMAIN_NAME" -g gnusocial --public no
744
 
734
 
745
-    # some post-install instructions for the user
746
-    if ! grep -q $"Gnusocial administrator" /home/$MY_USERNAME/README; then
747
-        echo '' >> /home/$MY_USERNAME/README
748
-        echo '' >> /home/$MY_USERNAME/README
749
-        echo $'# Gnusocial' >> /home/$MY_USERNAME/README
750
-        echo $"Gnusocial administrator nickname: $MY_USERNAME" >> /home/$MY_USERNAME/README
751
-        echo $"Gnusocial administrator password: $GNUSOCIAL_ADMIN_PASSWORD" >> /home/$MY_USERNAME/README
752
-        chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
753
-        chmod 600 /home/$MY_USERNAME/README
754
-    else
755
-        if [ -f /home/$MY_USERNAME/README ]; then
756
-            sed -i "s|Gnusocial administrator password.*|Gnusocial administrator password: $GNUSOCIAL_ADMIN_PASSWORD|g" /home/$MY_USERNAME/README
757
-        fi
758
-    fi
759
-
760
-    if ! grep -q "Gnusocial onion domain" /home/$MY_USERNAME/README; then
761
-        echo $"Gnusocial onion domain: ${GNUSOCIAL_ONION_HOSTNAME}" >> /home/$MY_USERNAME/README
762
-        echo '' >> /home/$MY_USERNAME/README
763
-        chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
764
-        chmod 600 /home/$MY_USERNAME/README
765
-    else
766
-        if [ -f /home/$MY_USERNAME/README ]; then
767
-            sed -i "s|Gnusocial onion domain.*|Gnusocial onion domain: ${GNUSOCIAL_ONION_HOSTNAME}|g" /home/$MY_USERNAME/README
768
-        fi
769
-    fi
735
+    ${PROJECT_NAME}-pass -u $MY_USERNAME -a gnusocial -p "$GNUSOCIAL_ADMIN_PASSWORD"
770
 
736
 
771
     set_completion_param "gnusocial domain" "$GNUSOCIAL_DOMAIN_NAME"
737
     set_completion_param "gnusocial domain" "$GNUSOCIAL_DOMAIN_NAME"
772
 
738
 

+ 2
- 26
src/freedombone-app-gogs 查看文件

115
     GOGS_BIN="https://github.com/gogits/gogs/releases/download/v${GOGS_VERSION}/linux_${CURR_ARCH}.tar.gz"
115
     GOGS_BIN="https://github.com/gogits/gogs/releases/download/v${GOGS_VERSION}/linux_${CURR_ARCH}.tar.gz"
116
 }
116
 }
117
 
117
 
118
-function get_mariadb_git_admin_password {
119
-    if [ -f /home/${MY_USERNAME}/README ]; then
120
-        if grep -q "Gogs admin user password" /home/${MY_USERNAME}/README; then
121
-            GIT_ADMIN_PASSWORD=$(cat /home/${MY_USERNAME}/README | grep "Gogs admin user password" | awk -F ':' '{print $2}' | sed 's/^ *//')
122
-        fi
123
-    fi
124
-}
125
-
126
 function gogs_create_database {
118
 function gogs_create_database {
127
-    function_check get_mariadb_git_admin_password
128
-    get_mariadb_git_admin_password
129
-
130
     if [ -f ${IMAGE_PASSWORD_FILE} ]; then
119
     if [ -f ${IMAGE_PASSWORD_FILE} ]; then
131
         GIT_ADMIN_PASSWORD="$(printf `cat $IMAGE_PASSWORD_FILE`)"
120
         GIT_ADMIN_PASSWORD="$(printf `cat $IMAGE_PASSWORD_FILE`)"
132
     else
121
     else
580
     systemctl restart php5-fpm
569
     systemctl restart php5-fpm
581
     systemctl restart nginx
570
     systemctl restart nginx
582
 
571
 
583
-    if ! grep -q "Gogs onion domain" /home/${MY_USERNAME}/README; then
584
-        echo "Gogs onion domain: ${GIT_ONION_HOSTNAME}" >> /home/${MY_USERNAME}/README
585
-        echo '' >> /home/${MY_USERNAME}/README
586
-        chown ${MY_USERNAME}:${MY_USERNAME} /home/${MY_USERNAME}/README
587
-        chmod 600 /home/${MY_USERNAME}/README
588
-    fi
589
-
590
     set_completion_param "gogs domain" "$GIT_DOMAIN_NAME"
572
     set_completion_param "gogs domain" "$GIT_DOMAIN_NAME"
591
     set_completion_param "gogs onion domain" "$GIT_ONION_HOSTNAME"
573
     set_completion_param "gogs onion domain" "$GIT_ONION_HOSTNAME"
592
 
574
 
594
     add_ddns_domain ${GIT_DOMAIN_NAME}
576
     add_ddns_domain ${GIT_DOMAIN_NAME}
595
 
577
 
596
     # obtain the secret key
578
     # obtain the secret key
597
-    GOGS_SECRET_KEY=
598
-    if grep -q "Gogs secret key:" /home/${MY_USERNAME}/README; then
599
-        GOGS_SECRET_KEY=$(cat /home/${MY_USERNAME}/README | grep "Gogs secret key:" | awk -F ':' '{print $2}' | sed 's/^ *//')
600
-    else
601
-        GOGS_SECRET_KEY="$(create_password ${MINIMUM_PASSWORD_LENGTH})"
602
-        echo "Gogs secret key:${GOGS_SECRET_KEY}" >> /home/${MY_USERNAME}/README
603
-        chown $MY_USERNAME:$MY_USERNAME /home/${MY_USERNAME}/README
604
-    fi
579
+    GOGS_SECRET_KEY="$(create_password ${MINIMUM_PASSWORD_LENGTH})"
580
+    ${PROJECT_NAME}-pass -u $MY_USERNAME -a gogs -p "*"
605
 
581
 
606
     # create the configuration
582
     # create the configuration
607
     GOGS_CONFIG_PATH=/home/${GOGS_USERNAME}/custom/conf
583
     GOGS_CONFIG_PATH=/home/${GOGS_USERNAME}/custom/conf

+ 7
- 26
src/freedombone-app-htmly 查看文件

94
 function remove_user_htmly {
94
 function remove_user_htmly {
95
     remove_username="$1"
95
     remove_username="$1"
96
 
96
 
97
+    ${PROJECT_NAME}-pass -u $remove_username --rmapp htmly
98
+
97
     if [ -f /var/www/${HTMLY_DOMAIN_NAME}/htdocs/config/users/${remove_username}.ini ]; then
99
     if [ -f /var/www/${HTMLY_DOMAIN_NAME}/htdocs/config/users/${remove_username}.ini ]; then
98
         rm /var/www/${HTMLY_DOMAIN_NAME}/htdocs/config/users/${remove_username}.ini
100
         rm /var/www/${HTMLY_DOMAIN_NAME}/htdocs/config/users/${remove_username}.ini
99
     fi
101
     fi
108
     new_username="$1"
110
     new_username="$1"
109
     new_user_password="$2"
111
     new_user_password="$2"
110
 
112
 
113
+    ${PROJECT_NAME}-pass -u $new_username -a htmly -p "$new_user_password"
114
+
111
     if [ ! -d /var/www/$HTMLY_DOMAIN_NAME/htdocs/config/users ]; then
115
     if [ ! -d /var/www/$HTMLY_DOMAIN_NAME/htdocs/config/users ]; then
112
         echo '2'
116
         echo '2'
113
         return
117
         return
175
         echo $'Htmly password is too short'
179
         echo $'Htmly password is too short'
176
         return
180
         return
177
     fi
181
     fi
182
+    ${PROJECT_NAME}-pass -u $HTMLY_USERNAME -a htmly -p "$HTMLY_PASSWORD"
178
     HTMLY_PASSWORD_HASH=$(${PROJECT_NAME}-sec --htmlyhash "$HTMLY_PASSWORD")
183
     HTMLY_PASSWORD_HASH=$(${PROJECT_NAME}-sec --htmlyhash "$HTMLY_PASSWORD")
179
     if [ ${#HTMLY_PASSWORD_HASH} -lt 8 ]; then
184
     if [ ${#HTMLY_PASSWORD_HASH} -lt 8 ]; then
180
         echo $'Htmly admin password could not be hashed'
185
         echo $'Htmly admin password could not be hashed'
352
     remove_completion_param "install_htmly"
357
     remove_completion_param "install_htmly"
353
     sed -i '/Htmly/d' $COMPLETION_FILE
358
     sed -i '/Htmly/d' $COMPLETION_FILE
354
     sed -i '/htmly/d' $COMPLETION_FILE
359
     sed -i '/htmly/d' $COMPLETION_FILE
355
-    sed -i '/htmly/d' /home/$MY_USERNAME/README
356
-    sed -i '/Htmly/d' /home/$MY_USERNAME/README
357
 
360
 
358
     function_check remove_ddns_domain
361
     function_check remove_ddns_domain
359
     remove_ddns_domain $HTMLY_DOMAIN_NAME
362
     remove_ddns_domain $HTMLY_DOMAIN_NAME
360
 }
363
 }
361
 
364
 
362
-function get_htmly_admin_password {
363
-    if [ -f /home/$MY_USERNAME/README ]; then
364
-        if grep -q "Your htmly password is" /home/$MY_USERNAME/README; then
365
-            HTMLY_ADMIN_PASSWORD=$(cat /home/$MY_USERNAME/README | grep "Your htmly password is" | awk -F ':' '{print $2}' | sed 's/^ *//')
366
-        fi
367
-    fi
368
-}
369
-
370
 function install_htmly_social_networks {
365
 function install_htmly_social_networks {
371
     # set social networks
366
     # set social networks
372
     if grep -q "social.hubzilla" /var/www/$HTMLY_DOMAIN_NAME/htdocs/config/config.ini; then
367
     if grep -q "social.hubzilla" /var/www/$HTMLY_DOMAIN_NAME/htdocs/config/config.ini; then
386
 
381
 
387
 function install_htmly_user {
382
 function install_htmly_user {
388
     # create a user password
383
     # create a user password
389
-    function_check get_htmly_admin_password
390
-    get_htmly_admin_password
391
     if [ -f $IMAGE_PASSWORD_FILE ]; then
384
     if [ -f $IMAGE_PASSWORD_FILE ]; then
392
         HTMLY_ADMIN_PASSWORD="$(printf `cat $IMAGE_PASSWORD_FILE`)"
385
         HTMLY_ADMIN_PASSWORD="$(printf `cat $IMAGE_PASSWORD_FILE`)"
393
-    fi
394
-    if [ ! $HTMLY_ADMIN_PASSWORD ]; then
386
+    else
395
         HTMLY_ADMIN_PASSWORD="$(create_password ${MINIMUM_PASSWORD_LENGTH})"
387
         HTMLY_ADMIN_PASSWORD="$(create_password ${MINIMUM_PASSWORD_LENGTH})"
396
-        echo $'# htmly' >> /home/$MY_USERNAME/README
397
-        echo $"Your htmly username: $MY_USERNAME" >> /home/$MY_USERNAME/README
398
-        echo $"Your htmly password is: $HTMLY_ADMIN_PASSWORD" >> /home/$MY_USERNAME/README
399
-        chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
400
-        chmod 600 /home/$MY_USERNAME/README
401
     fi
388
     fi
402
 
389
 
403
     # create a user
390
     # create a user
644
     systemctl restart php5-fpm
631
     systemctl restart php5-fpm
645
     systemctl restart nginx
632
     systemctl restart nginx
646
 
633
 
647
-    if ! grep -q "Htmly onion domain" /home/$MY_USERNAME/README; then
648
-        echo $"Htmly onion domain: ${HTMLY_ONION_HOSTNAME}" >> /home/$MY_USERNAME/README
649
-        echo $"Log into your htmly at https://${HTMLY_ONION_HOSTNAME}/login" >> /home/$MY_USERNAME/README
650
-        echo '' >> /home/$MY_USERNAME/README
651
-        chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
652
-        chmod 600 /home/$MY_USERNAME/README
653
-    fi
634
+    ${PROJECT_NAME}-pass -u $MY_USERNAME -a htmly -p "$HTMLY_ADMIN_PASSWORD"
654
 
635
 
655
     function_check add_ddns_domain
636
     function_check add_ddns_domain
656
     add_ddns_domain $HTMLY_DOMAIN_NAME
637
     add_ddns_domain $HTMLY_DOMAIN_NAME

+ 4
- 27
src/freedombone-app-hubzilla 查看文件

55
 
55
 
56
 function remove_user_hubzilla {
56
 function remove_user_hubzilla {
57
     remove_username="$1"
57
     remove_username="$1"
58
+    ${PROJECT_NAME}-pass -u $remove_username --rmapp hubzilla
58
 }
59
 }
59
 
60
 
60
 function add_user_hubzilla {
61
 function add_user_hubzilla {
65
 
66
 
66
     new_username="$1"
67
     new_username="$1"
67
     new_user_password="$2"
68
     new_user_password="$2"
68
-
69
+    ${PROJECT_NAME}-pass -u $new_username -a hubzilla -p "$new_user_password"
69
     echo '0'
70
     echo '0'
70
 }
71
 }
71
 
72
 
166
 }
167
 }
167
 
168
 
168
 function change_password_hubzilla {
169
 function change_password_hubzilla {
169
-    echo -n ''
170
-}
171
-
172
-function get_mariadb_hubzilla_admin_password {
173
-    if [ -f /home/$MY_USERNAME/README ]; then
174
-        if grep -q "MariaDB Hubzilla admin password" /home/$MY_USERNAME/README; then
175
-            HUBZILLA_ADMIN_PASSWORD=$(cat /home/$MY_USERNAME/README | grep "MariaDB Hubzilla admin password" | awk -F ':' '{print $2}' | sed 's/^ *//')
176
-        fi
177
-    fi
170
+    ${PROJECT_NAME}-pass -u $1 -a hubzilla -p "$2"
178
 }
171
 }
179
 
172
 
180
 function hubzilla_create_database {
173
 function hubzilla_create_database {
181
-    function_check get_mariadb_hubzilla_admin_password
182
-    get_mariadb_hubzilla_admin_password
183
     if [ -f $IMAGE_PASSWORD_FILE ]; then
174
     if [ -f $IMAGE_PASSWORD_FILE ]; then
184
         HUBZILLA_ADMIN_PASSWORD="$(printf `cat $IMAGE_PASSWORD_FILE`)"
175
         HUBZILLA_ADMIN_PASSWORD="$(printf `cat $IMAGE_PASSWORD_FILE`)"
185
     fi
176
     fi
186
     if [ ! $HUBZILLA_ADMIN_PASSWORD ]; then
177
     if [ ! $HUBZILLA_ADMIN_PASSWORD ]; then
187
         HUBZILLA_ADMIN_PASSWORD="$(create_password ${MINIMUM_PASSWORD_LENGTH})"
178
         HUBZILLA_ADMIN_PASSWORD="$(create_password ${MINIMUM_PASSWORD_LENGTH})"
188
-        if ! grep "# Hubzilla" /home/$MY_USERNAME/README; then
189
-            echo '' >> /home/$MY_USERNAME/README
190
-            echo '' >> /home/$MY_USERNAME/README
191
-            echo '# Hubzilla' >> /home/$MY_USERNAME/README
192
-            if [[ $ONION_ONLY == 'no' ]]; then
193
-                echo $"Open https://$HUBZILLA_DOMAIN_NAME and register a new user" >> /home/$MY_USERNAME/README
194
-            else
195
-                echo $"Open http://$HUBZILLA_ONION_HOSTNAME and register a new user" >> /home/$MY_USERNAME/README
196
-            fi
197
-            echo $"Your MariaDB Hubzilla admin password is: $HUBZILLA_ADMIN_PASSWORD" >> /home/$MY_USERNAME/README
198
-        fi
199
-        chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
200
-        chmod 600 /home/$MY_USERNAME/README
201
     fi
179
     fi
180
+    ${PROJECT_NAME}-pass -u $MY_USERNAME -a hubzilla -p "$HUBZILLA_ADMIN_PASSWORD"
202
     if [ ! $HUBZILLA_ADMIN_PASSWORD ]; then
181
     if [ ! $HUBZILLA_ADMIN_PASSWORD ]; then
203
         return
182
         return
204
     fi
183
     fi
308
     function_check remove_onion_service
287
     function_check remove_onion_service
309
     remove_onion_service hubzilla ${HUBZILLA_ONION_PORT}
288
     remove_onion_service hubzilla ${HUBZILLA_ONION_PORT}
310
     sed -i '/hubzilla/d' $COMPLETION_FILE
289
     sed -i '/hubzilla/d' $COMPLETION_FILE
311
-    sed -i '/hubzilla/d' /home/$MY_USERNAME/README
312
-    sed -i '/Hubzilla/d' /home/$MY_USERNAME/README
313
     sed -i '/poller.php/d' /etc/crontab
290
     sed -i '/poller.php/d' /etc/crontab
314
 
291
 
315
     function_check remove_ddns_domain
292
     function_check remove_ddns_domain

+ 9
- 10
src/freedombone-app-irc 查看文件

161
 function remove_user_irc {
161
 function remove_user_irc {
162
     remove_username="$1"
162
     remove_username="$1"
163
 
163
 
164
+    ${PROJECT_NAME}-pass -u $remove_username --rmapp irc
165
+
164
     remove_user_irc_bouncer ${remove_username}
166
     remove_user_irc_bouncer ${remove_username}
165
     if [ -d /home/${remove_username}/.irssi ]; then
167
     if [ -d /home/${remove_username}/.irssi ]; then
166
         rm -rf /home/${remove_username}/.irssi
168
         rm -rf /home/${remove_username}/.irssi
178
         is_admin='false'
180
         is_admin='false'
179
     fi
181
     fi
180
 
182
 
183
+    ${PROJECT_NAME}-pass -u $new_username -a irc -p "$new_user_password"
184
+
181
     if [[ $(is_valid_user "$new_username") == "0" ]]; then
185
     if [[ $(is_valid_user "$new_username") == "0" ]]; then
182
         return
186
         return
183
     fi
187
     fi
344
             # change the server password
348
             # change the server password
345
             sed -i "s|Server     = 127.0.0.1.*|Server     = 127.0.0.1 ${IRC_PORT} ${NEW_IRC_PASSWORD}|g" /home/znc/.znc/configs/znc.conf
349
             sed -i "s|Server     = 127.0.0.1.*|Server     = 127.0.0.1 ${IRC_PORT} ${NEW_IRC_PASSWORD}|g" /home/znc/.znc/configs/znc.conf
346
 
350
 
347
-            # Update the password in the readme
348
-            sed -i "s|IRC login password.*|IRC login password: $NEW_IRC_PASSWORD|g" /home/$MY_USERNAME/README
351
+            # Update the password
352
+            ${PROJECT_NAME}-pass -u $MY_USERNAME -a irc -p "$NEW_IRC_PASSWORD"
353
+
349
 
354
 
350
             if [ -f $INSTALL_DIR/matrix_irc_bridge/config.yaml ]; then
355
             if [ -f $INSTALL_DIR/matrix_irc_bridge/config.yaml ]; then
351
                 sed -i "s|password: .*|password: \"$NEW_IRC_PASSWORD\"|g" $INSTALL_DIR/matrix_irc_bridge/config.yaml
356
                 sed -i "s|password: .*|password: \"$NEW_IRC_PASSWORD\"|g" $INSTALL_DIR/matrix_irc_bridge/config.yaml
400
 }
405
 }
401
 
406
 
402
 function change_password_irc {
407
 function change_password_irc {
403
-    echo -n ''
408
+    ${PROJECT_NAME}-pass -u $1 -a irc -p "$2"
404
 }
409
 }
405
 
410
 
406
 function reconfigure_irc {
411
 function reconfigure_irc {
451
     if [ -d /home/znc ]; then
456
     if [ -d /home/znc ]; then
452
         userdel -r znc
457
         userdel -r znc
453
     fi
458
     fi
454
-    sed -i '/IRC login/d' /home/$MY_USERNAME/README
455
 }
459
 }
456
 
460
 
457
 function configure_firewall_for_irc {
461
 function configure_firewall_for_irc {
506
         IRC_PASSWORD="$(create_password ${MINIMUM_PASSWORD_LENGTH})"
510
         IRC_PASSWORD="$(create_password ${MINIMUM_PASSWORD_LENGTH})"
507
     fi
511
     fi
508
 
512
 
509
-    if ! grep -q "IRC login password: $IRC_PASSWORD" /home/$MY_USERNAME/README; then
510
-        echo '' >> /home/$MY_USERNAME/README
511
-        echo "IRC login password: $IRC_PASSWORD" >> /home/$MY_USERNAME/README
512
-    else
513
-        sed -i "s|IRC login password.*|IRC login password: $IRC_PASSWORD|g" /home/$MY_USERNAME/README
514
-    fi
513
+    ${PROJECT_NAME}-pass -u $MY_USERNAME -a irc -p "$IRC_PASSWORD"
515
 
514
 
516
     echo '**************************************************' > /etc/ngircd/motd
515
     echo '**************************************************' > /etc/ngircd/motd
517
     echo $'*           F R E E D O M B O N E   I R C        *' >> /etc/ngircd/motd
516
     echo $'*           F R E E D O M B O N E   I R C        *' >> /etc/ngircd/motd

+ 1
- 18
src/freedombone-app-jitsi 查看文件

86
     fi
86
     fi
87
 }
87
 }
88
 
88
 
89
-function create_jitsi_subdomains {
90
-    JITSI_ONION_HOSTNAME=$(add_onion_service jitsi 80 ${JITSI_ONION_PORT})
91
-
92
-    if ! grep -q "Jitsi onion domain" /home/${MY_USERNAME}/README; then
93
-        echo $"Jitsi onion domain: ${JITSI_ONION_HOSTNAME}" >> /home/${MY_USERNAME}/README
94
-        echo '' >> /home/${MY_USERNAME}/README
95
-        chown ${MY_USERNAME}:${MY_USERNAME} /home/${MY_USERNAME}/README
96
-        chmod 600 /home/${MY_USERNAME}/README
97
-    else
98
-        if [ -f /home/${MY_USERNAME}/README ]; then
99
-            sed -i "s|Jitsi onion domain.*|Jitsi onion domain: ${JITSI_ONION_HOSTNAME}|g" /home/${MY_USERNAME}/README
100
-        fi
101
-    fi
102
-}
103
-
104
 function remove_jitsi_subdomains {
89
 function remove_jitsi_subdomains {
105
     function_check remove_onion_service
90
     function_check remove_onion_service
106
     remove_onion_service jitsi ${JITSI_ONION_PORT}
91
     remove_onion_service jitsi ${JITSI_ONION_PORT}
213
     remove_app jitsi
198
     remove_app jitsi
214
     remove_completion_param install_jitsi
199
     remove_completion_param install_jitsi
215
     sed -i '/jitsi/d' ${COMPLETION_FILE}
200
     sed -i '/jitsi/d' ${COMPLETION_FILE}
216
-    sed -i '/Jitsi/d' /home/${MY_USERNAME}/README
217
 
201
 
218
     function_check remove_ddns_domain
202
     function_check remove_ddns_domain
219
     remove_ddns_domain $JITSI_DOMAIN_NAME
203
     remove_ddns_domain $JITSI_DOMAIN_NAME
255
     wget -qO - https://download.jitsi.org/nightly/deb/${jitsi_deb_repo}/archive.key | apt-key add -
239
     wget -qO - https://download.jitsi.org/nightly/deb/${jitsi_deb_repo}/archive.key | apt-key add -
256
     apt-get update
240
     apt-get update
257
 
241
 
258
-    # create onion domains
259
-    create_jitsi_subdomains
242
+    JITSI_ONION_HOSTNAME=$(add_onion_service jitsi 80 ${JITSI_ONION_PORT})
260
 
243
 
261
     # videobridge
244
     # videobridge
262
     if [[ $ONION_ONLY == 'no' ]]; then
245
     if [[ $ONION_ONLY == 'no' ]]; then

+ 9
- 32
src/freedombone-app-lychee 查看文件

48
                   MY_USERNAME)
48
                   MY_USERNAME)
49
 
49
 
50
 
50
 
51
-function get_mariadb_git_admin_password {
52
-    if [ -f /home/${MY_USERNAME}/README ]; then
53
-        if grep -q "Lychee admin user password" /home/${MY_USERNAME}/README; then
54
-            GIT_ADMIN_PASSWORD=$(cat /home/${MY_USERNAME}/README | grep "Lychee admin user password" | awk -F ':' '{print $2}' | sed 's/^ *//')
55
-        fi
56
-    fi
57
-}
58
-
59
 function lychee_create_database {
51
 function lychee_create_database {
60
-    function_check get_mariadb_git_admin_password
61
-    get_mariadb_git_admin_password
62
-
63
     if [ -f ${IMAGE_PASSWORD_FILE} ]; then
52
     if [ -f ${IMAGE_PASSWORD_FILE} ]; then
64
-        GIT_ADMIN_PASSWORD="$(printf `cat $IMAGE_PASSWORD_FILE`)"
53
+        LYCHEE_ADMIN_PASSWORD="$(printf `cat $IMAGE_PASSWORD_FILE`)"
65
     else
54
     else
66
-        if [ ! ${GIT_ADMIN_PASSWORD} ]; then
67
-            GIT_ADMIN_PASSWORD="$(create_password ${MINIMUM_PASSWORD_LENGTH})"
55
+        if [ ! ${LYCHEE_ADMIN_PASSWORD} ]; then
56
+            LYCHEE_ADMIN_PASSWORD="$(create_password ${MINIMUM_PASSWORD_LENGTH})"
68
         fi
57
         fi
69
     fi
58
     fi
70
-    if [ ! $GIT_ADMIN_PASSWORD ]; then
59
+    if [ ! $LYCHEE_ADMIN_PASSWORD ]; then
71
         return
60
         return
72
     fi
61
     fi
73
 
62
 
78
 function remove_user_lychee {
67
 function remove_user_lychee {
79
     remove_username="$1"
68
     remove_username="$1"
80
 
69
 
70
+    ${PROJECT_NAME}-pass -u $remove_username --rmapp lychee
81
 }
71
 }
82
 
72
 
83
 function add_user_lychee {
73
 function add_user_lychee {
89
     new_username="$1"
79
     new_username="$1"
90
     new_user_password="$2"
80
     new_user_password="$2"
91
 
81
 
82
+    ${PROJECT_NAME}-pass -u $new_username -a lychee -p "$new_user_password"
83
+
92
     echo '0'
84
     echo '0'
93
 }
85
 }
94
 
86
 
117
         echo $'Lychee password is too short'
109
         echo $'Lychee password is too short'
118
         return
110
         return
119
     fi
111
     fi
112
+    ${PROJECT_NAME}-pass -u $LYCHEE_USERNAME -a lychee -p "$LYCHEE_PASSWORD"
120
 }
113
 }
121
 
114
 
122
 function reconfigure_lychee {
115
 function reconfigure_lychee {
219
     remove_completion_param "install_lychee"
212
     remove_completion_param "install_lychee"
220
     sed -i '/Lychee/d' $COMPLETION_FILE
213
     sed -i '/Lychee/d' $COMPLETION_FILE
221
     sed -i '/lychee/d' $COMPLETION_FILE
214
     sed -i '/lychee/d' $COMPLETION_FILE
222
-    sed -i '/lychee/d' /home/$MY_USERNAME/README
223
-    sed -i '/Lychee/d' /home/$MY_USERNAME/README
224
 
215
 
225
     function_check remove_ddns_domain
216
     function_check remove_ddns_domain
226
     remove_ddns_domain $LYCHEE_DOMAIN_NAME
217
     remove_ddns_domain $LYCHEE_DOMAIN_NAME
227
 }
218
 }
228
 
219
 
229
-function get_lychee_admin_password {
230
-    if [ -f /home/$MY_USERNAME/README ]; then
231
-        if grep -q "Your lychee password is" /home/$MY_USERNAME/README; then
232
-            LYCHEE_ADMIN_PASSWORD=$(cat /home/$MY_USERNAME/README | grep "Your lychee password is" | awk -F ':' '{print $2}' | sed 's/^ *//')
233
-        fi
234
-    fi
235
-}
236
-
237
 function install_lychee_website {
220
 function install_lychee_website {
238
     function_check nginx_http_redirect
221
     function_check nginx_http_redirect
239
     nginx_http_redirect $LYCHEE_DOMAIN_NAME
222
     nginx_http_redirect $LYCHEE_DOMAIN_NAME
434
     systemctl restart php5-fpm
417
     systemctl restart php5-fpm
435
     systemctl restart nginx
418
     systemctl restart nginx
436
 
419
 
437
-    if ! grep -q "Lychee onion domain" /home/$MY_USERNAME/README; then
438
-        echo $"Lychee onion domain: ${LYCHEE_ONION_HOSTNAME}" >> /home/$MY_USERNAME/README
439
-        echo $"Log into your lychee at https://${LYCHEE_ONION_HOSTNAME}/login" >> /home/$MY_USERNAME/README
440
-        echo '' >> /home/$MY_USERNAME/README
441
-        chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
442
-        chmod 600 /home/$MY_USERNAME/README
443
-    fi
420
+    ${PROJECT_NAME}-pass -u $MY_USERNAME -a lychee -p "$LYCHEE_ADMIN_PASSWORD"
444
 
421
 
445
     function_check add_ddns_domain
422
     function_check add_ddns_domain
446
     add_ddns_domain $LYCHEE_DOMAIN_NAME
423
     add_ddns_domain $LYCHEE_DOMAIN_NAME

+ 4
- 14
src/freedombone-app-mailpile 查看文件

50
 
50
 
51
 function remove_user_mailpile {
51
 function remove_user_mailpile {
52
     remove_username="$1"
52
     remove_username="$1"
53
+    ${PROJECT_NAME}-pass -u $remove_username --rmapp mailpile
53
 }
54
 }
54
 
55
 
55
 function add_user_mailpile {
56
 function add_user_mailpile {
56
-    echo '0'
57
+    ${PROJECT_NAME}-pass -u $1 -a mailpile -p "$2"
57
 }
58
 }
58
 
59
 
59
 function install_interactive_mailpile {
60
 function install_interactive_mailpile {
72
 }
73
 }
73
 
74
 
74
 function change_password_mailpile {
75
 function change_password_mailpile {
75
-    echo -n ''
76
+    ${PROJECT_NAME}-pass -u $1 -a mailpile -p "$2"
76
 }
77
 }
77
 
78
 
78
 function reconfigure_mailpile {
79
 function reconfigure_mailpile {
233
 
234
 
234
     sed -i '/Mailpile/d' $COMPLETION_FILE
235
     sed -i '/Mailpile/d' $COMPLETION_FILE
235
     sed -i '/mailpile/d' $COMPLETION_FILE
236
     sed -i '/mailpile/d' $COMPLETION_FILE
236
-    sed -i '/mailpile/d' /home/$MY_USERNAME/README
237
-    sed -i '/Mailpile/d' /home/$MY_USERNAME/README
238
 }
237
 }
239
 
238
 
240
 function install_mailpile {
239
 function install_mailpile {
386
     function_check nginx_ensite
385
     function_check nginx_ensite
387
     nginx_ensite $MAILPILE_DOMAIN_NAME
386
     nginx_ensite $MAILPILE_DOMAIN_NAME
388
 
387
 
389
-    if ! grep -q "Mailpile onion domain" /home/$MY_USERNAME/README; then
390
-        echo $"Mailpile onion domain: ${MAILPILE_ONION_HOSTNAME}" >> /home/$MY_USERNAME/README
391
-        echo '' >> /home/$MY_USERNAME/README
392
-        chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
393
-        chmod 600 /home/$MY_USERNAME/README
394
-    else
395
-        if [ -f /home/$MY_USERNAME/README ]; then
396
-            sed -i "s|Mailpile onion domain.*|Mailpile onion domain: ${MAILPILE_ONION_HOSTNAME}|g" /home/$MY_USERNAME/README
397
-        fi
398
-    fi
388
+    ${PROJECT_NAME}-pass -u $MY_USERNAME -a mailpile -p "*"
399
 
389
 
400
     function_check add_ddns_domain
390
     function_check add_ddns_domain
401
     add_ddns_domain $MAILPILE_DOMAIN_NAME
391
     add_ddns_domain $MAILPILE_DOMAIN_NAME

+ 6
- 28
src/freedombone-app-mumble 查看文件

54
 }
54
 }
55
 
55
 
56
 function change_password_mumble {
56
 function change_password_mumble {
57
-    echo -n ''
57
+    ${PROJECT_NAME}-pass -u $1 -a mumble -p "$2"
58
 }
58
 }
59
 
59
 
60
 function reconfigure_mumble {
60
 function reconfigure_mumble {
170
     function_check remove_onion_service
170
     function_check remove_onion_service
171
     remove_onion_service mumble ${MUMBLE_PORT}
171
     remove_onion_service mumble ${MUMBLE_PORT}
172
     sed -i '/mumble/d' $COMPLETION_FILE
172
     sed -i '/mumble/d' $COMPLETION_FILE
173
-    sed -i '/Mumble/d' /home/$MY_USERNAME/README
174
-}
175
-
176
-function get_mumble_server_password {
177
-    if [ -f /home/$MY_USERNAME/README ]; then
178
-        if grep -q "Mumble server password" /home/$MY_USERNAME/README; then
179
-            if [ ! $MUMBLE_SERVER_PASSWORD ]; then
180
-                MUMBLE_SERVER_PASSWORD=$(cat /home/$MY_USERNAME/README | grep "Mumble server password" | awk -F ':' '{print $2}' | sed 's/^ *//')
181
-            fi
182
-        fi
183
-    fi
184
 }
173
 }
185
 
174
 
186
 function configure_firewall_for_mumble {
175
 function configure_firewall_for_mumble {
197
 function install_mumble {
186
 function install_mumble {
198
     apt-get -yq install mumble-server
187
     apt-get -yq install mumble-server
199
 
188
 
200
-    function_check get_mumble_server_password
201
-    get_mumble_server_password
202
-    if [ ! $MUMBLE_SERVER_PASSWORD ]; then
203
-        if [ -f $IMAGE_PASSWORD_FILE ]; then
204
-            MUMBLE_SERVER_PASSWORD="$(printf `cat $IMAGE_PASSWORD_FILE`)"
205
-        else
189
+    if [ -f $IMAGE_PASSWORD_FILE ]; then
190
+        MUMBLE_SERVER_PASSWORD="$(printf `cat $IMAGE_PASSWORD_FILE`)"
191
+    else
192
+        if [ ! $MUMBLE_SERVER_PASSWORD ]; then
206
             MUMBLE_SERVER_PASSWORD="$(create_password ${MINIMUM_PASSWORD_LENGTH})"
193
             MUMBLE_SERVER_PASSWORD="$(create_password ${MINIMUM_PASSWORD_LENGTH})"
207
             if [ ${#MUMBLE_SERVER_PASSWORD} -lt $MINIMUM_PASSWORD_LENGTH ]; then
194
             if [ ${#MUMBLE_SERVER_PASSWORD} -lt $MINIMUM_PASSWORD_LENGTH ]; then
208
                 MUMBLE_SERVER_PASSWORD="$(create_password ${MINIMUM_PASSWORD_LENGTH})"
195
                 MUMBLE_SERVER_PASSWORD="$(create_password ${MINIMUM_PASSWORD_LENGTH})"
271
     update_default_domain
258
     update_default_domain
272
     systemctl restart mumble-server
259
     systemctl restart mumble-server
273
 
260
 
274
-    if ! grep -q $"Mumble Server" /home/$MY_USERNAME/README; then
275
-        echo '' >> /home/$MY_USERNAME/README
276
-        echo '' >> /home/$MY_USERNAME/README
277
-        echo $'# Mumble Server' >> /home/$MY_USERNAME/README
278
-        echo $"Mumble onion domain:$MUMBLE_ONION_HOSTNAME" >> /home/$MY_USERNAME/README
279
-        echo $'Mumble server username: mumble-server' >> /home/$MY_USERNAME/README
280
-        echo $"Mumble server password: $MUMBLE_SERVER_PASSWORD" >> /home/$MY_USERNAME/README
281
-        chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
282
-        chmod 600 /home/$MY_USERNAME/README
283
-    fi
261
+    ${PROJECT_NAME}-pass -u $MY_USERNAME -a mumble -p "$MUMBLE_SERVER_PASSWORD"
284
 
262
 
285
     function_check configure_firewall_for_mumble
263
     function_check configure_firewall_for_mumble
286
     configure_firewall_for_mumble
264
     configure_firewall_for_mumble

+ 5
- 39
src/freedombone-app-postactiv 查看文件

53
 function remove_user_postactiv {
53
 function remove_user_postactiv {
54
     remove_username="$1"
54
     remove_username="$1"
55
 
55
 
56
+    ${PROJECT_NAME}-pass -u $remove_username --rmapp postactiv
57
+
56
     function_check get_completion_param
58
     function_check get_completion_param
57
     POSTACTIV_DOMAIN_NAME=$(get_completion_param "postactiv domain")
59
     POSTACTIV_DOMAIN_NAME=$(get_completion_param "postactiv domain")
58
     if [ -d /var/www/$POSTACTIV_DOMAIN_NAME ]; then
60
     if [ -d /var/www/$POSTACTIV_DOMAIN_NAME ]; then
65
     new_username="$1"
67
     new_username="$1"
66
     new_user_password="$2"
68
     new_user_password="$2"
67
 
69
 
70
+    ${PROJECT_NAME}-pass -u $new_username -a postactiv -p "$new_user_password"
71
+
68
     POSTACTIV_DOMAIN_NAME=$(get_completion_param "postactiv domain")
72
     POSTACTIV_DOMAIN_NAME=$(get_completion_param "postactiv domain")
69
     if [ -d /var/www/${POSTACTIV_DOMAIN_NAME}/htdocs ]; then
73
     if [ -d /var/www/${POSTACTIV_DOMAIN_NAME}/htdocs ]; then
70
         cd /var/www/$POSTACTIV_DOMAIN_NAME/htdocs
74
         cd /var/www/$POSTACTIV_DOMAIN_NAME/htdocs
145
     echo -n ''
149
     echo -n ''
146
 }
150
 }
147
 
151
 
148
-function get_mariadb_postactiv_admin_password {
149
-    if [ -f /home/$MY_USERNAME/README ]; then
150
-        if grep -q "MariaDB postactiv admin password" /home/$MY_USERNAME/README; then
151
-            POSTACTIV_ADMIN_PASSWORD=$(cat /home/$MY_USERNAME/README | grep "MariaDB postactiv admin password" | awk -F ':' '{print $2}' | sed 's/^ *//')
152
-        fi
153
-        if grep -q "postactiv administrator password" /home/$MY_USERNAME/README; then
154
-            POSTACTIV_ADMIN_PASSWORD=$(cat /home/$MY_USERNAME/README | grep "postactiv administrator password" | awk -F ':' '{print $2}' | sed 's/^ *//')
155
-        fi
156
-    fi
157
-}
158
-
159
 function postactiv_create_database {
152
 function postactiv_create_database {
160
-    function_check get_mariadb_postactiv_admin_password
161
-    get_mariadb_postactiv_admin_password
162
     if [ -f $IMAGE_PASSWORD_FILE ]; then
153
     if [ -f $IMAGE_PASSWORD_FILE ]; then
163
         POSTACTIV_ADMIN_PASSWORD="$(printf `cat $IMAGE_PASSWORD_FILE`)"
154
         POSTACTIV_ADMIN_PASSWORD="$(printf `cat $IMAGE_PASSWORD_FILE`)"
164
     else
155
     else
333
     if [ -f /etc/cron.hourly/postactiv-daemons ]; then
324
     if [ -f /etc/cron.hourly/postactiv-daemons ]; then
334
         rm /etc/cron.hourly/postactiv-daemons
325
         rm /etc/cron.hourly/postactiv-daemons
335
     fi
326
     fi
336
-    sed -i '/Postactiv/d' /home/$MY_USERNAME/README
337
     remove_backup_database_local postactiv
327
     remove_backup_database_local postactiv
338
 
328
 
339
     function_check remove_ddns_domain
329
     function_check remove_ddns_domain
588
 
578
 
589
     ${PROJECT_NAME}-addemail -u $MY_USERNAME -e "noreply@$POSTACTIV_DOMAIN_NAME" -g postactiv --public no
579
     ${PROJECT_NAME}-addemail -u $MY_USERNAME -e "noreply@$POSTACTIV_DOMAIN_NAME" -g postactiv --public no
590
 
580
 
591
-    # some post-install instructions for the user
592
-    if ! grep -q $"Postactiv administrator" /home/$MY_USERNAME/README; then
593
-        echo '' >> /home/$MY_USERNAME/README
594
-        echo '' >> /home/$MY_USERNAME/README
595
-        echo $'# Postactiv' >> /home/$MY_USERNAME/README
596
-        echo $"Postactiv administrator nickname: $MY_USERNAME" >> /home/$MY_USERNAME/README
597
-        echo $"Postactiv administrator password: $POSTACTIV_ADMIN_PASSWORD" >> /home/$MY_USERNAME/README
598
-        chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
599
-        chmod 600 /home/$MY_USERNAME/README
600
-    else
601
-        if [ -f /home/$MY_USERNAME/README ]; then
602
-            sed -i "s|Postactiv administrator password.*|Postactiv administrator password: $POSTACTIV_ADMIN_PASSWORD|g" /home/$MY_USERNAME/README
603
-        fi
604
-    fi
605
-
606
-    if ! grep -q "Postactiv onion domain" /home/$MY_USERNAME/README; then
607
-        echo $"Postactiv onion domain: ${POSTACTIV_ONION_HOSTNAME}" >> /home/$MY_USERNAME/README
608
-        echo '' >> /home/$MY_USERNAME/README
609
-        chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
610
-        chmod 600 /home/$MY_USERNAME/README
611
-    else
612
-        if [ -f /home/$MY_USERNAME/README ]; then
613
-            sed -i "s|Postactiv onion domain.*|Postactiv onion domain: ${POSTACTIV_ONION_HOSTNAME}|g" /home/$MY_USERNAME/README
614
-        fi
615
-    fi
581
+    ${PROJECT_NAME}-pass -u $MY_USERNAME -a postactiv -p "$POSTACTIV_ADMIN_PASSWORD"
616
 
582
 
617
     set_completion_param "postactiv domain" "$POSTACTIV_DOMAIN_NAME"
583
     set_completion_param "postactiv domain" "$POSTACTIV_DOMAIN_NAME"
618
 
584
 

+ 10
- 11
src/freedombone-app-radicale 查看文件

52
 
52
 
53
 function remove_user_radicale {
53
 function remove_user_radicale {
54
     remove_username="$1"
54
     remove_username="$1"
55
+
56
+    ${PROJECT_NAME}-pass -u $remove_username --rmapp radicale
57
+
55
     if grep "${remove_username}:" ${RADICALE_USERS}; then
58
     if grep "${remove_username}:" ${RADICALE_USERS}; then
56
         sed -i "/${remove_username}:/d" ${RADICALE_USERS}
59
         sed -i "/${remove_username}:/d" ${RADICALE_USERS}
57
         if [ -d /var/www/radicale/collections/${remove_username} ]; then
60
         if [ -d /var/www/radicale/collections/${remove_username} ]; then
68
     new_username="$1"
71
     new_username="$1"
69
     new_user_password="$2"
72
     new_user_password="$2"
70
 
73
 
74
+    ${PROJECT_NAME}-pass -u $new_username -a radicale -p "$new_user_password"
75
+
71
     if [ ! -f ${RADICALE_USERS} ]; then
76
     if [ ! -f ${RADICALE_USERS} ]; then
72
         touch ${RADICALE_USERS}
77
         touch ${RADICALE_USERS}
73
     fi
78
     fi
94
     existing_username="$1"
99
     existing_username="$1"
95
     new_user_password="$2"
100
     new_user_password="$2"
96
 
101
 
102
+    ${PROJECT_NAME}-pass -u $existing_username -a radicale -p "$new_user_password"
103
+
97
     if grep "${existing_username}:" ${RADICALE_USERS}; then
104
     if grep "${existing_username}:" ${RADICALE_USERS}; then
98
         sed -i "/${existing_username}:/d" ${RADICALE_USERS}
105
         sed -i "/${existing_username}:/d" ${RADICALE_USERS}
99
         htpasswd -bd ${RADICALE_USERS} "$existing_username" "$new_user_password"
106
         htpasswd -bd ${RADICALE_USERS} "$existing_username" "$new_user_password"
118
         RADICALE_PASSWORD="$(create_password ${MINIMUM_PASSWORD_LENGTH})"
125
         RADICALE_PASSWORD="$(create_password ${MINIMUM_PASSWORD_LENGTH})"
119
     fi
126
     fi
120
     add_user_radicale "$MY_USERNAME" "$RADICALE_PASSWORD"
127
     add_user_radicale "$MY_USERNAME" "$RADICALE_PASSWORD"
121
-    sed -i "s|Your Radicale password is.*|Your Radicale password is: ${RADICALE_PASSWORD}|g" /home/$MY_USERNAME/README
128
+
129
+    ${PROJECT_NAME}-pass -u $MY_USERNAME -a radicale -p "$RADICALE_PASSWORD"
122
 
130
 
123
     touch /var/log/radicale/radicale.log
131
     touch /var/log/radicale/radicale.log
124
     chown -R www-data:www-data /var/log/radicale
132
     chown -R www-data:www-data /var/log/radicale
294
 
302
 
295
     remove_completion_param install_radicale
303
     remove_completion_param install_radicale
296
     sed -i '/radicale/d' $COMPLETION_FILE
304
     sed -i '/radicale/d' $COMPLETION_FILE
297
-    sed -i '/Radicale/d' /home/$MY_USERNAME/README
298
     sed -i '/location \/radicale/,/}/d' /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
305
     sed -i '/location \/radicale/,/}/d' /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
299
     systemctl restart nginx
306
     systemctl restart nginx
300
 }
307
 }
487
 
494
 
488
     systemctl restart nginx
495
     systemctl restart nginx
489
 
496
 
490
-    if ! grep -q "# Radicale" /home/$MY_USERNAME/README; then
491
-        echo $'# Radicale' >> /home/$MY_USERNAME/README
492
-        echo $"Your Radicale password is: ${RADICALE_PASSWORD}" >> /home/$MY_USERNAME/README
493
-        echo $"Radicale is accessible via https://${DEFAULT_DOMAIN_NAME}/radicale/" >> /home/$MY_USERNAME/README
494
-        chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
495
-        chmod 600 /home/$MY_USERNAME/README
496
-    else
497
-        sed -i "s|Your Radicale password is.*|Your Radicale password is: ${RADICALE_PASSWORD}|g" /home/$MY_USERNAME/README
498
-    fi
497
+    ${PROJECT_NAME}-pass -u $MY_USERNAME -a radicale -p "$RADICALE_PASSWORD"
499
 
498
 
500
     # keep track of the version so we can check for upgrades
499
     # keep track of the version so we can check for upgrades
501
     if ! grep -q "radicale version:" ${COMPLETION_FILE}; then
500
     if ! grep -q "radicale version:" ${COMPLETION_FILE}; then

+ 2
- 25
src/freedombone-app-rss 查看文件

60
 }
60
 }
61
 
61
 
62
 function change_password_rss {
62
 function change_password_rss {
63
-    echo -n ''
64
-}
65
-
66
-function get_mariadb_rss_admin_password {
67
-    if [ -f /home/$MY_USERNAME/README ]; then
68
-        if grep -q "RSS reader admin password" /home/$MY_USERNAME/README; then
69
-            RSS_READER_ADMIN_PASSWORD=$(cat /home/$MY_USERNAME/README | grep "RSS reader admin password" | awk -F ':' '{print $2}' | sed 's/^ *//')
70
-        fi
71
-    fi
63
+    ${PROJECT_NAME}-pass -u $1 -a rss -p "$2"
72
 }
64
 }
73
 
65
 
74
 function rss_create_database {
66
 function rss_create_database {
75
-    function_check get_mariadb_rss_admin_password
76
-    get_mariadb_rss_admin_password
77
     if [ -f $IMAGE_PASSWORD_FILE ]; then
67
     if [ -f $IMAGE_PASSWORD_FILE ]; then
78
         RSS_READER_ADMIN_PASSWORD="$(printf `cat $IMAGE_PASSWORD_FILE`)"
68
         RSS_READER_ADMIN_PASSWORD="$(printf `cat $IMAGE_PASSWORD_FILE`)"
79
     else
69
     else
267
     remove_completion_param install_rss
257
     remove_completion_param install_rss
268
     sed -i '/RSS /d' $COMPLETION_FILE
258
     sed -i '/RSS /d' $COMPLETION_FILE
269
     sed -i '/rss /d' $COMPLETION_FILE
259
     sed -i '/rss /d' $COMPLETION_FILE
270
-    sed -i '/RSS reader/d' /home/$MY_USERNAME/README
271
     remove_backup_database_local ttrss
260
     remove_backup_database_local ttrss
272
 }
261
 }
273
 
262
 
496
     systemctl daemon-reload
485
     systemctl daemon-reload
497
     systemctl start ttrss
486
     systemctl start ttrss
498
 
487
 
499
-    # some post-install instructions for the user
500
-    if ! grep -q $"RSS Reader" /home/$MY_USERNAME/README; then
501
-        echo '' >> /home/$MY_USERNAME/README
502
-        echo '' >> /home/$MY_USERNAME/README
503
-        echo $'# RSS Reader' >> /home/$MY_USERNAME/README
504
-        echo $"RSS reader domain: ${RSS_READER_DOMAIN_NAME}" >> /home/$MY_USERNAME/README
505
-        echo $"RSS reader onion domain: ${RSS_READER_ONION_HOSTNAME}" >> /home/$MY_USERNAME/README
506
-        echo $"RSS reader admin username: admin" >> /home/$MY_USERNAME/README
507
-        echo $"RSS reader admin password: ${RSS_READER_ADMIN_PASSWORD}" >> /home/$MY_USERNAME/README
508
-        echo '' >> /home/$MY_USERNAME/README
509
-        chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
510
-        chmod 600 /home/$MY_USERNAME/README
511
-    fi
488
+    ${PROJECT_NAME}-pass -u $MY_USERNAME -a rss -p "$RSS_READER_ADMIN_PASSWORD"
512
 
489
 
513
     install_completed rss_main
490
     install_completed rss_main
514
 }
491
 }

+ 10
- 29
src/freedombone-app-sip 查看文件

54
     remove_username="$1"
54
     remove_username="$1"
55
     ${PROJECT_NAME}-rmsipuser ${remove_username}
55
     ${PROJECT_NAME}-rmsipuser ${remove_username}
56
 
56
 
57
+    ${PROJECT_NAME}-pass -u $remove_username --rmapp sip
58
+
57
     # remove user from SIP TURN/STUN
59
     # remove user from SIP TURN/STUN
58
     if [ -f /etc/turnserver/turnusers.txt ]; then
60
     if [ -f /etc/turnserver/turnusers.txt ]; then
59
         sed -i "/${remove_username}:/d" /etc/turnserver/turnusers.txt
61
         sed -i "/${remove_username}:/d" /etc/turnserver/turnusers.txt
64
     new_username="$1"
66
     new_username="$1"
65
     new_user_password="$2"
67
     new_user_password="$2"
66
 
68
 
69
+    ${PROJECT_NAME}-pass -u $new_username -a sip -p "$new_user_password"
70
+
67
     SIP_EXTENSION=$(${PROJECT_NAME}-sipfreeext)
71
     SIP_EXTENSION=$(${PROJECT_NAME}-sipfreeext)
68
     ${PROJECT_NAME}-addsipuser -u $new_username -e $SIP_EXTENSION -p "$new_user_password"
72
     ${PROJECT_NAME}-addsipuser -u $new_username -e $SIP_EXTENSION -p "$new_user_password"
69
     if [ ! "$?" = "0" ]; then
73
     if [ ! "$?" = "0" ]; then
93
 }
97
 }
94
 
98
 
95
 function change_password_sip {
99
 function change_password_sip {
96
-    echo -n ''
100
+    ${PROJECT_NAME}-pass -u $1 -a sip -p "$2"
97
 }
101
 }
98
 
102
 
99
 function reconfigure_sip {
103
 function reconfigure_sip {
177
     remove_completion_param install_sip
181
     remove_completion_param install_sip
178
     remove_completion_param configure_firewall_for_turn
182
     remove_completion_param configure_firewall_for_turn
179
     remove_completion_param configure_firewall_for_sip4
183
     remove_completion_param configure_firewall_for_sip4
180
-    sed -i '/SIP /d' /home/$MY_USERNAME/README
181
 }
184
 }
182
 
185
 
183
 function configure_firewall_for_turn {
186
 function configure_firewall_for_turn {
197
     firewall_add "SIP TLS" ${SIP_TLS_PORT}
200
     firewall_add "SIP TLS" ${SIP_TLS_PORT}
198
 }
201
 }
199
 
202
 
200
-function get_sip_server_password {
201
-    if [ -f /home/$MY_USERNAME/README ]; then
202
-        if grep -q "sip server password" /home/$MY_USERNAME/README; then
203
-            if [ ! $SIP_SERVER_PASSWORD ]; then
204
-                SIP_SERVER_PASSWORD=$(cat /home/$MY_USERNAME/README | grep "sip server password" | awk -F ':' '{print $2}' | sed 's/^ *//')
205
-            fi
206
-        fi
207
-    fi
208
-}
209
-
210
 function update_sipwitch_daemon {
203
 function update_sipwitch_daemon {
211
     if [ ! -f /etc/init.d/sipwitch ]; then
204
     if [ ! -f /etc/init.d/sipwitch ]; then
212
         return
205
         return
251
 
244
 
252
     apt-get -yq install sipwitch
245
     apt-get -yq install sipwitch
253
 
246
 
254
-    function_check get_sip_server_password
255
-    get_sip_server_password
256
-    if [ ! $SIP_SERVER_PASSWORD ]; then
257
-        if [ -f $IMAGE_PASSWORD_FILE ]; then
258
-            SIP_SERVER_PASSWORD="$(printf `cat $IMAGE_PASSWORD_FILE`)"
259
-        else
247
+    if [ -f $IMAGE_PASSWORD_FILE ]; then
248
+        SIP_SERVER_PASSWORD="$(printf `cat $IMAGE_PASSWORD_FILE`)"
249
+    else
250
+        if [ ! $SIP_SERVER_PASSWORD ]; then
260
             SIP_SERVER_PASSWORD="$(create_password ${MINIMUM_PASSWORD_LENGTH})"
251
             SIP_SERVER_PASSWORD="$(create_password ${MINIMUM_PASSWORD_LENGTH})"
261
         fi
252
         fi
262
     fi
253
     fi
310
 
301
 
311
     SIP_ONION_HOSTNAME=$(add_onion_service sip ${SIP_PORT} ${SIP_PORT})
302
     SIP_ONION_HOSTNAME=$(add_onion_service sip ${SIP_PORT} ${SIP_PORT})
312
 
303
 
313
-    if ! grep -q $"SIP Server" /home/$MY_USERNAME/README; then
314
-        echo '' >> /home/$MY_USERNAME/README
315
-        echo '' >> /home/$MY_USERNAME/README
316
-        echo $'# SIP Server' >> /home/$MY_USERNAME/README
317
-        echo $"SIP onion_domain: $SIP_ONION_HOSTNAME" >> /home/$MY_USERNAME/README
318
-        echo $"SIP server username: $MY_USERNAME" >> /home/$MY_USERNAME/README
319
-        echo $"SIP server extension: 201" >> /home/$MY_USERNAME/README
320
-        echo $"SIP server password: $SIP_SERVER_PASSWORD" >> /home/$MY_USERNAME/README
321
-        chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
322
-        chmod 600 /home/$MY_USERNAME/README
323
-    fi
304
+    ${PROJECT_NAME}-pass -u $MY_USERNAME -a sip -p "$SIP_SERVER_PASSWORD"
324
 
305
 
325
     function_check configure_firewall_for_sip4
306
     function_check configure_firewall_for_sip4
326
     configure_firewall_for_sip4
307
     configure_firewall_for_sip4

+ 6
- 26
src/freedombone-app-synapse 查看文件

189
 
189
 
190
 function remove_user_synapse {
190
 function remove_user_synapse {
191
     remove_username="$1"
191
     remove_username="$1"
192
+
193
+    ${PROJECT_NAME}-pass -u $remove_username --rmapp synapse
194
+
192
     # TODO
195
     # TODO
193
 }
196
 }
194
 
197
 
196
     new_username="$1"
199
     new_username="$1"
197
     new_user_password="$2"
200
     new_user_password="$2"
198
 
201
 
202
+    ${PROJECT_NAME}-pass -u $new_username -a synapse -p "$new_user_password"
203
+
199
     cd $SYNAPSE_DIR
204
     cd $SYNAPSE_DIR
200
     register_new_matrix_user -c homeserver.yaml https://localhost:${SYNAPSE_PORT} -u "${new_username}" -p "${new_user_password}" -a
205
     register_new_matrix_user -c homeserver.yaml https://localhost:${SYNAPSE_PORT} -u "${new_username}" -p "${new_user_password}" -a
201
     echo '0'
206
     echo '0'
207
 }
212
 }
208
 
213
 
209
 function change_password_synapse {
214
 function change_password_synapse {
210
-    echo -n ''
215
+    ${PROJECT_NAME}-pass -u $1 -a synapse -p "$2"
211
 }
216
 }
212
 
217
 
213
 function reconfigure_synapse {
218
 function reconfigure_synapse {
324
 
329
 
325
     remove_completion_param install_synapse
330
     remove_completion_param install_synapse
326
     sed -i '/synapse/d' $COMPLETION_FILE
331
     sed -i '/synapse/d' $COMPLETION_FILE
327
-    sed -i '/Synapse/d' /home/$MY_USERNAME/README
328
 }
332
 }
329
 
333
 
330
 function install_synapse {
334
 function install_synapse {
383
     firewall_add synapse ${SYNAPSE_PORT}
387
     firewall_add synapse ${SYNAPSE_PORT}
384
 
388
 
385
     SYNAPSE_ONION_HOSTNAME=$(add_onion_service synapse ${SYNAPSE_PORT} ${SYNAPSE_PORT})
389
     SYNAPSE_ONION_HOSTNAME=$(add_onion_service synapse ${SYNAPSE_PORT} ${SYNAPSE_PORT})
386
-    if ! grep -q "Synapse onion domain" /home/$MY_USERNAME/README; then
387
-        echo $"Synapse onion domain: ${SYNAPSE_ONION_HOSTNAME}" >> /home/$MY_USERNAME/README
388
-        echo '' >> /home/$MY_USERNAME/README
389
-        chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
390
-        chmod 600 /home/$MY_USERNAME/README
391
-    else
392
-        if [ -f /home/$MY_USERNAME/README ]; then
393
-            sed -i "s|Synapse onion domain.*|Synapse onion domain: ${SYNAPSE_ONION_HOSTNAME}|g" /home/$MY_USERNAME/README
394
-        fi
395
-    fi
396
-
397
     if [ ! ${SYNAPSE_PASSWORD} ]; then
390
     if [ ! ${SYNAPSE_PASSWORD} ]; then
398
         if [ -f ${IMAGE_PASSWORD_FILE} ]; then
391
         if [ -f ${IMAGE_PASSWORD_FILE} ]; then
399
             SYNAPSE_PASSWORD="$(printf `cat $IMAGE_PASSWORD_FILE`)"
392
             SYNAPSE_PASSWORD="$(printf `cat $IMAGE_PASSWORD_FILE`)"
404
 
397
 
405
     add_user_synapse "${MY_USERNAME}" "${SYNAPSE_PASSWORD}"
398
     add_user_synapse "${MY_USERNAME}" "${SYNAPSE_PASSWORD}"
406
 
399
 
407
-    if ! grep -q $"Synapse administrator" /home/${MY_USERNAME}/README; then
408
-        echo '' >> /home/${MY_USERNAME}/README
409
-        echo $'# Synapse' >> /home/${MY_USERNAME}/README
410
-        echo $"Synapse administrator nickname: $MY_USERNAME" >> /home/${MY_USERNAME}/README
411
-        echo $"Synapse administrator password: $SYNAPSE_PASSWORD" >> /home/${MY_USERNAME}/README
412
-        chown ${MY_USERNAME}:${MY_USERNAME} /home/${MY_USERNAME}/README
413
-        chmod 600 /home/${MY_USERNAME}/README
414
-    else
415
-        if [ -f /home/${MY_USERNAME}/README ]; then
416
-            sed -i "s|Synapse administrator password.*|Synapse administrator password: $SYNAPSE_PASSWORD|g" /home/${MY_USERNAME}/README
417
-        fi
418
-    fi
419
-
420
     #install_matrix_irc_bridge
400
     #install_matrix_irc_bridge
421
 
401
 
422
     APP_INSTALLED=1
402
     APP_INSTALLED=1

+ 0
- 12
src/freedombone-app-tox 查看文件

254
     fi
254
     fi
255
     remove_completion_param install_tox_node
255
     remove_completion_param install_tox_node
256
     remove_completion_param configure_firewall_for_tox
256
     remove_completion_param configure_firewall_for_tox
257
-    sed -i '/Tox' /home/$MY_USERNAME/README
258
-    sed -i '/tox ' /home/$MY_USERNAME/README
259
 }
257
 }
260
 
258
 
261
 function remove_tox_avahi {
259
 function remove_tox_avahi {
374
     function_check configure_firewall_for_tox
372
     function_check configure_firewall_for_tox
375
     configure_firewall_for_tox
373
     configure_firewall_for_tox
376
 
374
 
377
-    if ! grep -q $"Your Tox node public key is" /home/$MY_USERNAME/README; then
378
-        echo '' >> /home/$MY_USERNAME/README
379
-        echo '' >> /home/$MY_USERNAME/README
380
-        echo '# Tox' >> /home/$MY_USERNAME/README
381
-        echo $"tox onion domain: ${TOX_ONION_HOSTNAME}" >> /home/$MY_USERNAME/README
382
-        echo $"Your Tox node public key is: $TOX_PUBLIC_KEY" >> /home/$MY_USERNAME/README
383
-        chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
384
-        chmod 600 /home/$MY_USERNAME/README
385
-    fi
386
-
387
     function_check configure_firewall_for_tox
375
     function_check configure_firewall_for_tox
388
     configure_firewall_for_tox
376
     configure_firewall_for_tox
389
     install_completed tox_node
377
     install_completed tox_node

+ 10
- 16
src/freedombone-app-xmpp 查看文件

51
 
51
 
52
 function remove_user_xmpp {
52
 function remove_user_xmpp {
53
     remove_username="$1"
53
     remove_username="$1"
54
+    ${PROJECT_NAME}-pass -u $remove_username --rmapp xmpp
54
     ${PROJECT_NAME}-rmxmpp -e "${remove_username}@$HOSTNAME"
55
     ${PROJECT_NAME}-rmxmpp -e "${remove_username}@$HOSTNAME"
55
 }
56
 }
56
 
57
 
58
     new_username="$1"
59
     new_username="$1"
59
     new_user_password="$2"
60
     new_user_password="$2"
60
 
61
 
62
+    ${PROJECT_NAME}-pass -u $new_username -a xmpp -p "$new_user_password"
63
+
61
     ${PROJECT_NAME}-addxmpp -e "$new_username@$HOSTNAME" -p "$new_user_password"
64
     ${PROJECT_NAME}-addxmpp -e "$new_username@$HOSTNAME" -p "$new_user_password"
62
     if [ ! "$?" = "0" ]; then
65
     if [ ! "$?" = "0" ]; then
63
         echo '1'
66
         echo '1'
286
 
289
 
287
     remove_completion_param install_xmpp
290
     remove_completion_param install_xmpp
288
     sed -i '/xmpp/d' $COMPLETION_FILE
291
     sed -i '/xmpp/d' $COMPLETION_FILE
289
-    sed -i '/XMPP/d' /home/$MY_USERNAME/README
290
 }
292
 }
291
 
293
 
292
 function xmpp_email_headers {
294
 function xmpp_email_headers {
461
     sed -i "s/example.com/$DEFAULT_DOMAIN_NAME/g" /etc/prosody/prosody.cfg.lua
463
     sed -i "s/example.com/$DEFAULT_DOMAIN_NAME/g" /etc/prosody/prosody.cfg.lua
462
 
464
 
463
     update_default_domain
465
     update_default_domain
464
-    touch /home/$MY_USERNAME/README
465
 
466
 
466
     if [ ! -d /var/lib/tor ]; then
467
     if [ ! -d /var/lib/tor ]; then
467
         echo $'No Tor installation found. xmpp onion site cannot be configured.'
468
         echo $'No Tor installation found. xmpp onion site cannot be configured.'
489
     fi
490
     fi
490
     set_completion_param "xmpp onion domain" "${XMPP_ONION_HOSTNAME}"
491
     set_completion_param "xmpp onion domain" "${XMPP_ONION_HOSTNAME}"
491
 
492
 
492
-    if ! grep -q "Your XMPP password is" /home/$MY_USERNAME/README; then
493
+    if [ -f $IMAGE_PASSWORD_FILE ]; then
494
+        XMPP_PASSWORD="$(printf `cat $IMAGE_PASSWORD_FILE`)"
495
+    else
493
         if [ ${#XMPP_PASSWORD} -lt 8 ]; then
496
         if [ ${#XMPP_PASSWORD} -lt 8 ]; then
494
-            if [ -f $IMAGE_PASSWORD_FILE ]; then
495
-                XMPP_PASSWORD="$(printf `cat $IMAGE_PASSWORD_FILE`)"
496
-            else
497
-                XMPP_PASSWORD="$(create_password ${MINIMUM_PASSWORD_LENGTH})"
498
-            fi
497
+            XMPP_PASSWORD="$(create_password ${MINIMUM_PASSWORD_LENGTH})"
499
         fi
498
         fi
500
-        prosodyctl register $MY_USERNAME $DEFAULT_DOMAIN_NAME $XMPP_PASSWORD
501
-        echo '' >> /home/$MY_USERNAME/README
502
-        echo '' >> /home/$MY_USERNAME/README
503
-        echo $'# XMPP' >> /home/$MY_USERNAME/README
504
-        echo $"XMPP onion domain: ${XMPP_ONION_HOSTNAME}" >> /home/$MY_USERNAME/README
505
-        echo $"Your XMPP password is: $XMPP_PASSWORD" >> /home/$MY_USERNAME/README
506
-        chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
507
-        chmod 600 /home/$MY_USERNAME/README
508
     fi
499
     fi
500
+    prosodyctl register $MY_USERNAME $DEFAULT_DOMAIN_NAME $XMPP_PASSWORD
501
+
502
+    ${PROJECT_NAME}-pass -u $MY_USERNAME -a xmpp -p "$XMPP_PASSWORD"
509
 
503
 
510
     function_check configure_firewall_for_xmpp
504
     function_check configure_firewall_for_xmpp
511
     configure_firewall_for_xmpp
505
     configure_firewall_for_xmpp

+ 0
- 43
src/freedombone-app-zeronet 查看文件

135
     remove_completion_param install_zeronet
135
     remove_completion_param install_zeronet
136
     remove_completion_param configure_firewall_for_zeronet
136
     remove_completion_param configure_firewall_for_zeronet
137
     sed -i '/zeronet/d' $COMPLETION_FILE
137
     sed -i '/zeronet/d' $COMPLETION_FILE
138
-    sed -i '/ZeroNet/d' /home/$MY_USERNAME/README
139
 }
138
 }
140
 
139
 
141
 function configure_firewall_for_zeronet {
140
 function configure_firewall_for_zeronet {
153
         return
152
         return
154
     fi
153
     fi
155
 
154
 
156
-    if [ ! -f /home/$MY_USERNAME/README ]; then
157
-        touch /home/$MY_USERNAME/README
158
-    fi
159
-
160
-    if grep -q "ZeroNet Blog address" /home/$MY_USERNAME/README; then
161
-        return
162
-    fi
163
-
164
     if [ ! -d /etc/avahi ]; then
155
     if [ ! -d /etc/avahi ]; then
165
         echo $'Avahi is not installed'
156
         echo $'Avahi is not installed'
166
         exit 736
157
         exit 736
236
     fi
227
     fi
237
     echo "${ZERONET_URL}/${ZERONET_BLOG_ADDRESS}" > /home/$MY_USERNAME/.config/zeronet/myblog
228
     echo "${ZERONET_URL}/${ZERONET_BLOG_ADDRESS}" > /home/$MY_USERNAME/.config/zeronet/myblog
238
 
229
 
239
-    if ! grep -q "ZeroNet Blog address" /home/$MY_USERNAME/README; then
240
-        echo '' >> /home/$MY_USERNAME/README
241
-        echo "ZeroNet Blog address: $ZERONET_BLOG_ADDRESS" >> /home/$MY_USERNAME/README
242
-        echo "ZeroNet Blog private key: $ZERONET_BLOG_PRIVATE_KEY" >> /home/$MY_USERNAME/README
243
-    fi
244
-
245
     install_completed zeronet_blog
230
     install_completed zeronet_blog
246
 }
231
 }
247
 
232
 
250
         return
235
         return
251
     fi
236
     fi
252
 
237
 
253
-    if [ ! -f /home/$MY_USERNAME/README ]; then
254
-        touch /home/$MY_USERNAME/README
255
-    fi
256
-
257
-    if grep -q "ZeroNet Mail address" /home/$MY_USERNAME/README; then
258
-        return
259
-    fi
260
-
261
     if [ ! -d /etc/avahi ]; then
238
     if [ ! -d /etc/avahi ]; then
262
         echo 'Avahi is not installed'
239
         echo 'Avahi is not installed'
263
         exit 736
240
         exit 736
333
     fi
310
     fi
334
     echo "${ZERONET_URL}/${ZERONET_MAIL_ADDRESS}" > /home/$MY_USERNAME/.config/zeronet/mymail
311
     echo "${ZERONET_URL}/${ZERONET_MAIL_ADDRESS}" > /home/$MY_USERNAME/.config/zeronet/mymail
335
 
312
 
336
-    if ! grep -q $"ZeroNet Mail address" /home/$MY_USERNAME/README; then
337
-        echo '' >> /home/$MY_USERNAME/README
338
-        echo $"ZeroNet Mail address: $ZERONET_MAIL_ADDRESS" >> /home/$MY_USERNAME/README
339
-        echo $"ZeroNet Mail private key: $ZERONET_MAIL_PRIVATE_KEY" >> /home/$MY_USERNAME/README
340
-    fi
341
-
342
     install_completed zeronet_mail
313
     install_completed zeronet_mail
343
 }
314
 }
344
 
315
 
347
         return
318
         return
348
     fi
319
     fi
349
 
320
 
350
-    if [ ! -f /home/$MY_USERNAME/README ]; then
351
-        touch /home/$MY_USERNAME/README
352
-    fi
353
-
354
-    if grep -q "ZeroNet Forum address" /home/$MY_USERNAME/README; then
355
-        return
356
-    fi
357
-
358
     if [ ! -d /etc/avahi ]; then
321
     if [ ! -d /etc/avahi ]; then
359
         echo $'Avahi is not installed'
322
         echo $'Avahi is not installed'
360
         exit 736
323
         exit 736
424
     fi
387
     fi
425
     echo "${ZERONET_URL}/${ZERONET_FORUM_ADDRESS}" > /home/$MY_USERNAME/.config/zeronet/myforum
388
     echo "${ZERONET_URL}/${ZERONET_FORUM_ADDRESS}" > /home/$MY_USERNAME/.config/zeronet/myforum
426
 
389
 
427
-    if ! grep -q $"ZeroNet Forum address" /home/$MY_USERNAME/README; then
428
-        echo '' >> /home/$MY_USERNAME/README
429
-        echo $"ZeroNet Forum address: $ZERONET_FORUM_ADDRESS" >> /home/$MY_USERNAME/README
430
-        echo $"ZeroNet Forum private key: $ZERONET_FORUM_PRIVATE_KEY" >> /home/$MY_USERNAME/README
431
-    fi
432
-
433
     install_completed zeronet_forum
390
     install_completed zeronet_forum
434
 }
391
 }
435
 
392
 

+ 32
- 0
src/freedombone-pass 查看文件

44
 
44
 
45
 MY_BACKUP_KEY_ID=
45
 MY_BACKUP_KEY_ID=
46
 CURR_USERNAME=
46
 CURR_USERNAME=
47
+REMOVE_USERNAME=
47
 CURR_APP=
48
 CURR_APP=
49
+REMOVE_APP=
48
 CURR_PASSWORD=""
50
 CURR_PASSWORD=""
49
 
51
 
50
 function get_backup_key_id {
52
 function get_backup_key_id {
76
     echo $''
78
     echo $''
77
     echo $"  ${PROJECT_NAME}-pass -u [username] -a [app]"
79
     echo $"  ${PROJECT_NAME}-pass -u [username] -a [app]"
78
     echo ''
80
     echo ''
81
+    echo $'To remove passwords for a user:'
82
+    echo $''
83
+    echo $"  ${PROJECT_NAME}-pass -r [username]"
84
+    echo ''
85
+    echo $'To remove an application password for a user:'
86
+    echo $''
87
+    echo $"  ${PROJECT_NAME}-pass --u [username] --rmapp [name]"
88
+    echo ''
79
     exit 0
89
     exit 0
80
 }
90
 }
81
 
91
 
95
             shift
105
             shift
96
             CURR_USERNAME="${1}"
106
             CURR_USERNAME="${1}"
97
             ;;
107
             ;;
108
+        -r|--rm|--remove)
109
+            shift
110
+            REMOVE_USERNAME="${1}"
111
+            ;;
112
+        --rmapp|--removeapp)
113
+            shift
114
+            REMOVE_APP="${1}"
115
+            ;;
98
         -a|--app|--application)
116
         -a|--app|--application)
99
             shift
117
             shift
100
             CURR_APP="${1}"
118
             CURR_APP="${1}"
110
     shift
128
     shift
111
 done
129
 done
112
 
130
 
131
+if [ ${REMOVE_USERNAME} ]; then
132
+    if [ -d ~/.passwords/${REMOVE_USERNAME} ]; then
133
+        rm -rf ~/.passwords/${REMOVE_USERNAME}
134
+    fi
135
+    exit 0
136
+fi
137
+
113
 get_backup_key_id
138
 get_backup_key_id
114
 
139
 
115
 # Use the backups private key as a symmetric passphrase
140
 # Use the backups private key as a symmetric passphrase
125
     exit 2
150
     exit 2
126
 fi
151
 fi
127
 
152
 
153
+if [ ${REMOVE_APP} ]; then
154
+    if [ -d ~/.passwords/${CURR_USERNAME}/${REMOVE_APP} ]; then
155
+        shred -zu ~/.passwords/${CURR_USERNAME}/${REMOVE_APP}
156
+    fi
157
+    exit 0
158
+fi
159
+
128
 if [ ! $CURR_APP ]; then
160
 if [ ! $CURR_APP ]; then
129
     echo $'No app name given'
161
     echo $'No app name given'
130
     exit 3
162
     exit 3

+ 2
- 18
src/freedombone-utils-database 查看文件

114
 }
114
 }
115
 
115
 
116
 function get_mariadb_password {
116
 function get_mariadb_password {
117
-    if [ -f /home/$MY_USERNAME/README ]; then
118
-        if grep -q "MariaDB password" /home/$MY_USERNAME/README; then
119
-            if [ -f $DATABASE_PASSWORD_FILE ]; then
120
-                MARIADB_PASSWORD=$(cat $DATABASE_PASSWORD_FILE)
121
-            else
122
-                MARIADB_PASSWORD=$(cat /home/$MY_USERNAME/README | grep "MariaDB password" | awk -F ':' '{print $2}' | sed 's/^ *//')
123
-                echo "$MARIADB_PASSWORD" > $DATABASE_PASSWORD_FILE
124
-                chmod 600 $DATABASE_PASSWORD_FILE
125
-            fi
126
-        fi
117
+    if [ -f $DATABASE_PASSWORD_FILE ]; then
118
+        MARIADB_PASSWORD=$(cat $DATABASE_PASSWORD_FILE)
127
     fi
119
     fi
128
 }
120
 }
129
 
121
 
145
         fi
137
         fi
146
         echo "$MARIADB_PASSWORD" > $DATABASE_PASSWORD_FILE
138
         echo "$MARIADB_PASSWORD" > $DATABASE_PASSWORD_FILE
147
         chmod 600 $DATABASE_PASSWORD_FILE
139
         chmod 600 $DATABASE_PASSWORD_FILE
148
-
149
-        echo '' >> /home/$MY_USERNAME/README
150
-        echo '' >> /home/$MY_USERNAME/README
151
-        echo '# MariaDB / MySql' >> /home/$MY_USERNAME/README
152
-        echo $"Your MariaDB password is: $MARIADB_PASSWORD" >> /home/$MY_USERNAME/README
153
-        echo '' >> /home/$MY_USERNAME/README
154
-        chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
155
-        chmod 600 /home/$MY_USERNAME/README
156
     fi
140
     fi
157
 
141
 
158
     debconf-set-selections <<< "mariadb-server mariadb-server/root_password password $MARIADB_PASSWORD"
142
     debconf-set-selections <<< "mariadb-server mariadb-server/root_password password $MARIADB_PASSWORD"