|  | @@ -120,6 +120,12 @@ function remove_zeronet {
 | 
	
		
			
			| 120 | 120 |  	if ! grep -Fxq "install_zeronet" $COMPLETION_FILE; then
 | 
	
		
			
			| 121 | 121 |  		return
 | 
	
		
			
			| 122 | 122 |  	fi
 | 
	
		
			
			|  | 123 | +	if [ -f /etc/systemd/system/mesh-sync.service ]; then
 | 
	
		
			
			|  | 124 | +		systemctl stop mesh-sync
 | 
	
		
			
			|  | 125 | +		systemctl disable mesh-sync
 | 
	
		
			
			|  | 126 | +		rm -f /etc/systemd/system/mesh-sync.service
 | 
	
		
			
			|  | 127 | +		systemctl daemon-reload
 | 
	
		
			
			|  | 128 | +	fi
 | 
	
		
			
			| 123 | 129 |  	iptables -D INPUT -i $WIFI_INTERFACE -p udp --dport $ZERONET_PORT -j ACCEPT
 | 
	
		
			
			| 124 | 130 |  	iptables -D INPUT -i $WIFI_INTERFACE -p tcp --dport $ZERONET_PORT -j ACCEPT
 | 
	
		
			
			| 125 | 131 |  	iptables -D INPUT -i $WIFI_INTERFACE -p udp --dport $TRACKER_PORT -j ACCEPT
 | 
	
	
		
			
			|  | @@ -555,7 +561,34 @@ function mesh_zeronet {
 | 
	
		
			
			| 555 | 561 |  	chroot "$rootdir" chown -R tracker:tracker $MESH_INSTALL_DIR/tracker
 | 
	
		
			
			| 556 | 562 |  
 | 
	
		
			
			| 557 | 563 |  	# publish regularly
 | 
	
		
			
			| 558 |  | -	echo "*/1 *     * * *   root    /usr/local/bin/zeronetavahi > /dev/null" >> $rootdir/etc/crontab
 | 
	
		
			
			|  | 564 | +	MESH_SYNC_COMMAND=$rootdir/usr/bin/mesh-sync
 | 
	
		
			
			|  | 565 | +	echo '#!/bin/bash' > $MESH_SYNC_COMMAND
 | 
	
		
			
			|  | 566 | +	echo 'while true' >> $MESH_SYNC_COMMAND
 | 
	
		
			
			|  | 567 | +	echo 'do' >> $MESH_SYNC_COMMAND
 | 
	
		
			
			|  | 568 | +	echo '    /usr/bin/timeout 20 /usr/local/bin/toxavahi' >> $MESH_SYNC_COMMAND
 | 
	
		
			
			|  | 569 | +	echo '    /usr/bin/timeout 20 /usr/local/bin/zeronetavahi' >> $MESH_SYNC_COMMAND
 | 
	
		
			
			|  | 570 | +	echo '    sleep 5' >> $MESH_SYNC_COMMAND
 | 
	
		
			
			|  | 571 | +	echo 'done' >> $MESH_SYNC_COMMAND
 | 
	
		
			
			|  | 572 | +	chmod +x $MESH_SYNC_COMMAND
 | 
	
		
			
			|  | 573 | +
 | 
	
		
			
			|  | 574 | +	if [ ! -f $rootdir/etc/systemd/system/mesh-sync.service ]; then
 | 
	
		
			
			|  | 575 | +		MESH_SYNC_FILENAME=$rootdir/etc/systemd/system/mesh-sync.service
 | 
	
		
			
			|  | 576 | +		echo '[Unit]' > $MESH_SYNC_FILENAME
 | 
	
		
			
			|  | 577 | +		echo 'Description=mesh-sync - Service publications over avahi' >> $MESH_SYNC_FILENAME
 | 
	
		
			
			|  | 578 | +		echo 'After=network.target' >> $MESH_SYNC_FILENAME
 | 
	
		
			
			|  | 579 | +		echo '' >> $MESH_SYNC_FILENAME
 | 
	
		
			
			|  | 580 | +		echo '[Service]' >> $MESH_SYNC_FILENAME
 | 
	
		
			
			|  | 581 | +		echo 'User=root' >> $MESH_SYNC_FILENAME
 | 
	
		
			
			|  | 582 | +		echo 'ExecStart=/usr/bin/mesh-sync' >> $MESH_SYNC_FILENAME
 | 
	
		
			
			|  | 583 | +		echo 'Restart=on-failure' >> $MESH_SYNC_FILENAME
 | 
	
		
			
			|  | 584 | +		echo 'SuccessExitStatus=3 4' >> $MESH_SYNC_FILENAME
 | 
	
		
			
			|  | 585 | +		echo 'RestartForceExitStatus=3 4' >> $MESH_SYNC_FILENAME
 | 
	
		
			
			|  | 586 | +		echo '' >> $MESH_SYNC_FILENAME
 | 
	
		
			
			|  | 587 | +		echo '[Install]' >> $MESH_SYNC_FILENAME
 | 
	
		
			
			|  | 588 | +		echo 'WantedBy=multi-user.target' >> $MESH_SYNC_FILENAME
 | 
	
		
			
			|  | 589 | +
 | 
	
		
			
			|  | 590 | +		chroot "$rootdir" systemctl enable mesh-sync.service
 | 
	
		
			
			|  | 591 | +	fi
 | 
	
		
			
			| 559 | 592 |  
 | 
	
		
			
			| 560 | 593 |  	chroot "$rootdir" systemctl enable tracker.service
 | 
	
		
			
			| 561 | 594 |  	chroot "$rootdir" systemctl enable zeronet.service
 |