Categorygithub.com/oftn-oswg/ipcat
modulepackage
0.0.0-20180517005950-a8ecd7ee10a8
Repository: https://github.com/oftn-oswg/ipcat.git
Documentation: pkg.go.dev

# README

ipcat: datasets for categorizing IP addresses.

Build Status Go Report Card GoDoc Coverage

This is a list of IPv4 address that correspond to datacenters, co-location centers, shared and virtual webhosting providers. In other words, ip addresses that end web consumers should not be using.

Licensing -- GPL v3

The data is licensed under GPL v3, see COPYING for details.

Relaxations and commercial licensing are gladly available by request. The use of GPL is to prevent commercial data providers from scooping up this data without compensation or attribution.

This may be changed to another less restrictive license later.

Statistics

Check out the new datacenter stats

What is the file format?

Standard CSV with ip-start, ip-end (inclusive, in dot-notation), name of provider, url of provider. IP ranges are non-overlapping, and in sorted order.

Why is hosting provider XXX is missing?

It might not be. Many providers are resellers of another and will be included under another name or ip range.

Also, as of 16-Oct-2011, many locations from Africa, Latin America, Korea and Japan are missing.

Or, it might just be missing. Please let us know!

Why GitHub + CSV?

The goal of the file format and the use of github was designed to make it really easy for other to send patches or additions. It also provides and easy way of keeping track of changes.

How is this generated?

Manually from users like you, and automatically via proprietary discovery algorithms.

Who made this?

Nick Galbreath. See more at http://www.client9.com/

# Packages

No description provided by the author

# Functions

CIDR2Range converts a CIDR to a dotted IP address pair, or empty strings and error Generic.
DownloadAppEngine downloads and returns raw bytes of the Google App Engine ip range list.
DownloadAWS downloads the latest AWS IP ranges list.
DownloadAzure downloads and returns raw bytes of the MS Azure ip range list.
DownloadCloudflare downloads the latest Cloudflare IP ranges list.
IPIsAdjacent returns true if the first IP + 1 equals the second.
IPParse converts a string IP address to a byte slice, or nil on error.
IPString converts a byte slice representing an IP address to a string.
NewIntervalSet creates a new set with a capacity.
UpdateAppEngine takes a raw data, parses it and updates the ipmap.
UpdateAWS parses the AWS IP json file and updates the interval set.
UpdateAzure takes a raw data, parses it and updates the ipmap.
UpdateCloudflare parses the Cloudflare IP text file and updates the interval set.
UpdateTor downloads and parses the Tor exit node list and updates the interval set.

# Structs

AWS is main record for AWS IP info.
AWSPrefix is AWS prefix in their IP ranges file.
AzureIPRange is a MS Azure record.
AzurePublicIPAddresses is a listing of regions.
AzureRegion is a MS Region.
Interval is a closed interval [a,b] of an IP range.
IntervalSet is a mapping of an IP range (the closed interval) to additional data.
NameSize is a tuple mapping name with a size.

# Type aliases

NameSizeList is a list of NameSize.