Платформа ЦРНП "Мирокод" для разработки проектов
https://git.mirocod.ru
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
19 lines
464 B
19 lines
464 B
// Copyright 2021 The Gitea Authors. All rights reserved. |
|
// Use of this source code is governed by a MIT-style |
|
// license that can be found in the LICENSE file. |
|
|
|
package util |
|
|
|
import ( |
|
"net" |
|
) |
|
|
|
// IsIPPrivate for net.IP.IsPrivate. |
|
func IsIPPrivate(ip net.IP) bool { |
|
if ip4 := ip.To4(); ip4 != nil { |
|
return ip4[0] == 10 || |
|
(ip4[0] == 172 && ip4[1]&0xf0 == 16) || |
|
(ip4[0] == 192 && ip4[1] == 168) |
|
} |
|
return len(ip) == net.IPv6len && ip[0]&0xfe == 0xfc |
|
}
|
|
|