https://github.com/borud/ipquery
Tiny service that just tells you what your IP is
https://github.com/borud/ipquery
Last synced: 30 days ago
JSON representation
Tiny service that just tells you what your IP is
- Host: GitHub
- URL: https://github.com/borud/ipquery
- Owner: borud
- Created: 2020-10-25T23:56:38.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2020-10-26T10:49:18.000Z (over 5 years ago)
- Last Synced: 2025-02-24T10:43:54.441Z (over 1 year ago)
- Language: Go
- Size: 3.26 MB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ipquery
This project contains two binaries. One is a picoservice to tell you
what your IP address is. The other is a utility to update your
Network ACL on AWS.
This is useful if you do not have a fixed IP address and you
periodically need to update your network ACL to reflect your current
IP address.
## Installing
You can install the update-acl utility by issuing the following command:
go get -u github.com/borud/ipquery/cmd/update-acl
## update-acl
Update ACL figures out what your externally visible IP address is by
calling the `ipquery` picoservice. By default the `update-acl`
program uses my personal service, but if you are going to use this I
would strongly suggest you set up your own since I can't guarantee
the stability of this service.
You can view the command line options by running `update-acl -h`:
$ bin/update-acl -h
Usage:
update-acl [OPTIONS]
Application Options:
-s, --whatismyip-url= WhatIsMyIP service URL (default: https://h.borud.no/whatismyip)
-a, --network-acl-id= Network ACL ID
-p, --port= Port number (default: 22)
-t, --protocol-type= 6 is TCP, 17 is UDP (default: 6)
-n, --rule-number= ACL rule number
-r, --aws-region= AWS region (default: eu-north-1)
-d, --dry-run Dry run only
Help Options:
-h, --help Show this help message
### Using scripts
One way to make updating ACLs a bit more convenient is to create
shellscripts that contain the configurations for your different
environments. Here is an example:
#!/bin/sh
#
#
WHATISMYIP_URL=
NETWORK_ACL_ID=
AWS_REGION=
PORT=
RULE_ID=
update-acl \
-s $WHATISMYIP_URL \
-a $NETWORK_ACL_ID \
-r $AWS_REGION \
-p $PORT \
-n $RULE_ID
### Credentials
Since we use the AWS Go SDK you have to set up your credentials so
please have a look at this page on how to get this done:
https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html