• Stars
    star
    1,737
  • Rank 26,819 (Top 0.6 %)
  • Language
    Go
  • License
    MIT License
  • Created almost 11 years ago
  • Updated 9 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A public IP API service.

ipify-api

A Simple Public IP Address API

This repository contains the source code for ipify, one of the largest and most popular IP address API services on the internet. ipify serves over 30 billion requests per month!

What does ipify 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 ipify?

ipify 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.

ipify is also fully funded -- it's been running for years and isn't going anywhere. The people behind ipify 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 ipify 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 ipify service. ipify is written in the Go programming language for speed and efficiency purposes. You can read an article written by ipify's creator, Randall Degges, if you'd like more information.

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

Finally, if you'd like to deploy your own instance of ipify, 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, ipify can be ran on any web hosting platform.

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

Building ipify

To develop and build ipify, 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/ipify-api.git ~/go/src/github.com/rdegges/ipify-api

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

$ go build

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

Deploying ipify

If you'd like to deploy your own version of ipify to Heroku, you can do so easily by clicking the button below. This will take you to Heroku and let you instantly provision your own copy of the ipify service.

Deploy

Questions?

Got a question? Please create a Github issue!

More Repositories

1

django-skel

A modern Django (1.5) project skeleton.
Python
518
star
2

django-sslify

Force SSL on your Django site.
Python
336
star
3

django-twilio

A simple library for building twilio-powered Django webapps.
Python
327
star
4

skele-cli

A skeleton command line program in Python.
Python
293
star
5

simpleq

A simple, infinitely scalable, SQS based queue.
Python
165
star
6

flask-dynamo

DynamoDB integration for Flask.
Python
141
star
7

python-ipify

The official client library for ipify: A Simple IP Address API.
Python
138
star
8

cryptocompare

A static website that compares cryptocurrency prices for popular currencies.
HTML
123
star
9

chatapp

A simple WebRTC and Okta front-end app.
JavaScript
122
star
10

go-ipify

The official client library for ipify: A Simple IP Address API.
Go
119
star
11

ss-auth

Stupid Simple Authentication
JavaScript
110
star
12

python-amazonify

The simplest way to build Amazon Affiliate links, in Python.
Python
104
star
13

brute

Simple brute forcing in Python.
Python
101
star
14

django-heroku-memcacheify

Automatic Django memcached configuration on Heroku.
Python
100
star
15

svcc-auth

Demo code for my Silicon Valley Code Camp talk about authentication in Node.js!
JavaScript
97
star
16

pycall

A flexible python library for creating and using Asterisk call files.
Python
92
star
17

django-clear-cache

A simple Django management command which clears your cache.
Python
88
star
18

django-ganalytics

Simple Google Analytics integration for Django.
Python
48
star
19

pelican-minify

An HTML minification plugin for Pelican, the static site generator.
Python
47
star
20

django-heroku-postgresify

Automatic Django database configuration on Heroku.
Python
46
star
21

btc

Buy, sell, and transfer bitcoin instantly in your terminal!
Python
45
star
22

flask-heroku-cacheify

Automatic Flask cache configuration on Heroku.
Python
41
star
23

python-basicauth

An incredibly simple HTTP basic auth implementation.
Python
36
star
24

useragent-api

A random user agent API service.
Python
34
star
25

energy-tracker

A simple script (meant to be run via cron) that tracks your Mac laptop's energy usage in watt hours.
Shell
33
star
26

dot-tmux

My tmux dotfiles.
21
star
27

dot-vim

My vim dotfiles.
Vim Script
16
star
28

rdegges-www

My personal website and blog.
SCSS
10
star
29

flask-simple

SimpleDB integration for Flask.
Python
10
star
30

flask-heroku-rqify

Automatic RQ configuration for your Heroku Flask applications.
Python
10
star
31

dot-git

My git dotfiles.
8
star
32

dot-zsh

My ZSH dotfiles.
Shell
6
star
33

rdegges-blog

My personal writings.
6
star
34

cagi

An Asterisk 1.6+ compatible AGI library in C.
C
5
star
35

dog-name-picker

A Python script I used to pick my dog's name.
Python
4
star
36

node-camels

Easily convert to and from camelCase and under_score notation.
JavaScript
3
star
37

skele

A simple, modern, Express 4.x skeleton.
JavaScript
2
star
38

django-coverage

Fork of the popular django-coverage package.
2
star
39

dot-pip

My pip dotfiles.
2
star
40

bitrich-www

HTML
2
star
41

ice-breaker

A simple cross-platform CLI tool that destroys Amazon Glacier vaults.
Go
1
star
42

iterate-banner

Code I used to generate a cool opening video at the Iterate conference in 2018.
Python
1
star
43

dsobook.club

Source code for the DevSecOps Book Club website.
HTML
1
star
44

rondegges-www

My dad's website.
CSS
1
star
45

postgression-www

The public facing website for postgression.com.
1
star
46

dot-python

Dotfiles for managing Python.
Shell
1
star
47

codehappy-www

The public facing Code Happy website.
Pug
1
star
48

sofind

A simple CLI tool to find good StackOverflow users.
JavaScript
1
star
49

actiontest

testing...
1
star
50

generator-momma

yeoman generator for yo momma
JavaScript
1
star
51

python-data247

An API client for Data 24-7.
Python
1
star