资讯详情

Osiris入门指南:用Next.js 16 + MapLibre搭建全球OSINT仪表盘

📅 2026/11/4 1:43:05 | 华诺云谱 👁 阅读
Osiris入门指南:用Next.js 16 + MapLibre搭建全球OSINT仪表盘
Osiris入门指南用Next.js 16 MapLibre搭建全球OSINT仪表盘【免费下载链接】osirisOpen Source Global Intelligence Platform - Real-Time OSINT Dashboard - A Palantir Alternative - 2nZNHm3Lr9umG3DVrzYwHgktwkuKuJRXqqRqs3ewpump项目地址: https://gitcode.com/gh_mirrors/osiris14/osiris想零预算在浏览器里拿到 Palantir 级态势感知Osiris 是一个用 Next.js 16 MapLibre GL 构建的开源情报OSINT平台把航班、地震、火灾、17000 路摄像头画在一张 WebGL 地图上。先看能力清单它能盯住什么OSINT 即 Open Source Intelligence大白话就是用公开数据拼出态势感知。Osiris 聚合的全部是公开数据源先看它到底能盯什么✈️航班adsb.fi / OpenSky 的 ADS-B 原始点实时分成 commercial / private / jet / military 四类地震USGS API 近 24 小时 M2.5 事件无需任何 key火灾NASA FIRMS 24 小时活跃热点叠加 EONET 火山事件自动采样到约 2000 点防止浏览器卡顿CCTVTfL、WSDOT、Caltrans 等 17000 路公共摄像头支持画一个区域自动圈出区内所有镜头并导出 GeoJSON其余39 个全球港口 10 个咽喉点、23 路 24/7 新闻流、15 个冲突区、太阳天气、GDELT 事件——共 16 个图层各有快捷键F 航班、E 地震、S 卫星换掉技术栈会发生什么把 MapLibre 换成 DOM 渲染试试数千个点在屏上移动时浏览器要为每个 div 重算布局掉帧只是时间问题。MapLibre GL 是 WebGL 地图引擎——WebGL 可以理解为浏览器里的 3D 绘图接口把画几千个小点的活儿丢给显卡——Osiris 靠它在数千并发实体同屏时维持 60fps。为什么是 Next.js 16App Router文件系统路由src/app/ 下每个文件就是一个 URL让页面和 API 住在同一棵树里/api/fires就是一个 route.ts取数逻辑和消费它的前端图层代码挨着改数据格式不用跨目录找。Turbopack 相当于给构建加了增量缓存只重编译改动部分开发时地图行为改动秒级可见——对实时应用这是刚需否则每调一个图层都要等全量构建。一架飞机是怎么上地图的数据从哪来不是单一数据源。/api/flights以 30 个主要航路走廊为中心、每点 250 海里半径向外扇出从 adsb.fi / OpenSky 拉原始点。adsb.fi 大约只允许 1 次/秒超了不返回 429 而是返回 200 加空数组所以区域扫描必须限速否则看起来成功、其实空手而归。怎么渲染// src/app/api/flights/route.ts把原始 ADS-B 点归成四类 const ADSBFI_GAP_MS 1100; // adsb.fi 约 1 请求/秒并行扇出会拿到空数组 function classifyFlight(f: any) { const callsign (f.flight || ).trim().toUpperCase(); const altMeters (typeof f.alt_baro number) ? f.alt_baro * 0.3048 : 0; // ... const airlineCode AIRLINE_CODE_RE.exec(callsign)?.[1] ?? ; // 不是航空公司代码航班号格式就是注册号 const isGaCallsign !airlineCode CALLSIGN_RE.test(callsign); const cruisesLikeAJet altMeters JET_CRUISE_ALT_M (f.gs ?? 0) JET_CRUISE_KTS; // ... }每个原始点经classifyFlight归类后进 MapLibre 的四个 WebGL 图层。前端激活任意航班子图层只触发一次/api/flights请求layerFetchedRef去重点画在 GPU 上这是数千点不掉帧的原因。点了会发生什么点击飞机标记才会按需请求/api/aircraft?icao24…与/api/flight-route弹出详情并绘制计划航线——全局点位只负责存在细节随点随取。数据怎么汇到同一张画布一句话流多源公开数据adsb.fi / USGS / NASA / OpenSky…→src/app/api/服务端路由 → 前端地图图层。/api/flights30 区域扇出 机型/呼号/高度速度启发式分类/api/earthquakes代理 USGS 近 24 小时 M2.5 feed响应带Cache-Control: s-maxage60/api/fires解析 NASA FIRMS 24 小时 CSV 并合并 EONET 火山响应缓存 600 秒更新机制不是 WebSocket而是图层激活拉一次 定期轮询航班每 5 分钟重新拉取稳定数据放宽到 15–30 分钟配合响应头缓存窗口期内连 API 路由都不需要再打到上游。本地跑通只需3条命令git clone https://gitcode.com/gh_mirrors/osiris14/osiris cd osiris npm install npm run dev打开 localhost:3000核心数据源全部公开免 key地图立即可用。生产环境npm run build出 Next.js standalone 构建另有 node:22-alpine 多阶段 Docker 镜像约 220MBdocker compose up -d一条命令起。这份代码适合谁抄作业如果你在做实时地理可视化数据源 → API 路由 → WebGL 图层这条链路以及轮询 Cache-Control 的缓存节奏在 Osiris 的src/app/api/和OsirisMap.tsx里可以直接照搬。【免费下载链接】osirisOpen Source Global Intelligence Platform - Real-Time OSINT Dashboard - A Palantir Alternative - 2nZNHm3Lr9umG3DVrzYwHgktwkuKuJRXqqRqs3ewpump项目地址: https://gitcode.com/gh_mirrors/osiris14/osiris创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑