Parcourir la source

irc configuration for onion only systems

Bob Mottram il y a 8 ans
Parent
révision
6aa70353bf
2 fichiers modifiés avec 81 ajouts et 73 suppressions
  1. 17
    10
      src/freedombone-app-irc
  2. 64
    63
      src/freedombone-utils-web

+ 17
- 10
src/freedombone-app-irc Voir le fichier

@@ -97,11 +97,12 @@ function create_irssi_config {
97 97
     echo '  },' >> /home/${new_username}/.irssi/config
98 98
     echo '  {' >> /home/${new_username}/.irssi/config
99 99
     echo "    address = \"127.0.0.1\";" >> /home/${new_username}/.irssi/config
100
-    echo '    use_ssl = "yes";' >> /home/${new_username}/.irssi/config
101 100
     echo '    ssl_verify = "no";' >> /home/${new_username}/.irssi/config
102 101
     if [[ ${ONION_ONLY} == 'no' ]]; then
102
+        echo '    use_ssl = "yes";' >> /home/${new_username}/.irssi/config
103 103
         echo "    port = \"${IRC_BOUNCER_PORT}\";" >> /home/${new_username}/.irssi/config
104 104
     else
105
+        echo '    use_ssl = "no";' >> /home/${new_username}/.irssi/config
105 106
         IRC_ONION_HOSTNAME=$(cat ${COMPLETION_FILE} | grep "irc onion domain" | head -n 1 | awk -F ':' '{print $2}')
106 107
         echo "    port = \"${IRC_ONION_PORT}\";" >> /home/${new_username}/.irssi/config
107 108
     fi
@@ -517,15 +518,17 @@ function install_irc_server {
517 518
     sed -i "s/irc.example.net/$DEFAULTDOMAIN/g" /etc/ngircd/ngircd.conf
518 519
     sed -i "s|Yet another IRC Server running on Debian GNU/Linux|IRC Server of $DEFAULTDOMAIN|g" /etc/ngircd/ngircd.conf
519 520
     sed -i 's/;Password = wealllikedebian/Password =/g' /etc/ngircd/ngircd.conf
520
-    if [ -f /etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.pem ]; then
521
-        sed -i "s|;CertFile = /etc/ssl/certs/server.crt|CertFile = /etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.pem|g" /etc/ngircd/ngircd.conf
522
-    else
523
-        sed -i "s|;CertFile = /etc/ssl/certs/server.crt|CertFile = /etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.crt|g" /etc/ngircd/ngircd.conf
524
-    fi
525
-    sed -i "s|;DHFile = /etc/ngircd/dhparams.pem|DHFile = /etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.dhparam|g" /etc/ngircd/ngircd.conf
526
-    sed -i "s|;KeyFile = /etc/ssl/private/server.key|KeyFile = /etc/ssl/private/${DEFAULT_DOMAIN_NAME}.key|g" /etc/ngircd/ngircd.conf
527 521
     sed -i "s/;Ports =.*/Ports = ${IRC_PORT}/1" /etc/ngircd/ngircd.conf
528
-    sed -i "s/;Ports =.*/Ports = ${IRC_PORT}/2" /etc/ngircd/ngircd.conf
522
+    if [[ $ONION_ONLY == 'no' ]]; then
523
+        if [ -f /etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.pem ]; then
524
+            sed -i "s|;CertFile = /etc/ssl/certs/server.crt|CertFile = /etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.pem|g" /etc/ngircd/ngircd.conf
525
+        else
526
+            sed -i "s|;CertFile = /etc/ssl/certs/server.crt|CertFile = /etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.crt|g" /etc/ngircd/ngircd.conf
527
+        fi
528
+        sed -i "s|;DHFile = /etc/ngircd/dhparams.pem|DHFile = /etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.dhparam|g" /etc/ngircd/ngircd.conf
529
+        sed -i "s|;KeyFile = /etc/ssl/private/server.key|KeyFile = /etc/ssl/private/${DEFAULT_DOMAIN_NAME}.key|g" /etc/ngircd/ngircd.conf
530
+        sed -i "s/;Ports =.*/Ports = ${IRC_PORT}/2" /etc/ngircd/ngircd.conf
531
+    fi
529 532
     sed -i "s/;Name = #ngircd/Name = #${PROJECT_NAME}/g" /etc/ngircd/ngircd.conf
530 533
     sed -i "s/;Topic = Our ngircd testing channel/Topic = ${PROJECT_NAME} chat channel/g" /etc/ngircd/ngircd.conf
531 534
     sed -i 's/;MaxUsers = 23/MaxUsers = 23/g' /etc/ngircd/ngircd.conf
@@ -607,7 +610,11 @@ function install_irc_bouncer {
607 610
     echo '  IPv4 = true' >> /home/znc/.znc/configs/znc.conf
608 611
     echo '  IPv6 = true' >> /home/znc/.znc/configs/znc.conf
609 612
     echo '  Port = 6697' >> /home/znc/.znc/configs/znc.conf
610
-    echo '  SSL = true' >> /home/znc/.znc/configs/znc.conf
613
+    if [[ ${ONION_ONLY} == 'no' ]]; then
614
+        echo '  SSL = true' >> /home/znc/.znc/configs/znc.conf
615
+    else
616
+        echo '  SSL = false' >> /home/znc/.znc/configs/znc.conf
617
+    fi
611 618
     echo '  URIPrefix = /' >> /home/znc/.znc/configs/znc.conf
612 619
     echo '</Listener>' >> /home/znc/.znc/configs/znc.conf
613 620
     echo '' >> /home/znc/.znc/configs/znc.conf

+ 64
- 63
src/freedombone-utils-web Voir le fichier

@@ -652,78 +652,79 @@ function configure_firewall_for_web_access {
652 652
 
653 653
 function update_default_domain {
654 654
     echo $'Updating default domain'
655
+    if [[ $ONION_ONLY == 'no' ]]; then
656
+        if [ -d /etc/prosody ]; then
657
+            if [ ! -d /etc/prosody/certs ]; then
658
+                mkdir /etc/prosody/certs
659
+            fi
655 660
 
656
-    if [ -d /etc/prosody ]; then
657
-        if [ ! -d /etc/prosody/certs ]; then
658
-            mkdir /etc/prosody/certs
659
-        fi
661
+            if [[ "$(cert_exists chat.${DEFAULT_DOMAIN_NAME} pem)" == "1" ]]; then
662
+                sed -i 's|--Component "conference.|Component "chat.|g' /etc/prosody/prosody.cfg.lua
663
+            fi
664
+            if [[ "$(cert_exists xmpp.${DEFAULT_DOMAIN_NAME} pem)" == "1" ]]; then
665
+                sed -i 's|--Component "conference.|Component "xmpp.|g' /etc/prosody/prosody.cfg.lua
666
+            fi
667
+            if [[ "$(cert_exists conference.${DEFAULT_DOMAIN_NAME} pem)" == "1" ]]; then
668
+                sed -i 's|--Component "conference.|Component "conference.|g' /etc/prosody/prosody.cfg.lua
669
+            fi
660 670
 
661
-        if [[ "$(cert_exists chat.${DEFAULT_DOMAIN_NAME} pem)" == "1" ]]; then
662
-            sed -i 's|--Component "conference.|Component "chat.|g' /etc/prosody/prosody.cfg.lua
663
-        fi
664
-        if [[ "$(cert_exists xmpp.${DEFAULT_DOMAIN_NAME} pem)" == "1" ]]; then
665
-            sed -i 's|--Component "conference.|Component "xmpp.|g' /etc/prosody/prosody.cfg.lua
666
-        fi
667
-        if [[ "$(cert_exists conference.${DEFAULT_DOMAIN_NAME} pem)" == "1" ]]; then
668
-            sed -i 's|--Component "conference.|Component "conference.|g' /etc/prosody/prosody.cfg.lua
669
-        fi
671
+            cp /etc/ssl/private/xmpp* /etc/prosody/certs
672
+            cp /etc/ssl/private/${DEFAULT_DOMAIN_NAME}* /etc/prosody/certs
673
+            cp /etc/ssl/certs/xmpp* /etc/prosody/certs
674
+            cp /etc/ssl/certs/${DEFAULT_DOMAIN_NAME}* /etc/prosody/certs
675
+            if [ ! /etc/prosody/certs/${DEFAULT_DOMAIN_NAME}.pem ]; then
676
+                if [ ! /etc/prosody/certs/${DEFAULT_DOMAIN_NAME}.crt ]; then
677
+                    mv /etc/prosody/certs/${DEFAULT_DOMAIN_NAME}.crt /etc/prosody/certs/${DEFAULT_DOMAIN_NAME}.pem
678
+                fi
679
+            else
680
+                sed -i "s|/etc/prosody/certs/xmpp.key|/etc/prosody/certs/${DEFAULT_DOMAIN_NAME}.key|g" /etc/prosody/conf.avail/xmpp.cfg.lua
681
+                sed -i "s|/etc/prosody/certs/xmpp.crt|/etc/prosody/certs/${DEFAULT_DOMAIN_NAME}.pem|g" /etc/prosody/conf.avail/xmpp.cfg.lua
670 682
 
671
-        cp /etc/ssl/private/xmpp* /etc/prosody/certs
672
-        cp /etc/ssl/private/${DEFAULT_DOMAIN_NAME}* /etc/prosody/certs
673
-        cp /etc/ssl/certs/xmpp* /etc/prosody/certs
674
-        cp /etc/ssl/certs/${DEFAULT_DOMAIN_NAME}* /etc/prosody/certs
675
-        if [ ! /etc/prosody/certs/${DEFAULT_DOMAIN_NAME}.pem ]; then
676
-            if [ ! /etc/prosody/certs/${DEFAULT_DOMAIN_NAME}.crt ]; then
677
-                mv /etc/prosody/certs/${DEFAULT_DOMAIN_NAME}.crt /etc/prosody/certs/${DEFAULT_DOMAIN_NAME}.pem
683
+                sed -i "s|/etc/prosody/certs/xmpp.key|/etc/prosody/certs/${DEFAULT_DOMAIN_NAME}.key|g" /etc/prosody/prosody.cfg.lua
684
+                sed -i "s|/etc/prosody/certs/xmpp.crt|/etc/prosody/certs/${DEFAULT_DOMAIN_NAME}.pem|g" /etc/prosody/prosody.cfg.lua
678 685
             fi
679
-        else
680
-            sed -i "s|/etc/prosody/certs/xmpp.key|/etc/prosody/certs/${DEFAULT_DOMAIN_NAME}.key|g" /etc/prosody/conf.avail/xmpp.cfg.lua
681
-            sed -i "s|/etc/prosody/certs/xmpp.crt|/etc/prosody/certs/${DEFAULT_DOMAIN_NAME}.pem|g" /etc/prosody/conf.avail/xmpp.cfg.lua
682
-
683
-            sed -i "s|/etc/prosody/certs/xmpp.key|/etc/prosody/certs/${DEFAULT_DOMAIN_NAME}.key|g" /etc/prosody/prosody.cfg.lua
684
-            sed -i "s|/etc/prosody/certs/xmpp.crt|/etc/prosody/certs/${DEFAULT_DOMAIN_NAME}.pem|g" /etc/prosody/prosody.cfg.lua
685
-        fi
686
-        chown -R prosody:prosody /etc/prosody
687
-        chmod -R 700 /etc/prosody/certs/*
688
-        systemctl reload prosody
689
-    fi
690
-
691
-    if [ -d /var/lib/mumble-server ]; then
692
-        if [[ "$(cert_exists ${DEFAULT_DOMAIN_NAME} pem)" == "1" ]]; then
693
-            cp /etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.pem /var/lib/mumble-server/mumble.pem
694
-            cp /etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.dhparam /var/lib/mumble-server/mumble.dhparam
695
-            cp /etc/ssl/private/${DEFAULT_DOMAIN_NAME}.key /var/lib/mumble-server/mumble.key
696
-            chown -R mumble-server:mumble-server /var/lib/mumble-server
697
-            chmod -R 700 /var/lib/mumble-server/${DEFAULT_DOMAIN_NAME}.pem
698
-            chmod -R 700 /var/lib/mumble-server/${DEFAULT_DOMAIN_NAME}.key
699
-            chmod -R 700 /var/lib/mumble-server/${DEFAULT_DOMAIN_NAME}.dhparam
700
-            systemctl reload mumble
686
+            chown -R prosody:prosody /etc/prosody
687
+            chmod -R 700 /etc/prosody/certs/*
688
+            systemctl reload prosody
701 689
         fi
702
-    fi
703
-
704
-    if [ -d /home/znc/.znc ]; then
705
-        echo $'znc found'
706
-        if [[ "$(cert_exists ${DEFAULT_DOMAIN_NAME} pem)" == "1" ]]; then
707
-            pkill znc
708
-            cat /etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.pem /etc/ssl/private/${DEFAULT_DOMAIN_NAME}.key > /home/znc/.znc/znc.pem
709
-            chown znc:znc /home/znc/.znc/znc.pem
710
-            chmod 700 /home/znc/.znc/znc.pem
711 690
 
712
-            sed -i "s|CertFile =.*|CertFile = /etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.pem" /etc/ngircd/ngircd.conf
713
-            sed -i "s|DHFile =.*|DHFile = /etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.dhparam" /etc/ngircd/ngircd.conf
714
-            sed -i "s|KeyFile =.*|KeyFile = /etc/ssl/private/${DEFAULT_DOMAIN_NAME}.key" /etc/ngircd/ngircd.conf
715
-            echo $'irc certificates updated'
691
+        if [ -d /var/lib/mumble-server ]; then
692
+            if [[ "$(cert_exists ${DEFAULT_DOMAIN_NAME} pem)" == "1" ]]; then
693
+                cp /etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.pem /var/lib/mumble-server/mumble.pem
694
+                cp /etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.dhparam /var/lib/mumble-server/mumble.dhparam
695
+                cp /etc/ssl/private/${DEFAULT_DOMAIN_NAME}.key /var/lib/mumble-server/mumble.key
696
+                chown -R mumble-server:mumble-server /var/lib/mumble-server
697
+                chmod -R 700 /var/lib/mumble-server/${DEFAULT_DOMAIN_NAME}.pem
698
+                chmod -R 700 /var/lib/mumble-server/${DEFAULT_DOMAIN_NAME}.key
699
+                chmod -R 700 /var/lib/mumble-server/${DEFAULT_DOMAIN_NAME}.dhparam
700
+                systemctl reload mumble
701
+            fi
702
+        fi
716 703
 
717
-            systemctl restart ngircd
718
-            su -c 'znc' - znc
704
+        if [ -d /home/znc/.znc ]; then
705
+            echo $'znc found'
706
+            if [[ "$(cert_exists ${DEFAULT_DOMAIN_NAME} pem)" == "1" ]]; then
707
+                pkill znc
708
+                cat /etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.pem /etc/ssl/private/${DEFAULT_DOMAIN_NAME}.key > /home/znc/.znc/znc.pem
709
+                chown znc:znc /home/znc/.znc/znc.pem
710
+                chmod 700 /home/znc/.znc/znc.pem
711
+
712
+                sed -i "s|CertFile =.*|CertFile = /etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.pem" /etc/ngircd/ngircd.conf
713
+                sed -i "s|DHFile =.*|DHFile = /etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.dhparam" /etc/ngircd/ngircd.conf
714
+                sed -i "s|KeyFile =.*|KeyFile = /etc/ssl/private/${DEFAULT_DOMAIN_NAME}.key" /etc/ngircd/ngircd.conf
715
+                echo $'irc certificates updated'
716
+
717
+                systemctl restart ngircd
718
+                su -c 'znc' - znc
719
+            fi
719 720
         fi
720
-    fi
721 721
 
722
-    if [ -d /etc/dovecot ]; then
723
-        if ! grep -q "ssl_cert = /etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.pem" /etc/dovecot/conf.d/10-ssl.conf; then
724
-            sed -i "s|#ssl_cert =.*|ssl_cert = /etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.pem|g" /etc/dovecot/conf.d/10-ssl.conf
725
-            sed -i "s|ssl_cert =.*|ssl_cert = /etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.pem|g" /etc/dovecot/conf.d/10-ssl.conf
726
-            systemctl restart dovecot
722
+        if [ -d /etc/dovecot ]; then
723
+            if ! grep -q "ssl_cert = /etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.pem" /etc/dovecot/conf.d/10-ssl.conf; then
724
+                sed -i "s|#ssl_cert =.*|ssl_cert = /etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.pem|g" /etc/dovecot/conf.d/10-ssl.conf
725
+                sed -i "s|ssl_cert =.*|ssl_cert = /etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.pem|g" /etc/dovecot/conf.d/10-ssl.conf
726
+                systemctl restart dovecot
727
+            fi
727 728
         fi
728 729
     fi
729 730
 }