myip

package
v0.1.4 Latest Latest
Warning

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

Go to latest
Published: May 12, 2021 License: MIT Imports: 6 Imported by: 4

README

获取本机内网 / 公网 IP

使用

package main

import (
	"fmt"

	"github.com/fufuok/utils/myip"
)

var (
	// 服务器 IP
	InternalIPv4 string
	ExternalIPv4 string
	ExternalIP   string
)

func init() {
	// 推荐方式
	go func() {
		InternalIPv4 = myip.InternalIPv4()
	}()
	go func() {
		ExternalIPv4 = myip.ExternalIPv4()
	}()
	go func() {
		ExternalIP = myip.ExternalIP()
	}()
}

func main() {
	fmt.Println("MyIP(可能为空, 但不阻塞)", InternalIPv4, ExternalIPv4, ExternalIP)

	fmt.Println("获取外网地址 (IPv4):", myip.ExternalIPv4())
	fmt.Println("获取外网地址 (IPv6):", myip.ExternalIPv6())
	fmt.Println("获取外网地址 (出口公网地址, 优先获取 IPv6):", myip.ExternalIP())
	fmt.Println("获取外网地址 (出口公网地址 IPv4):", myip.ExternalIP("ipv4"))
	fmt.Println("获取外网地址 (出口公网地址 IPv6):", myip.ExternalIP("ipv6"))

	fmt.Println("获取内网地址 (IPv4):", myip.InternalIPv4())
	fmt.Println("获取内网地址 (临时 IPv6 地址):", myip.InternalIPv6())
	fmt.Println("获取内网地址 (出口本地地址):", myip.InternalIP("", ""))
	fmt.Println("获取内网地址 (出口本地地址):", myip.InternalIP("1.1.1.1:53", "udp"))
	fmt.Println("获取内网地址 (出口本地地址):", myip.InternalIP("baidu.com:443", "tcp"))
	fmt.Println("获取内网地址 (出口本地地址):", myip.InternalIP("1.1.1.1", "ip4:icmp"))

	fmt.Println("获取本地地址 (第一个):", myip.LocalIP())
    fmt.Println("获取所有本地地址 (IPv4):", myip.LocalIPv4s())

	fmt.Println("MyIP:", InternalIPv4, ExternalIPv4, ExternalIP)
}

ff

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ExternalIP

func ExternalIP(v ...string) string

获取外网地址 (出口公网地址)

func ExternalIPv4

func ExternalIPv4() string

获取外网地址 (IPv4)

func ExternalIPv6

func ExternalIPv6() string

获取外网地址 (IPv6)

func InternalIP

func InternalIP(dstAddr, network string) string

获取内网地址 (出口本地地址)

func InternalIPv4

func InternalIPv4() string

获取内网地址 (IPv4)

func InternalIPv6

func InternalIPv6() string

获取内网地址 (临时 IPv6 地址)

func LocalIP

func LocalIP() string

获取本地地址 (第一个)

func LocalIPv4s added in v0.1.3

func LocalIPv4s() (ips []string)

获取所有本地地址 IPv4

Types

This section is empty.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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