1 changed files with 57 additions and 0 deletions
			
			
		@ -0,0 +1,57 @@ | 
				
			|||||
 | 
					#!/bin/sh | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					################################################################# | 
				
			||||
 | 
					# Script to send the IP address of a host to you using a 	# | 
				
			||||
 | 
					# Telegram bot. This script also adds a cron job, so that the	# | 
				
			||||
 | 
					# bot nofifies you with every boot.				# | 
				
			||||
 | 
					#                                                               # | 
				
			||||
 | 
					# Author:           Maximilian Stiefel                          # | 
				
			||||
 | 
					# Last modified:    26. April 2018                              # | 
				
			||||
 | 
					# CLI usage:        						# | 
				
			||||
 | 
					# Required PKGs:    mail 					# | 
				
			||||
 | 
					#                                                               # | 
				
			||||
 | 
					################################################################# | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					################################################################# | 
				
			||||
 | 
					# Vars								# | 
				
			||||
 | 
					################################################################# | 
				
			||||
 | 
					HOST=$(hostname) | 
				
			||||
 | 
					FILE=`realpath $0` | 
				
			||||
 | 
					NU_PARAMS=2 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					################################################################# | 
				
			||||
 | 
					# Action							# | 
				
			||||
 | 
					################################################################# | 
				
			||||
 | 
					# Check if the expected number of parameters is given.   | 
				
			||||
 | 
					if [ $# != $NU_PARAMS ] | 
				
			||||
 | 
					then | 
				
			||||
 | 
						echo "Error: Illegal number of parameters."	 | 
				
			||||
 | 
						exit 1;  | 
				
			||||
 | 
					fi | 
				
			||||
 | 
					# Get bot token and chat id. | 
				
			||||
 | 
					BOT=$1 | 
				
			||||
 | 
					CHAT_ID=$2 | 
				
			||||
 | 
					URL="https://api.telegram.org/bot$BOT/sendMessage" | 
				
			||||
 | 
					ENTRY="@reboot  $FILE $BOT $CHAT_ID" | 
				
			||||
 | 
					# Wait until we are online. | 
				
			||||
 | 
					while ! wget -q --spider http://google.com ; do true; done | 
				
			||||
 | 
					# Get private IP. | 
				
			||||
 | 
					CURRENT_IP=$(ip addr | grep 'state UP' -A2 | tail -n1 | awk '{print $2}' | cut -f1  -d'/') | 
				
			||||
 | 
					SUBJECT="IP of $HOST: $CURRENT_IP" | 
				
			||||
 | 
					MESSAGE="Hej! Ha en trevlig dag. IP adressen du ville veta är $CURRENT_IP." | 
				
			||||
 | 
					# Instruct bot. | 
				
			||||
 | 
					curl -s -X POST $URL -d chat_id=$CHAT_ID -d text="$MESSAGE" > /dev/null | 
				
			||||
 | 
					echo "Message sent." | 
				
			||||
 | 
					# Grep returns zero if entry is found. | 
				
			||||
 | 
					if ! crontab -l | grep -q "$ENTRY" ; then | 
				
			||||
 | 
						crontab -l > cron | 
				
			||||
 | 
						echo "$ENTRY" >> cron | 
				
			||||
 | 
						crontab cron | 
				
			||||
 | 
						rm cron | 
				
			||||
 | 
						echo "Added $ENTRY"  | 
				
			||||
 | 
						echo "to crontab." | 
				
			||||
 | 
					else | 
				
			||||
 | 
						echo "Crontab entry $ENTRY" | 
				
			||||
 | 
						echo "already exists." | 
				
			||||
 | 
					fi | 
				
			||||
 | 
					exit 0; | 
				
			||||
					Loading…
					
					
				
		Reference in new issue