From 0d1c4c5a47f32165d3b2a1b4e6e317131b3de9d4 Mon Sep 17 00:00:00 2001 From: nadoo <287492+nadoo@users.noreply.github.com> Date: Wed, 22 Aug 2018 00:11:31 +0800 Subject: [PATCH] direct: remove link-local ip from IFaceIPs func --- README.md | 2 ++ proxy/direct.go | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 9489507..dfa264d 100644 --- a/README.md +++ b/README.md @@ -131,6 +131,8 @@ glider v0.6.7 usage: timeout value used in multiple dnsservers switch(seconds) (default 3) -forward value forward url, format: SCHEME://[USER|METHOD:PASSWORD@][HOST]:PORT?PARAMS[,SCHEME://[USER|METHOD:PASSWORD@][HOST]:PORT?PARAMS] + -interface string + source ip or source interface -ipset string ipset name -listen value diff --git a/proxy/direct.go b/proxy/direct.go index 512dbad..8072cbf 100644 --- a/proxy/direct.go +++ b/proxy/direct.go @@ -113,7 +113,9 @@ func (d *Direct) IFaceIPs() (ips []net.IP) { } for _, ipnet := range ipnets { - ips = append(ips, ipnet.(*net.IPNet).IP) + if ip := ipnet.(*net.IPNet).IP; !ip.IsLinkLocalUnicast() { + ips = append(ips, ip) + } } return