Kaynağa Gözat

Publish Tox IDs

Bob Mottram 10 yıl önce
ebeveyn
işleme
c8537bb337
1 değiştirilmiş dosya ile 63 ekleme ve 0 silme
  1. 63
    0
      src/freedombone

+ 63
- 0
src/freedombone Dosyayı Görüntüle

@@ -8142,6 +8142,68 @@ quit" > $INSTALL_DIR/batch.sql
8142 8142
   echo 'install_gogs' >> $COMPLETION_FILE
8143 8143
 }
8144 8144
 
8145
+function tox_avahi {
8146
+  if [[ $SYSTEM_TYPE != "$VARIANT_MESH" ]]; then
8147
+      return
8148
+  fi
8149
+  if grep -Fxq "tox_avahi" $COMPLETION_FILE; then
8150
+      return
8151
+  fi
8152
+
8153
+  if [ ! -d /etc/avahi ]; then
8154
+      echo 'tox_avahi: avahi is not installed'
8155
+      exit 87359
8156
+  fi
8157
+  
8158
+  # install a command to obtain the Tox ID
8159
+  cd $INSTALL_DIR
8160
+  git clone https://github.com/bashrc/toxid
8161
+  if [ ! -d $INSTALL_DIR/toxid ]; then
8162
+      exit 63921
8163
+  fi
8164
+  cd $INSTALL_DIR/toxid
8165
+  make
8166
+  if [ ! "$?" = "0" ]; then
8167
+      exit 58432
8168
+  fi
8169
+  make install  
8170
+
8171
+  # script to publish the tox user
8172
+  if [ ! -f /usr/bin/publish-to-avahi ]; then
8173
+      echo '#!/bin/bash' > /usr/bin/publish-to-avahi
8174
+  fi
8175
+  echo '' >> /usr/bin/publish-to-avahi
8176
+  echo "DATA_FILE=/home/$MY_USERNAME/.config/tox/data" >> /usr/bin/publish-to-avahi
8177
+  echo 'if [ ! -f $DATA_FILE ]; then' >> /usr/bin/publish-to-avahi
8178
+  echo '    exit 0' >> /usr/bin/publish-to-avahi
8179
+  echo 'fi' >> /usr/bin/publish-to-avahi
8180
+  echo '' >> /usr/bin/publish-to-avahi
8181
+  echo -n 'TOX_ID=$(/usr/bin/toxid -u ' >> /usr/bin/publish-to-avahi
8182
+  echo "$MY_USERNAME)" >> /usr/bin/publish-to-avahi
8183
+  echo '' >> /usr/bin/publish-to-avahi
8184
+
8185
+  echo "echo \"<?xml version=\"1.0\" standalone=\"no\"?><!--*-nxml-*-->\" > /etc/avahi/services/tox.service" >> /usr/bin/publish-to-avahi
8186
+  echo "echo '<!DOCTYPE service-group SYSTEM \"avahi-service.dtd\">' >> /etc/avahi/services/tox.service" >> /usr/bin/publish-to-avahi
8187
+  echo "echo '<service-group>' >> /etc/avahi/services/tox.service" >> /usr/bin/publish-to-avahi
8188
+  echo "echo '  <name replace-wildcards=\"yes\">%h $TOX_ID</name>' >> /etc/avahi/services/tox.service" >> /usr/bin/publish-to-avahi
8189
+  echo "echo '  <service>' >> /etc/avahi/services/ssh.service" >> /usr/bin/publish-to-avahi
8190
+  echo "echo '    <type>_tox._tcp</type>' >> /etc/avahi/services/ssh.service" >> /usr/bin/publish-to-avahi
8191
+  echo "echo \"    <port>$TOX_PORT</port>\" >> /etc/avahi/services/ssh.service" >> /usr/bin/publish-to-avahi
8192
+  echo "echo '  </service>' >> /etc/avahi/services/ssh.service" >> /usr/bin/publish-to-avahi
8193
+  echo "echo '</service-group>' >> /etc/avahi/services/ssh.service" >> /usr/bin/publish-to-avahi
8194
+
8195
+  echo '' >> /usr/bin/publish-to-avahi
8196
+  echo 'exit 0' >> /usr/bin/publish-to-avahi
8197
+  chmod +x /usr/bin/publish-to-avahi
8198
+
8199
+  # publish regularly
8200
+  if ! grep -Fxq "publish-to-avahi" /etc/crontab; then
8201
+      echo '*/1            * *   *   *   root /usr/bin/publish-to-avahi > /dev/null' >> /etc/crontab
8202
+  fi
8203
+  
8204
+  echo 'tox_avahi' >> $COMPLETION_FILE  
8205
+}
8206
+
8145 8207
 function install_tox_node {
8146 8208
   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" ]]; then
8147 8209
       return
@@ -10387,6 +10449,7 @@ install_gogs
10387 10449
 install_xmpp
10388 10450
 install_tox_node
10389 10451
 install_tox_client
10452
+tox_avahi
10390 10453
 configure_firewall_for_xmpp
10391 10454
 install_irc_server
10392 10455
 configure_firewall_for_irc