| 
									
										
										
										
											2019-04-01 07:56:06 +00:00
										 |  |  | #!/bin/bash
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Run as root only. | 
					
						
							|  |  |  | myWHOAMI=$(whoami) | 
					
						
							|  |  |  | if [ "$myWHOAMI" != "root" ] | 
					
						
							|  |  |  |   then | 
					
						
							|  |  |  |     echo "Need to run as root ..." | 
					
						
							|  |  |  |     exit | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | myTPOTYMLFILE="/opt/tpot/etc/tpot.yml" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | function fuGENERIC () { | 
					
						
							|  |  |  | echo | 
					
						
							|  |  |  | echo "You chose generic, please provide all the details of the broker" | 
					
						
							|  |  |  | echo | 
					
						
							|  |  |  | myENABLE="true" | 
					
						
							|  |  |  | read -p "Host URL: " myHOST | 
					
						
							|  |  |  | read -p "Port: " myPORT | 
					
						
							|  |  |  | read -p "Channel: " myCHANNEL | 
					
						
							|  |  |  | echo "For generic providers set this to 'false'" | 
					
						
							|  |  |  | echo "If you received a CA certficate mount it into the ewsposter container by modifying $myTPOTYMLFILE" | 
					
						
							|  |  |  | read -p "TLS - 'false' or path to CA in container: " myCERT | 
					
						
							|  |  |  | read -p "Ident: " myIDENT | 
					
						
							|  |  |  | read -p "Secret: " mySECRET | 
					
						
							|  |  |  | read -p "Format ews (xml) or json: " myFORMAT | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | function fuOPTOUT () { | 
					
						
							|  |  |  | echo | 
					
						
							|  |  |  | while [ 1 != 2 ] | 
					
						
							|  |  |  |   do | 
					
						
							|  |  |  |     read -s -n 1 -p "You chose to opt out (y/n)? " mySELECT | 
					
						
							|  |  |  |       echo $mySELECT | 
					
						
							|  |  |  |       case "$mySELECT" in | 
					
						
							|  |  |  |         [y,Y]) | 
					
						
							|  |  |  |           echo "Opt out." | 
					
						
							|  |  |  |           break | 
					
						
							|  |  |  |           ;; | 
					
						
							|  |  |  |         [n,N]) | 
					
						
							|  |  |  |           echo "Aborted." | 
					
						
							|  |  |  |           exit | 
					
						
							|  |  |  |           ;; | 
					
						
							|  |  |  |       esac | 
					
						
							|  |  |  | done | 
					
						
							|  |  |  | myENABLE="false" | 
					
						
							|  |  |  | myHOST="host" | 
					
						
							|  |  |  | myPORT="port" | 
					
						
							|  |  |  | myCHANNEL="channels" | 
					
						
							|  |  |  | myCERT="false" | 
					
						
							|  |  |  | myIDENT="user" | 
					
						
							|  |  |  | mySECRET="secret" | 
					
						
							|  |  |  | myFORMAT="json" | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-05-16 01:09:50 +00:00
										 |  |  | function fuWRITETOFILE () { | 
					
						
							|  |  |  | if [ -f '/data/ews/conf/hpfeeds.cfg' ]; then | 
					
						
							| 
									
										
										
										
											2019-05-16 07:52:17 +00:00
										 |  |  |   echo "Creating backup of current config in /data/ews/conf/hpfeeds.cfg.old" | 
					
						
							| 
									
										
										
										
											2019-05-16 01:09:50 +00:00
										 |  |  |   mv /data/ews/conf/hpfeeds.cfg /data/ews/conf/hpfeeds.cfg.old | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | echo "Storing new config in /data/ews/conf/hpfeeds.cfg" | 
					
						
							| 
									
										
										
										
											2019-05-16 07:52:17 +00:00
										 |  |  | cat >> /data/ews/conf/hpfeeds.cfg <<EOF | 
					
						
							| 
									
										
										
										
											2019-05-16 01:09:50 +00:00
										 |  |  | myENABLE=$myENABLE | 
					
						
							|  |  |  | myHOST=$myHOST | 
					
						
							|  |  |  | myPORT=$myPORT | 
					
						
							|  |  |  | myCHANNEL=$myCHANNEL | 
					
						
							| 
									
										
										
										
											2019-10-21 22:14:48 +00:00
										 |  |  | myCERT=$myCERT | 
					
						
							| 
									
										
										
										
											2019-05-16 01:09:50 +00:00
										 |  |  | myIDENT=$myIDENT | 
					
						
							|  |  |  | mySECRET=$mySECRET | 
					
						
							|  |  |  | myFORMAT=$myFORMAT | 
					
						
							| 
									
										
										
										
											2019-05-16 07:52:17 +00:00
										 |  |  | EOF | 
					
						
							| 
									
										
										
										
											2019-05-16 01:09:50 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-04-01 07:56:06 +00:00
										 |  |  | function fuAPPLY () { | 
					
						
							|  |  |  | echo "Now stopping T-Pot ..." | 
					
						
							|  |  |  | systemctl stop tpot | 
					
						
							| 
									
										
										
										
											2019-06-26 09:15:29 +00:00
										 |  |  | echo "Applying your settings to tpot.yml ... " | 
					
						
							| 
									
										
										
										
											2019-04-01 09:59:27 +00:00
										 |  |  | sed --follow-symlinks -i "s/EWS_HPFEEDS_ENABLE.*/EWS_HPFEEDS_ENABLE=${myENABLE}/g" "$myTPOTYMLFILE" | 
					
						
							|  |  |  | sed --follow-symlinks -i "s/EWS_HPFEEDS_HOST.*/EWS_HPFEEDS_HOST=${myHOST}/g" "$myTPOTYMLFILE" | 
					
						
							|  |  |  | sed --follow-symlinks -i "s/EWS_HPFEEDS_PORT.*/EWS_HPFEEDS_PORT=${myPORT}/g" "$myTPOTYMLFILE" | 
					
						
							|  |  |  | sed --follow-symlinks -i "s/EWS_HPFEEDS_CHANNELS.*/EWS_HPFEEDS_CHANNELS=${myCHANNEL}/g" "$myTPOTYMLFILE" | 
					
						
							|  |  |  | sed --follow-symlinks -i "s#EWS_HPFEEDS_TLSCERT.*#EWS_HPFEEDS_TLSCERT=${myCERT}#g" "$myTPOTYMLFILE" | 
					
						
							|  |  |  | sed --follow-symlinks -i "s/EWS_HPFEEDS_IDENT.*/EWS_HPFEEDS_IDENT=${myIDENT}/g" "$myTPOTYMLFILE" | 
					
						
							|  |  |  | sed --follow-symlinks -i "s/EWS_HPFEEDS_SECRET.*/EWS_HPFEEDS_SECRET=${mySECRET}/g" "$myTPOTYMLFILE" | 
					
						
							|  |  |  | sed --follow-symlinks -i "s/EWS_HPFEEDS_FORMAT.*/EWS_HPFEEDS_FORMAT=${myFORMAT}/g" "$myTPOTYMLFILE" | 
					
						
							| 
									
										
										
										
											2019-04-01 07:56:06 +00:00
										 |  |  | echo "Now starting T-Pot ..." | 
					
						
							|  |  |  | systemctl start tpot | 
					
						
							| 
									
										
										
										
											2019-05-16 07:59:52 +00:00
										 |  |  | echo "You can always change or review your settings in /data/ews/conf/hpfeeds.cfg and apply changes by" | 
					
						
							|  |  |  | echo "running \"./hpfeeds_optin.sh --conf=/data/ews/conf/hpfeeds.cfg\"" | 
					
						
							| 
									
										
										
										
											2019-04-01 07:56:06 +00:00
										 |  |  | echo "Done." | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-05-16 01:09:50 +00:00
										 |  |  | # Check for cmdline argument and parse config file | 
					
						
							|  |  |  | filename=$(echo $@ | cut -d= -f2) | 
					
						
							|  |  |  | if [ $# == 1 ] && echo $@ | grep '\-\-conf=' > /dev/null && [ ! -z $filename ] && [ -f $filename ] | 
					
						
							|  |  |  |   then | 
					
						
							|  |  |  |     source $filename | 
					
						
							|  |  |  | else | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Proceed with interactive setup when no config file is found | 
					
						
							| 
									
										
										
										
											2019-04-01 07:56:06 +00:00
										 |  |  | echo "HPFEEDS Delivery Opt-In for T-Pot" | 
					
						
							|  |  |  | echo "---------------------------------" | 
					
						
							|  |  |  | echo "By running this script you agree to share your data with a 3rd party and agree to their corresponding sharing terms." | 
					
						
							|  |  |  | echo | 
					
						
							|  |  |  | echo | 
					
						
							|  |  |  | echo "Please choose your broker" | 
					
						
							|  |  |  | echo "---------------------------" | 
					
						
							| 
									
										
										
										
											2020-02-14 15:28:06 +00:00
										 |  |  | echo "[1] - Generic (enter details manually)" | 
					
						
							| 
									
										
										
										
											2019-04-01 07:56:06 +00:00
										 |  |  | echo "[0] - Opt out of HPFEEDS" | 
					
						
							|  |  |  | echo "[q] - Do not agree end exit" | 
					
						
							|  |  |  | echo | 
					
						
							|  |  |  | while [ 1 != 2 ] | 
					
						
							|  |  |  |   do | 
					
						
							|  |  |  |     read -s -n 1 -p "Your choice: " mySELECT | 
					
						
							|  |  |  |       echo $mySELECT | 
					
						
							|  |  |  |       case "$mySELECT" in | 
					
						
							|  |  |  |         [1]) | 
					
						
							|  |  |  | 	  fuGENERIC | 
					
						
							|  |  |  |           break | 
					
						
							|  |  |  |           ;; | 
					
						
							|  |  |  |         [0]) | 
					
						
							|  |  |  | 	  fuOPTOUT | 
					
						
							|  |  |  |           break | 
					
						
							|  |  |  |           ;; | 
					
						
							|  |  |  |         [q,Q]) | 
					
						
							|  |  |  | 	  echo "Aborted." | 
					
						
							|  |  |  |           exit | 
					
						
							|  |  |  |           ;; | 
					
						
							|  |  |  |       esac | 
					
						
							|  |  |  | done | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-05-16 01:09:50 +00:00
										 |  |  | fi | 
					
						
							|  |  |  | fuWRITETOFILE | 
					
						
							|  |  |  | fuAPPLY |