mirror of
https://github.com/SagerNet/sing-box.git
synced 2026-10-22 20:12:36 +00:00
17 lines
468 B
Go
17 lines
468 B
Go
package kernelports
|
|
|
|
import "golang.org/x/sys/unix"
|
|
|
|
const (
|
|
defaultEphemeralFirst = 49152
|
|
defaultEphemeralLast = 65535
|
|
)
|
|
|
|
func ephemeralRange() (uint16, uint16) {
|
|
first, firstErr := unix.SysctlUint32("net.inet.ip.portrange.first")
|
|
last, lastErr := unix.SysctlUint32("net.inet.ip.portrange.last")
|
|
if firstErr != nil || lastErr != nil || first > last || last > 65535 {
|
|
return defaultEphemeralFirst, defaultEphemeralLast
|
|
}
|
|
return uint16(first), uint16(last)
|
|
}
|