vignesh2027/-FLY-VIEW
GitHub: vignesh2027/-FLY-VIEW
FLY-VIEW 是一个基于CesiumJS的3D智慧地球应用,将实时航班、网络威胁和新闻数据融合到一个电影式界面,解决多源情报的直观可视化问题。
Stars: 1 | Forks: 0
```
███████╗██╗ ██╗ ██╗ ██╗ ██╗██╗███████╗██╗ ██╗
██╔════╝██║ ╚██╗ ██╔╝ ██║ ██║██║██╔════╝██║ ██║
█████╗ ██║ ╚████╔╝ █████╗██║ ██║██║█████╗ ██║ █╗ ██║
██╔══╝ ██║ ╚██╔╝ ╚════╝╚██╗ ██╔╝██║██╔══╝ ██║███╗██║
██║ ███████╗██║ ╚████╔╝ ██║███████╗╚███╔███╔╝
╚═╝ ╚══════╝╚═╝ ╚═══╝ ╚═╝╚══════╝ ╚══╝╚══╝
```
# ✈ ORION 智慧地球
**世界即数据,唯需洞察。**
[](https://vignesh2027.github.io/-FLY-VIEW)
[](https://github.com/vignesh2027/-FLY-VIEW)
[](LICENSE)
[](https://cesium.com)
[](https://developer.mozilla.org/en-US/docs/Web/JavaScript)
```
█▀▀ ▄▀█ █▀▀ █░█ █ █▀█ █▄░█ █▀█ █▀▀ █▀▀ █▀█ █▄░█ █▄░█ ▄▀█ █ █▀ █▀ ▄▀█ █▄░█ █▀▀ █▀▀
█▀░ █▀█ ▄▄█ █▀█ █ █▄█ █░▀█ █▀▄ ██▄ █▄▄ █▄█ █░▀█ █░▀█ █▀█ █ ▄█ ▄█ █▀█ █░▀█ █▄▄ ██▄
```
*航线、网络威胁、突发情报。汇聚于一个跃动的地球之上。*
## ◉ 这是什么
**FLY-VIEW** 是一个独立的、基于客户端的 3D 智慧地球,构建于 **CesiumJS** 之上——它是一个逼真、旋转的地球,并叠加了三个实时数据层,融合成一个电影般的界面。没有仪表盘,没有杂乱的面板。只有地球,和那些充满意义的数据一起跃动。
打开它,你会看到你所在的区域——地球会以电影般的平滑镜头锁定你的地理位置,就像一颗卫星刚刚找到你。然后,数据开始活跃:
这不是一个航班追踪器。这不是一个威胁仪表盘。当你同时看到所有信号时,这才是世界的真实模样。
![正在上传 image.png…]()
## ⚡ 核心功能
### 🌍 3D 智慧地球
- **CesiumJS 逼真地球**,带有地形、大气和卫星光照效果
- 首次加载时平滑**电影式地理位置飞入**——地球锁定你所在的城市
- **三种视觉模式**——每种模式都重新加权数据层的显示重点
### ✈ 实时航班动态
| 数据来源 | 方法 | 更新频率 |
|---|---|---|
| [adsb.lol](https://adsb.lol) | REST API | 实时 |
| [adsb.fi](https://opendata.adsb.fi) | REST API | 实时 |
| [airplanes.live](https://airplanes.live) | REST API | 实时 |
| [OpenSky Network](https://opensky-network.org) | REST API | 备用 |
- 最多同时显示 **800 架飞机**,以动态黄色点表示
- **10 条全球主要航路**以发光弧线呈现(如 BOM-DXB、JFK-LHR、DEL-SIN 等)
- 航路亮度反映交通密度——自然展现全球航空流量模式
- **智能 API 故障转移**——如果一个数据源失效,下一个会立即接管
### ⚠ 网络威胁情报
- 从 **AlienVault OTX** 公开威胁源获取数据
- **20 个国家**映射了活跃的威胁档案——带有严重度分级的指标
- 真实的威胁类型:APT、勒索软件、网络钓鱼、DDoS、BEC、加密劫持、网络战
- 包含指标计数、严重度(1-10)和描述性摘要
### 📰 情报新闻源
- 通过 RSS 聚合来自 **TechCrunch、Wired、Ars Technica** 的内容
- **区域感知过滤**——点击印度,只看印度的头条新闻
- 如果信息源不可用,则回退到精选的人工智能/网络安全头条
### ✋ 手势控制 (MediaPipe)
两种有特定意图的手势——不是派对把戏:
| 手势 | 手势形状 | 动作 |
|---|---|---|
| ✈ **飞机手势** | 食指和中指张开(V 字形) | 切换到 **TRANSIT(交通)模式** + 突出显示主要航路 |
| 🛡 **盾牌手势** | 手掌平展,手指并拢,向前推 | 切换到 **STORM(威胁)模式** —— 威胁层主导显示 |
### ⌨ 视觉模式
```
┌─────────────────────────────────────────────────────────┐
│ MODE │ FLIGHTS │ THREATS │ VIBE │
├─────────────────────────────────────────────────────────┤
│ ATLAS │ Full density │ Active markers │ Intel │
│ STORM │ Dim gray arcs │ Dominant, pulse │ War │
│ TRANSIT │ Every dot live │ Hidden │ Flow │
└─────────────────────────────────────────────────────────┘
```
### 🔍 航班搜索
- 输入任何航班号(如 AA101、EK201、UA287...)
- 地球会**移动相机**聚焦到该飞机
- 弹出针对出发/抵达区域的情报面板
## 🎨 设计语言
颜色系统严格且有目的性。每个像素都承载意义。
```
████ #000000 BLACK — Background. Always. Non-negotiable.
████ #FFD700 YELLOW — Flights. Motion. Commerce. Connection.
████ #FF6600 ORANGE — Threats. Danger. Friction. Heat.
████ #FFFFFF WHITE — UI text. Labels. Clarity.
████ #FF2200 RED — Critical. Severity 8+. Immediate.
```
**应用程序中不会出现任何其他颜色。**
字体分为:
- **Orbitron** —— 用于标题、Logo、模式徽章(具有未来感和权威感)
- **Space Mono** —— 用于所有数据、标签、统计信息(具有终端的精确感)
视觉效果:扫描线叠加、径向晕影、Logo 上的 CSS 故障效果、加载屏幕的动画网格、脉动状态指示灯、关键数值的发光阴影、四角标记。
## 🛠 技术栈
```
┌─────────────────────────────────────────────┐
│ LAYER │ TECHNOLOGY │
├─────────────────────────────────────────────┤
│ 3D Globe │ CesiumJS 1.111 │
│ Gesture Input │ MediaPipe Hands (WASM) │
│ Flight Data │ adsb.lol / adsb.fi / │
│ │ airplanes.live / OpenSky│
│ Threat Intel │ AlienVault OTX APIv1 │
│ News │ RSS2JSON (RSS proxy) │
│ Rendering │ WebGL (via Cesium) │
│ Framework │ None — Vanilla JS │
│ Bundler │ None — zero build step │
│ Server │ None — static files │
└─────────────────────────────────────────────┘
```
## 🚀 快速开始
### 本地运行(30 秒)
```
# 克隆
git clone https://github.com/vignesh2027/-FLY-VIEW.git
cd -FLY-VIEW
# 提供服务 (任何静态服务器均可)
python3 -m http.server 8080
# 打开
open http://localhost:8080
```
### 其他服务器选项
```
npx serve . # Node.js
php -S localhost:8080 # PHP
ruby -run -ehttpd . -p8080 # Ruby
```
### 部署到 GitHub Pages(免费托管)
```
# 已配置 — 只需在设置中启用
# 仓库 → 设置 → 页面 → 来源: main 分支 → / (根目录)
```
在线地址:`https://vignesh2027.github.io/-FLY-VIEW`
## 📁 项目结构
```
FLY-VIEW/
├── index.html # App shell — all UI markup
├── css/
│ └── style.css # Full design system (~600 lines)
├── js/
│ ├── config.js # API keys, endpoints, constants
│ ├── globe.js # CesiumJS init, camera, click handler
│ ├── flights.js # ADS-B fetch, parse, render entities
│ ├── threats.js # OTX threat fetch, country mapping
│ ├── news.js # RSS aggregation, region filtering
│ ├── gestures.js # MediaPipe gesture classification
│ ├── ui.js # Panel updates, stats, toasts
│ └── app.js # Orchestrator, events, refresh timers
├── .nojekyll # GitHub Pages Jekyll bypass
└── README.md
```
没有 `node_modules`。没有 `package.json`。无需构建步骤。没有框架。开箱即用。
## ⌨ 操作说明
| 输入操作 | 对应动作 |
|---|---|
| `点击地球` | 打开该区域的情报面板 |
| `输入航班号 + 点击追踪` | 按呼号搜索航班 |
| `按 1` | ATLAS(地图)模式 |
| `按 2` | STORM(威胁)模式 |
| `按 3` | TRANSIT(交通)模式 |
| `按 G` | 切换手势控制面板 |
| `按 ESC` | 关闭情报面板 |
| `手势 ✈` | V 字形手指 → TRANSIT 模式 |
| `手势 🛡` | 平推手势 → STORM 模式 |
## 🌐 API 参考
所有使用的 API 均为**免费层级**,**无需注册**(Cesium Ion 令牌除外)。
### 网络威胁 — AlienVault OTX
```
Public pulses → https://otx.alienvault.com/otxapi/pulses/?limit=20
```
如果遇到 CORS 阻止,则回退到静态威胁档案。
### 新闻 — RSS2JSON 代理
```
https://api.rss2json.com/v1/api.json?rss_url={encoded_feed_url}
```
信息源:TechCrunch · Wired · Ars Technica
### 地球 — Cesium Ion
```
Token: Set in js/config.js → CONFIG.CESIUM_TOKEN
Terrain: Ion asset ID 1 (Cesium World Terrain)
```
## 🔧 配置
编辑 `js/config.js` 进行自定义:
```
const CONFIG = {
CESIUM_TOKEN: 'your-token-here', // cesium.com/ion
FLIGHT_REFRESH: 15000, // ms between flight updates
THREAT_REFRESH: 60000, // ms between threat updates
MAX_FLIGHTS_DISPLAY: 800, // max aircraft rendered
ARC_HEIGHT_FACTOR: 0.15, // corridor arc curvature
COLORS: {
FLIGHT: '#FFD700', // aircraft dots
FLIGHT_ARC: '#FFA500', // corridor arcs
THREAT: '#FF6600', // threat markers
THREAT_HIGH: '#FF2200', // severity 8+ threats
}
};
```
## 🧠 工作原理
```
Browser Load
│
├── CesiumJS renders WebGL globe
│ └── Geolocation API → cinematic fly-in to user's city
│
├── Parallel data fetch (every 15–60s)
│ ├── adsb.lol → parse ac[] → Cesium point entities
│ ├── AlienVault OTX → country threat profiles
│ └── RSS feeds → filtered news articles
│
├── Globe click → pick lat/lon → reverse geocode country
│ └── Open intel panel with scoped data
│
├── MediaPipe WASM → webcam frame analysis
│ └── Landmark classification → gesture events
│
└── Mode switch → re-render all entities with new opacity/color
```
客户端缓存避免了冗余的 API 调用。每个数据源有自己的缓存时长(TTL):
- 航班数据:**12 秒**(接近实时)
- 威胁数据:**60 秒**
- 新闻数据:**120 秒**
## 🌍 支持的地区(情报面板)
点击即可查看情报的系统覆盖了 22 个国家/地区,拥有完整的威胁档案:
`印度 · 美国 · 中国 · 俄罗斯 · 巴西 · 英国 · 德国 · 法国`
`日本 · 澳大利亚 · 加拿大 · 乌克兰 · 巴基斯坦 · 伊朗 · 土耳其`
`尼日利亚 · 朝鲜 · 南非 · 墨西哥 · 印度尼西亚 · 越南 · 以色列`
## 📊 性能指标
| 指标 | 数值 |
|---|---|
| 渲染的飞机数量 | 最多 800 架 |
| 航路弧线 | 10 条命名航路 |
| API 调用次数/小时 | ~240(航班)+ 60(威胁)+ 30(新闻) |
| 包大小 | ~0 KB(无本地依赖) |
| 可交互时间 | < 4 秒 |
| 离线可用(已缓存) | ✓ |
## 🔒 隐私保护
- 没有后端。没有数据库。不存储任何用户数据。
- 地理位置仅用于移动相机——从不传输。
- 用于 MediaPipe 的摄像头画面完全在浏览器内运行(WebAssembly)。没有任何帧会离开你的设备。
- 无分析工具。无跟踪像素。无 Cookie。
## 📄 开源许可
MIT © 2025 [vignesh2027](https://github.com/vignesh2027)
可自由使用、分叉、修改和部署。欢迎注明出处,但不强制要求。
```
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
█ THE WORLD IS DATA. YOU JUST NEED TO SEE IT. █
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
```
**[启动 ORION →](https://vignesh2027.github.io/-FLY-VIEW)**
标签:3D地球仪, CesiumJS, CMS安全, FLY-VIEW, JavaScript, ORION INTELLIGENCE GLOBE, Syscall, WebGL, Web开发, 交互式界面, 前端技术, 地球科学, 地理信息系统, 实时数据, 客户端渲染, 情报分析, 数据可视化, 数据层融合, 数据融合, 照片级真实感, 独立应用, 电影风格界面, 网络诊断, 自定义脚本