Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- ENVI="$HOME/.config/environment/externalIP"
- CURRENTIP=$(<"$ENVI")
- NEWIP=$(curl --silent -4 ifconfig.me)
- ## STATIC FOR SCAWS ONLY ##
- GROUPID="sg-e90aa08d"
- printf "Current IP: %s\n" "$NEWIP"
- printf "Last logged IP: %s\n" "$CURRENTIP"
- printf "Security Group: %s\n" "$GROUPID"
- if [[ "$CURRENTIP" != "$NEWIP" ]]; then
- # UPDATE LOCAL FILE
- echo "$NEWIP" > ~/.config/externalIP
- ## FORMAT IPs ##
- CURRENTIP+="/32"
- NEWIP+="/32"
- # REVOKE EXISTING RULES TCP Ports 22, 1125, 5201 & UDP port 5201
- printf " aws ec2 revoke-security-group-ingress --group-id "$GROUPID" --protocol tcp --port 1125 --cidr "$CURRENTIP" "
- exit
- aws ec2 revoke-security-group-ingress --group-id "$GROUPID" --protocol tcp --port 5201 --cidr "$CURRENTIP"
- aws ec2 revoke-security-group-ingress --group-id "$GROUPID" --protocol tcp --port 22 --cidr "$CURRENTIP"
- aws ec2 revoke-security-group-ingress --group-id "$GROUPID" --protocol UDP --port 5201 --cidr "$CURRENTIP"
- # ADD NEW RULES WITH NEW IP
- aws ec2 authorize-security-group-ingress --group-id "$GROUPID" --protocol tcp --port 22 --cidr "$NEWIP"
- aws ec2 authorize-security-group-ingress --group-id "$GROUPID" --protocol tcp --port 1125 --cidr "$NEWIP"
- aws ec2 authorize-security-group-ingress --group-id "$GROUPID" --protocol tcp --port 5201 --cidr "$NEWIP"
- aws ec2 authorize-security-group-ingress --group-id "$GROUPID" --protocol udp --port 5201 --cidr "$NEWIP"
- # ADD DESCRIPTION TO NEW RULE
- aws ec2 update-security-group-rule-descriptions-ingress --group-id "$GROUPID" --ip-permissions "'[{\"IpProtocol\":\"tcp\",\"FromPort\":22,\"ToPort\":22,\"IpRanges\":[{\"CidrIp\":\"$NEWIP\",\"Description\":\"$USER Home\"}]]'"
- aws ec2 update-security-group-rule-descriptions-ingress --group-id "$GROUPID" --ip-permissions "'[{\"IpProtocol\":\"tcp\",\"FromPort\":1125,\"ToPort\":1125,\"IpRanges\":[{\"CidrIp\":\"$NEWIP\",\"Description\":\"$USER Home\"}]]'"
- aws ec2 update-security-group-rule-descriptions-ingress --group-id "$GROUPID" --ip-permissions "'[{\"IpProtocol\":\"tcp\",\"FromPort\":5201,\"ToPort\":5201,\"IpRanges\":[{\"CidrIp\":\"$NEWIP\",\"Description\":\"$USER Home\"}]]'"
- aws ec2 update-security-group-rule-descriptions-ingress --group-id "$GROUPID" --ip-permissions "'[{\"IpProtocol\":\"udp\",\"FromPort\":5201,\"ToPort\":5201,\"IpRanges\":[{\"CidrIp\":\"$NEWIP\",\"Description\":\"$USER Home\"}]]'"
- elif [[ "$CURRENTIP" == "$NEWIP" ]]; then
- date
- printf "Public IP, %s$CURRENTIP, is unchagned.\n"
- fi
Add Comment
Please, Sign In to add comment