mirror of https://github.com/openclaw/openclaw.git
refactor(infra): share isTailnetIPv4 helper
This commit is contained in:
parent
c9bb6bd0d8
commit
012b674f31
|
|
@ -1,4 +1,5 @@
|
|||
import { runCommandWithTimeout } from "../process/exec.js";
|
||||
import { isTailnetIPv4 } from "./tailnet.js";
|
||||
import { resolveWideAreaDiscoveryDomain } from "./widearea-dns.js";
|
||||
|
||||
export type GatewayBonjourBeacon = {
|
||||
|
|
@ -70,20 +71,6 @@ function decodeDnsSdEscapes(value: string): string {
|
|||
return Buffer.from(bytes).toString("utf8");
|
||||
}
|
||||
|
||||
function isTailnetIPv4(address: string): boolean {
|
||||
const parts = address.split(".");
|
||||
if (parts.length !== 4) {
|
||||
return false;
|
||||
}
|
||||
const octets = parts.map((p) => Number.parseInt(p, 10));
|
||||
if (octets.some((n) => !Number.isFinite(n) || n < 0 || n > 255)) {
|
||||
return false;
|
||||
}
|
||||
// Tailscale IPv4 range: 100.64.0.0/10
|
||||
const [a, b] = octets;
|
||||
return a === 100 && b >= 64 && b <= 127;
|
||||
}
|
||||
|
||||
function parseDigShortLines(stdout: string): string[] {
|
||||
return stdout
|
||||
.split("\n")
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ export type TailnetAddresses = {
|
|||
ipv6: string[];
|
||||
};
|
||||
|
||||
function isTailnetIPv4(address: string): boolean {
|
||||
export function isTailnetIPv4(address: string): boolean {
|
||||
const parts = address.split(".");
|
||||
if (parts.length !== 4) {
|
||||
return false;
|
||||
|
|
|
|||
Loading…
Reference in New Issue