Files
openclaw/apps/macos/Sources/OpenClawDiscovery/TailscaleNetwork.swift
2026-03-02 11:32:20 +00:00

22 lines
661 B
Swift

import Foundation
import OpenClawKit
public enum TailscaleNetwork {
public static func isTailnetIPv4(_ address: String) -> Bool {
let parts = address.split(separator: ".")
guard parts.count == 4 else { return false }
let octets = parts.compactMap { Int($0) }
guard octets.count == 4 else { return false }
let a = octets[0]
let b = octets[1]
return a == 100 && b >= 64 && b <= 127
}
public static func detectTailnetIPv4() -> String? {
for entry in NetworkInterfaceIPv4.addresses() {
if self.isTailnetIPv4(entry.ip) { return entry.ip }
}
return nil
}
}