Browse Source

Create avahi service entries for onion sites

Bob Mottram 9 years ago
parent
commit
806175237b
1 changed files with 65 additions and 5 deletions
  1. 65
    5
      src/freedombone

+ 65
- 5
src/freedombone View File

@@ -1224,25 +1224,83 @@ function set_default_onion_domains {
1224 1224
     fi
1225 1225
 
1226 1226
     if [ $OWNCLOUD_DOMAIN_NAME ]; then
1227
-        OWNCLOUD_DOMAIN_NAME='owncloud.onion'
1227
+        OWNCLOUD_DOMAIN_NAME='owncloud.local'
1228 1228
     fi
1229 1229
     if [ $MICROBLOG_DOMAIN_NAME ]; then
1230
-        MICROBLOG_DOMAIN_NAME='microblog.onion'
1230
+        MICROBLOG_DOMAIN_NAME='microblog.local'
1231 1231
     fi
1232 1232
     if [ $FULLBLOG_DOMAIN_NAME ]; then
1233
-        FULLBLOG_DOMAIN_NAME='blog.onion'
1233
+        FULLBLOG_DOMAIN_NAME='blog.local'
1234 1234
     fi
1235 1235
     if [ $GIT_DOMAIN_NAME ]; then
1236
-        GIT_DOMAIN_NAME='git.onion'
1236
+        GIT_DOMAIN_NAME='git.local'
1237 1237
     fi
1238 1238
     if [ $WIKI_DOMAIN_NAME ]; then
1239
-        WIKI_DOMAIN_NAME='wiki.onion'
1239
+        WIKI_DOMAIN_NAME='wiki.local'
1240 1240
     fi
1241 1241
     if [ $DEFAULT_DOMAIN_NAME ]; then
1242 1242
         DEFAULT_DOMAIN_NAME="${PROJECT_NAME}.local"
1243 1243
     fi
1244 1244
 }
1245 1245
 
1246
+function create_avahi_onion_domains {
1247
+    if [ $OWNCLOUD_DOMAIN_NAME ]; then
1248
+        echo '<?xml version="1.0" standalone="no"?><!--*-nxml-*-->' > /etc/avahi/services/owncloud.service
1249
+        echo '<!DOCTYPE service-group SYSTEM "avahi-service.dtd">' >> /etc/avahi/services/owncloud.service
1250
+        echo '<service-group>' >> /etc/avahi/services/owncloud.service
1251
+        echo '  <name replace-wildcards="yes">%h HTTP</name>' >> /etc/avahi/services/owncloud.service
1252
+        echo '  <service>' >> /etc/avahi/services/owncloud.service
1253
+        echo '    <type>_http._tcp</type>' >> /etc/avahi/services/owncloud.service
1254
+        echo "    <port>$OWNCLOUD_ONION_PORT</port>" >> /etc/avahi/services/owncloud.service
1255
+        echo '  </service>' >> /etc/avahi/services/owncloud.service
1256
+        echo '</service-group>' >> /etc/avahi/services/owncloud.service
1257
+    fi
1258
+    if [ $MICROBLOG_DOMAIN_NAME ]; then
1259
+        echo '<?xml version="1.0" standalone="no"?><!--*-nxml-*-->' > /etc/avahi/services/microblog.service
1260
+        echo '<!DOCTYPE service-group SYSTEM "avahi-service.dtd">' >> /etc/avahi/services/microblog.service
1261
+        echo '<service-group>' >> /etc/avahi/services/microblog.service
1262
+        echo '  <name replace-wildcards="yes">%h HTTP</name>' >> /etc/avahi/services/microblog.service
1263
+        echo '  <service>' >> /etc/avahi/services/microblog.service
1264
+        echo '    <type>_http._tcp</type>' >> /etc/avahi/services/microblog.service
1265
+        echo "    <port>$MICROBLOG_ONION_PORT</port>" >> /etc/avahi/services/microblog.service
1266
+        echo '  </service>' >> /etc/avahi/services/microblog.service
1267
+        echo '</service-group>' >> /etc/avahi/services/microblog.service
1268
+    fi
1269
+    if [ $FULLBLOG_DOMAIN_NAME ]; then
1270
+        echo '<?xml version="1.0" standalone="no"?><!--*-nxml-*-->' > /etc/avahi/services/blog.service
1271
+        echo '<!DOCTYPE service-group SYSTEM "avahi-service.dtd">' >> /etc/avahi/services/blog.service
1272
+        echo '<service-group>' >> /etc/avahi/services/blog.service
1273
+        echo '  <name replace-wildcards="yes">%h HTTP</name>' >> /etc/avahi/services/blog.service
1274
+        echo '  <service>' >> /etc/avahi/services/blog.service
1275
+        echo '    <type>_http._tcp</type>' >> /etc/avahi/services/blog.service
1276
+        echo "    <port>$BLOG_ONION_PORT</port>" >> /etc/avahi/services/blog.service
1277
+        echo '  </service>' >> /etc/avahi/services/blog.service
1278
+        echo '</service-group>' >> /etc/avahi/services/blog.service
1279
+    fi
1280
+    if [ $GIT_DOMAIN_NAME ]; then
1281
+        echo '<?xml version="1.0" standalone="no"?><!--*-nxml-*-->' > /etc/avahi/services/git.service
1282
+        echo '<!DOCTYPE service-group SYSTEM "avahi-service.dtd">' >> /etc/avahi/services/git.service
1283
+        echo '<service-group>' >> /etc/avahi/services/git.service
1284
+        echo '  <name replace-wildcards="yes">%h HTTP</name>' >> /etc/avahi/services/git.service
1285
+        echo '  <service>' >> /etc/avahi/services/git.service
1286
+        echo '    <type>_http._tcp</type>' >> /etc/avahi/services/git.service
1287
+        echo "    <port>$GIT_ONION_PORT</port>" >> /etc/avahi/services/git.service
1288
+        echo '  </service>' >> /etc/avahi/services/git.service
1289
+        echo '</service-group>' >> /etc/avahi/services/git.service
1290
+    fi
1291
+    if [ $WIKI_DOMAIN_NAME ]; then
1292
+        echo '<?xml version="1.0" standalone="no"?><!--*-nxml-*-->' > /etc/avahi/services/wiki.service
1293
+        echo '<!DOCTYPE service-group SYSTEM "avahi-service.dtd">' >> /etc/avahi/services/wiki.service
1294
+        echo '<service-group>' >> /etc/avahi/services/wiki.service
1295
+        echo '  <name replace-wildcards="yes">%h HTTP</name>' >> /etc/avahi/services/wiki.service
1296
+        echo '  <service>' >> /etc/avahi/services/wiki.service
1297
+        echo '    <type>_http._tcp</type>' >> /etc/avahi/services/wiki.service
1298
+        echo "    <port>$WIKI_ONION_PORT</port>" >> /etc/avahi/services/wiki.service
1299
+        echo '  </service>' >> /etc/avahi/services/wiki.service
1300
+        echo '</service-group>' >> /etc/avahi/services/wiki.service
1301
+    fi
1302
+}
1303
+
1246 1304
 # check an individual domain name
1247 1305
 function test_domain_name {
1248 1306
     if [ $1 ]; then
@@ -3272,6 +3330,7 @@ function initial_setup {
3272 3330
     apt-get -y dist-upgrade
3273 3331
     apt-get -y install ca-certificates emacs24 cpulimit
3274 3332
     apt-get -y install cryptsetup libgfshare-bin obnam sshpass wget
3333
+    apt-get -y install avahi-daemon avahi-utils avahi-discover
3275 3334
 
3276 3335
     echo 'initial_setup' >> $COMPLETION_FILE
3277 3336
 }
@@ -9428,6 +9487,7 @@ letsencrypt_renewals
9428 9487
 install_zeronet
9429 9488
 install_watchdog_script
9430 9489
 configure_avahi
9490
+create_avahi_onion_domains
9431 9491
 install_zeronet_blog
9432 9492
 install_zeronet_mail
9433 9493
 install_zeronet_forum