Procházet zdrojové kódy

xmpp commandline client

Bob Mottram před 9 roky
rodič
revize
5506fceb36
3 změnil soubory, kde provedl 108 přidání a 10 odebrání
  1. 65
    0
      src/freedombone
  2. 31
    0
      src/freedombone-adduser
  3. 12
    10
      src/freedombone-controlpanel-user

+ 65
- 0
src/freedombone Zobrazit soubor

@@ -7420,6 +7420,70 @@ function install_xmpp {
7420 7420
     echo 'install_xmpp' >> $COMPLETION_FILE
7421 7421
 }
7422 7422
 
7423
+function install_xmpp_client {
7424
+    if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" || $SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
7425
+        return
7426
+    fi
7427
+    if grep -Fxq "install_xmpp_client" $COMPLETION_FILE; then
7428
+        return
7429
+    fi
7430
+    apt-get -y install profanity
7431
+
7432
+    XMPP_CLIENT_DIR=/home/$MY_USERNAME/.local/share/profanity
7433
+    XMPP_CLIENT_ACCOUNTS=$XMPP_CLIENT_DIR/accounts
7434
+    if [ ! -d $XMPP_CLIENT_DIR ]; then
7435
+        mkdir -p $XMPP_CLIENT_DIR
7436
+    fi
7437
+
7438
+    if [[ $ONION_ONLY == 'no' ]]; then
7439
+        echo "[${MY_USERNAME}@${DEFAULT_DOMAIN_NAME}]" > $XMPP_CLIENT_ACCOUNTS
7440
+        echo 'enabled=true' >> $XMPP_CLIENT_ACCOUNTS
7441
+        echo "jid=${MY_USERNAME}@${DEFAULT_DOMAIN_NAME}" >> $XMPP_CLIENT_ACCOUNTS
7442
+        echo 'resource=profanity' >> $XMPP_CLIENT_ACCOUNTS
7443
+        echo "muc.service=conference.${DEFAULT_DOMAIN_NAME}" >> $XMPP_CLIENT_ACCOUNTS
7444
+        echo "muc.nick=${MY_USERNAME}" >> $XMPP_CLIENT_ACCOUNTS
7445
+        echo 'presence.last=online' >> $XMPP_CLIENT_ACCOUNTS
7446
+        echo 'presence.login=online' >> $XMPP_CLIENT_ACCOUNTS
7447
+        echo 'priority.online=0' >> $XMPP_CLIENT_ACCOUNTS
7448
+        echo 'priority.chat=0' >> $XMPP_CLIENT_ACCOUNTS
7449
+        echo 'priority.away=0' >> $XMPP_CLIENT_ACCOUNTS
7450
+        echo 'priority.xa=0' >> $XMPP_CLIENT_ACCOUNTS
7451
+        echo 'priority.dnd=0' >> $XMPP_CLIENT_ACCOUNTS
7452
+    fi
7453
+
7454
+    if [ -f /var/lib/tor/hidden_service_xmpp/hostname ]; then
7455
+        XMPP_ONION_HOSTNAME=$(cat /var/lib/tor/hidden_service_xmpp/hostname)
7456
+        echo "[${MY_USERNAME}@${XMPP_ONION_HOSTNAME}]" >> $XMPP_CLIENT_ACCOUNTS
7457
+        if [[ $ONION_ONLY == 'no' ]]; then
7458
+            echo 'enabled=false' >> $XMPP_CLIENT_ACCOUNTS
7459
+        else
7460
+            echo 'enabled=true' >> $XMPP_CLIENT_ACCOUNTS
7461
+        fi
7462
+        echo "jid=${MY_USERNAME}@${XMPP_ONION_HOSTNAME}" >> $XMPP_CLIENT_ACCOUNTS
7463
+        echo 'resource=profanity' >> $XMPP_CLIENT_ACCOUNTS
7464
+        echo "muc.service=conference.${XMPP_ONION_HOSTNAME}" >> $XMPP_CLIENT_ACCOUNTS
7465
+        echo "muc.nick=${MY_USERNAME}" >> $XMPP_CLIENT_ACCOUNTS
7466
+        echo 'presence.last=online' >> $XMPP_CLIENT_ACCOUNTS
7467
+        echo 'presence.login=online' >> $XMPP_CLIENT_ACCOUNTS
7468
+        echo 'priority.online=0' >> $XMPP_CLIENT_ACCOUNTS
7469
+        echo 'priority.chat=0' >> $XMPP_CLIENT_ACCOUNTS
7470
+        echo 'priority.away=0' >> $XMPP_CLIENT_ACCOUNTS
7471
+        echo 'priority.xa=0' >> $XMPP_CLIENT_ACCOUNTS
7472
+        echo 'priority.dnd=0' >> $XMPP_CLIENT_ACCOUNTS
7473
+    fi
7474
+
7475
+    if [ ! -d /home/$MY_USERNAME/.config/profanity ]; then
7476
+        mkdir /home/$MY_USERNAME/.config/profanity
7477
+    fi
7478
+    echo '[connection]' > /home/$MY_USERNAME/.config/profanity/profrc
7479
+    echo "account=${MY_USERNAME}@${DEFAULT_DOMAIN_NAME}" >> /home/$MY_USERNAME/.config/profanity/profrc
7480
+
7481
+    chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/.local
7482
+    chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/.config
7483
+
7484
+    echo 'install_xmpp_client' >> $COMPLETION_FILE
7485
+}
7486
+
7423 7487
 function install_watchdog_script {
7424 7488
     if grep -Fxq "install_watchdog_script" $COMPLETION_FILE; then
7425 7489
         return
@@ -10323,6 +10387,7 @@ configure_owncloud_onion_site
10323 10387
 upgrade_golang
10324 10388
 install_gogs
10325 10389
 install_xmpp
10390
+install_xmpp_client
10326 10391
 install_tox_node
10327 10392
 install_tox_client
10328 10393
 tox_avahi

+ 31
- 0
src/freedombone-adduser Zobrazit soubor

@@ -193,6 +193,37 @@ if grep -q "install_xmpp" $COMPLETION_FILE; then
193 193
     fi
194 194
 fi
195 195
 
196
+if grep -q "install_xmpp_client" $COMPLETION_FILE; then
197
+    echo $"Adding XMPP client setup"
198
+    XMPP_CLIENT_DIR=/home/$MY_USERNAME/.local/share/profanity
199
+    XMPP_CLIENT_ACCOUNTS=$XMPP_CLIENT_DIR/accounts
200
+    if [ ! -d $XMPP_CLIENT_DIR ]; then
201
+        mkdir -p $XMPP_CLIENT_DIR
202
+    fi
203
+    if [ ! -d /home/$MY_USERNAME/.config/profanity ]; then
204
+        mkdir /home/$MY_USERNAME/.config/profanity
205
+    fi
206
+    echo "[${MY_USERNAME}@${HOSTNAME}]" > $XMPP_CLIENT_ACCOUNTS
207
+    echo 'enabled=true' >> $XMPP_CLIENT_ACCOUNTS
208
+    echo "jid=${MY_USERNAME}@${HOSTNAME}" >> $XMPP_CLIENT_ACCOUNTS
209
+    echo 'resource=profanity' >> $XMPP_CLIENT_ACCOUNTS
210
+    echo "muc.service=conference.${HOSTNAME}" >> $XMPP_CLIENT_ACCOUNTS
211
+    echo "muc.nick=${MY_USERNAME}" >> $XMPP_CLIENT_ACCOUNTS
212
+    echo 'presence.last=online' >> $XMPP_CLIENT_ACCOUNTS
213
+    echo 'presence.login=online' >> $XMPP_CLIENT_ACCOUNTS
214
+    echo 'priority.online=0' >> $XMPP_CLIENT_ACCOUNTS
215
+    echo 'priority.chat=0' >> $XMPP_CLIENT_ACCOUNTS
216
+    echo 'priority.away=0' >> $XMPP_CLIENT_ACCOUNTS
217
+    echo 'priority.xa=0' >> $XMPP_CLIENT_ACCOUNTS
218
+    echo 'priority.dnd=0' >> $XMPP_CLIENT_ACCOUNTS
219
+
220
+    echo '[connection]' > /home/$MY_USERNAME/.config/profanity/profrc
221
+    echo "account=${MY_USERNAME}@${HOSTNAME}" >> /home/$MY_USERNAME/.config/profanity/profrc
222
+
223
+    chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/.local
224
+    chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/.config
225
+fi
226
+
196 227
 if grep -q "Blog domain" $COMPLETION_FILE; then
197 228
     FULLBLOG_DOMAIN_NAME=$(cat $COMPLETION_FILE | grep "Blog domain" | awk -F ':' '{print $2}')
198 229
     if [ ! -d /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/config/users ]; then

+ 12
- 10
src/freedombone-controlpanel-user Zobrazit soubor

@@ -547,14 +547,15 @@ function menu_top_level {
547 547
         trap "rm -f $data" 0 1 2 5 15
548 548
         dialog --backtitle $"Freedombone User Control Panel" \
549 549
                --title $"User Control Panel" \
550
-               --radiolist $"Choose an operation:" 14 50 7 \
550
+               --radiolist $"Choose an operation:" 15 50 8 \
551 551
                1 $"Use Email" off \
552 552
                2 $"Change Email Filtering Rules" off \
553
-               3 $"Use Chat" off \
554
-               4 $"Use IRC" off \
555
-               5 $"Your Encryption Keys" off \
556
-               6 $"Exit to the command line" off \
557
-               7 $"Log out" on 2> $data
553
+               3 $"Use Tox Chat" off \
554
+               4 $"Use XMPP Chat" off \
555
+               5 $"Use IRC" off \
556
+               6 $"Your Encryption Keys" off \
557
+               7 $"Exit to the command line" off \
558
+               8 $"Log out" on 2> $data
558 559
         sel=$?
559 560
         case $sel in
560 561
             1) exit 1;;
@@ -564,10 +565,11 @@ function menu_top_level {
564 565
             1) mutt;;
565 566
             2) menu_email;;
566 567
             3) toxic;;
567
-            4) irssi;;
568
-            5) menu_encryption_keys;;
569
-            6) break;;
570
-            7) kill -HUP `pgrep -s 0 -o`;;
568
+            4) profanity;;
569
+            5) irssi;;
570
+            6) menu_encryption_keys;;
571
+            7) break;;
572
+            8) kill -HUP `pgrep -s 0 -o`;;
571 573
         esac
572 574
     done
573 575
 }