Skip to content

A public IP API service.

License

Notifications You must be signed in to change notification settings

cloud-unpacked/ippi

Repository files navigation

Cloud Unpacked

Cloud Unpacked - iPPi

A simple public IP address API

Software License Mastodon Follow Go Report Card CI Status

This project is brand new and in alpha right now. You may notice a lack of polish and/or drastic changes.

What does iPPi do?

Have you ever needed to pragmatically get your public IP address? This is quite common for developers provisioning cloud servers, for instance, where you might be creating servers and running bootstrapping software on them without access to server metadata.

Being able to quickly and reliably get access to your public IP address is essential for configuring DNS, managing external services, and a number of other operationally related tasks.

In general, there are a number of uses for public IP address information.

What is iPPi?

iPPi is a free API service anyone can use to get their public IP address. It is highly reliable (built on top of Heroku) and fast. Typical response times (server side) are between 1ms and 10ms.

iPPi is also fully funded -- it's been running for years and isn't going anywhere. The people behind iPPi cover all expenses and maintenance, so you can feel safe integrating with it knowing it won't be disappearing.

If you'd like to use iPPi in your application, no permission is needed. You can immediately start using the service without any restrictions. Simply visit our public website for more information.

What is this project?

This project is the source code that powers the iPPi service. iPPi is written in the Go programming language for speed and efficiency purposes. You can read an article written by iPPi's creator, Randall Degges, if you'd like more information.

If you'd like to contribute to iPPi's development, you can do so here. Pull requests are encouraged.

Finally, if you'd like to deploy your own instance of iPPi, you can easily do so. Compiling this project will produce a single statically linked binary that is designed to be run on Heroku. With minor modification, iPPi can be ran on any web hosting platform.

Please contact Randall if you need assistance deploying your own copy of iPPi onto a non-Heroku host.

Building iPPi

To develop and build iPPi, you'll need to have the Go programming language setup on your computer. If you don't, you can read more about it here: https://golang.org/

Once you have Go installed, you'll need to clone this project into your computer's GOPATH. For me, this means I'll typically do something like:

$ git clone https://github.com/rdegges/iPPi-api.git ~/go/src/github.com/rdegges/iPPi-api

To build the project, change to the project directory and run:

$ go build

This will create the iPPi-api binary in the current directory that you can use for testing.

Questions?

Got a question? Please create a GitHub issue!