manifest
Version:
Self-hosted Manifest LLM router with embedded server, SQLite database, and dashboard
33 lines • 989 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.isLoopbackIp = isLoopbackIp;
exports.isAllowedLocalIp = isAllowedLocalIp;
const FFMPEG_PREFIX = '::ffff:';
function isLoopbackIp(ip) {
return ip === '127.0.0.1' || ip === '::1' || ip === '::ffff:127.0.0.1';
}
function parseIpv4(ip) {
return ip.startsWith(FFMPEG_PREFIX) ? ip.slice(FFMPEG_PREFIX.length) : ip;
}
function isPrivateIpv4(ipv4) {
const parts = ipv4.split('.');
if (parts.length !== 4)
return false;
const [a, b] = parts.map(Number);
if (a === 10)
return true;
if (a === 172 && b >= 16 && b <= 31)
return true;
if (a === 192 && b === 168)
return true;
return false;
}
function isAllowedLocalIp(ip) {
if (isLoopbackIp(ip))
return true;
if (process.env['MANIFEST_TRUST_LAN'] !== 'true')
return false;
const ipv4 = parseIpv4(ip);
return isPrivateIpv4(ipv4);
}
//# sourceMappingURL=local-ip.js.map