This commit is contained in:
Shihaam Abdul Rahman 2021-10-27 07:57:34 +05:00
parent d38e1b5476
commit 604bedb66c
3 changed files with 71 additions and 1 deletions

View File

@ -1 +1,39 @@
# telegram-ping-ip
# Telegram Bot for Sending IP-address of a server if Dynamic IP has changed.
** Inspired by [indicozy/telegram-ping-ip](https://github.com/indicozy/telegram-ping-ip)
## Getting started.
### Requirements:
* `curl` - Install with whatever package manager you use
* `screen` - *Optional* requirement to run script in background.
### Clone repo and Configure
```bash
git clone https://github.com/shihaamabr/telegram-ping-ip.git
cd telegram-ping-ip
chmod +x telegram-ping-ip.sh screen-telegram-ping-ip.sh
cp env.sample .env
```
- Edit the contents of .env to your config (`nano .env`)
### Execute the script
```bash
./telegram-ping-ip.sh
```
### Run the script in a screen
```bash
./screen-telegram-ping-ip.sh
```
### Automatically run the script on system boot up
* Add it to a crontab `crontab -e` \
```
@reboot /bin/bash /path/to/telegram-ping-ip/screen-telegram-ping-ip.sh
```
## Future plans
* create a daemon, idk, it seems interesting
## Additional Information
**FYI IT pings to `whatismyip.shihaam.me` by default, this can be configured in .env to use `ifconfig.me` or whatever else server.**
## Bugs
- [You tell me :)](https://github.com/shihaamabr/telegram-ping-ip/issues/new)

7
env.sample Normal file
View File

@ -0,0 +1,7 @@
TG_BOT_TOKEN='' #Your Telegram Bot API Token, Contact @BotFather on Telegram to obtain token
TG_CHATID='' #Your Telegram chat ID, This could be your user, group, supergroup or channel ID, add "-100" first if supergroup or channel
#Optional Config
DELAY='3600' #Defines how often in seconds to check for IP address changes
TG_BOTAPI='https://api.telegram.org/bot' #Change if you'd like to use another Telegram Bot API host
WHATISMYIP='https://whatismyip.shihaam.me' #Website that returns visitor IP address, (eg: https://ifconfig.me/ip/)

25
telegram-ping-ip.sh Normal file
View File

@ -0,0 +1,25 @@
#!/bin/bash
source .env 2> /dev/null #Import Credentials
#Check for missing configration
if [ ! -f .env ] || [ "$TG_BOT_TOKEN" = "" ] || [ "$TG_CHATID" = "" ]
then
echo Not Configured! Please 'cp env.sample .env' edit .env and run this script again.
fi
FethchIP(){
NEW_IP=$(curl -s $WHATISMYIP)
}
SendToTelegram(){
curl -s $TG_BOTAPI$TG_BOT_TOKEN/sendMessage?chat_id=$TG_CHATID'&'text=IP%20is%20$NEW_IP > /dev/null
}
while true; do
FethchIP
if [ "$NEW_IP" != "$OLD_IP" ]
then
SendToTelegram
OLD_IP=$NEW_IP
:
fi
sleep $DELAY
done