source

package
v0.1.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 1, 2024 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

View Source
const LinodeFileURL = "https://raw.githubusercontent.com/devanshbatham/ip2cloud/main/data/linode.txt"

Variables

View Source
var AllSources = []IPRangeSource{
	Alibaba{},
	Aws{},
	Azure{},
	Cloudflare{},
	Digitalocean{},
	Fastly{},
	Gcp{},
	Ibm{},
	Linode{},
	Oracle{},
	Ovh{},
	Scaleway{},
	Tencent{},
	Ucloud{},
	Vercel{},
}

Functions

func FileURLToString

func FileURLToString(url string) (string, error)

func LoadFileURLToJSON

func LoadFileURLToJSON(url string, to interface{}) error

func LoadTextURLToRange

func LoadTextURLToRange(url string) ([]string, error)

Types

type Alibaba

type Alibaba struct{}

func (Alibaba) GetIPRanges

func (a Alibaba) GetIPRanges() []*IPRange

func (Alibaba) GetProvider added in v0.1.5

func (a Alibaba) GetProvider() provider.Provider

type Aws

type Aws struct{}

func (Aws) GetIPRanges

func (a Aws) GetIPRanges() []*IPRange

func (Aws) GetProvider added in v0.1.5

func (a Aws) GetProvider() provider.Provider

type Azure

type Azure struct{}

func (Azure) GetIPRanges

func (a Azure) GetIPRanges() []*IPRange

func (Azure) GetProvider added in v0.1.5

func (a Azure) GetProvider() provider.Provider

type Cloudflare

type Cloudflare struct{}

func (Cloudflare) GetIPRanges

func (a Cloudflare) GetIPRanges() []*IPRange

func (Cloudflare) GetProvider added in v0.1.5

func (a Cloudflare) GetProvider() provider.Provider

type Digitalocean

type Digitalocean struct{}

func (Digitalocean) GetIPRanges

func (a Digitalocean) GetIPRanges() []*IPRange

func (Digitalocean) GetProvider added in v0.1.5

func (a Digitalocean) GetProvider() provider.Provider

type Fastly

type Fastly struct{}

func (Fastly) GetIPRanges

func (a Fastly) GetIPRanges() []*IPRange

func (Fastly) GetProvider added in v0.1.5

func (a Fastly) GetProvider() provider.Provider

type FastlyIPRangeResponse

type FastlyIPRangeResponse struct {
	Addresses     []string `json:"addresses"`
	IPv6Addresses []string `json:"ipv6_addresses"`
}

type Gcp

type Gcp struct{}

func (Gcp) GetIPRanges

func (a Gcp) GetIPRanges() []*IPRange

func (Gcp) GetProvider added in v0.1.5

func (a Gcp) GetProvider() provider.Provider

type IPCat

type IPCat int
const (
	CatIPv4 IPCat = 4
	CatIPv6 IPCat = 6
)

func GetIPCat

func GetIPCat(ip net.IP) IPCat

func ParseCIDR

func ParseCIDR(cidr string) (*net.IPNet, IPCat)

ParseIpRange parses an ip range string into start, end, and ip type eg. ParseIpRange(8.8.4.0/24) -> (ip.Net, IP_TYPE_IPV4)

type IPRange

type IPRange struct {
	Network  *net.IPNet        `json:"n"`
	Cat      IPCat             `json:"c"`
	Provider provider.Provider `json:"p"`
}

func GetAllIPRanges

func GetAllIPRanges(sources []IPRangeSource) []*IPRange

func (*IPRange) String

func (r *IPRange) String() string

type IPRangeSource

type IPRangeSource interface {
	GetIPRanges() []*IPRange
	GetProvider() provider.Provider
}

type Ibm

type Ibm struct{}

func (Ibm) GetIPRanges

func (a Ibm) GetIPRanges() []*IPRange

func (Ibm) GetProvider added in v0.1.5

func (a Ibm) GetProvider() provider.Provider

type Linode

type Linode struct{}

func (Linode) GetIPRanges

func (a Linode) GetIPRanges() []*IPRange

func (Linode) GetProvider added in v0.1.5

func (a Linode) GetProvider() provider.Provider

type Oracle

type Oracle struct{}

func (Oracle) GetIPRanges

func (a Oracle) GetIPRanges() []*IPRange

func (Oracle) GetProvider added in v0.1.5

func (a Oracle) GetProvider() provider.Provider

type Ovh

type Ovh struct{}

func (Ovh) GetIPRanges

func (a Ovh) GetIPRanges() []*IPRange

func (Ovh) GetProvider added in v0.1.5

func (a Ovh) GetProvider() provider.Provider

type Scaleway

type Scaleway struct{}

func (Scaleway) GetIPRanges

func (a Scaleway) GetIPRanges() []*IPRange

func (Scaleway) GetProvider added in v0.1.5

func (a Scaleway) GetProvider() provider.Provider

type Tencent

type Tencent struct{}

func (Tencent) GetIPRanges

func (a Tencent) GetIPRanges() []*IPRange

func (Tencent) GetProvider added in v0.1.5

func (a Tencent) GetProvider() provider.Provider

type Ucloud

type Ucloud struct{}

func (Ucloud) GetIPRanges

func (a Ucloud) GetIPRanges() []*IPRange

func (Ucloud) GetProvider added in v0.1.5

func (a Ucloud) GetProvider() provider.Provider

type Vercel

type Vercel struct{}

func (Vercel) GetIPRanges

func (a Vercel) GetIPRanges() []*IPRange

func (Vercel) GetProvider added in v0.1.5

func (a Vercel) GetProvider() provider.Provider

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL