argo79/Reticulum_Entry_Points_Map
GitHub: argo79/Reticulum_Entry_Points_Map
REPMAP 是一个轻量级的 Reticulum 去中心化网络交互式地图工具,提供实时节点发现、自动地理位置定位和内置网络诊断功能。
Stars: 0 | Forks: 0
# 🌐 Reticulum Entry Points 地图
**带有自动地理位置定位、节点发现和高级网络诊断工具的 Reticulum 网络入口点交互式地图。**
[](https://reticulum.network/)
[](https://www.python.org/)
[](LICENSE)
[](https://github.com/argo79/Reticulum_Entry_Points_Map/releases)
[](https://github.com/argo79/Reticulum_Entry_Points_Map/stargazers)
[](https://github.com/argo79/Reticulum_Entry_Points_Map/network/members)
[](https://github.com/argo79/Reticulum_Entry_Points_Map/issues)
[](https://github.com/argo79/Reticulum_Entry_Points_Map/commits/main)
主交互式地图。
# 🎯 高级节点命令 该地图集成了多个网络诊断工具,可以直接从 Web 界面执行。 | 命令 | 描述 | |---------|-------------| | **rnprobe** | 测试与 Reticulum 节点的连接性 | | **rnpath** | 显示到某个节点的当前路由 | | **rnpath -d** | 删除缓存的路由 | | **Ping** | 发送 ICMP ping 数据包 | | **Nmap** | 执行 TCP 端口扫描 | | **Netcat** | 测试 TCP 连接性 | | **Discovery Hash** | 计算处理程序的发现哈希 | | **Discover All** | 列出所有可发现的处理程序 | ## 可用的发现哈希 该应用程序可以自动计算多个 Reticulum 服务的发现哈希。 - 🔵 Probe Hash - 📨 LXMF Propagation - 📬 LXMF Delivery - 📞 Audio Call - 🌐 Nomad Network Node
带有集成网络工具的节点弹出窗口。
# ⚙️ 配置 大多数设置可以直接在 **reticulum_map.py** 中自定义。 ``` PORT = 8484 REFRESH_MINUTES = 30 LOCAL_NODE_CONFIG = { "enabled": True, "name": "My Reticulum Node", "latitude": 45.605, "longitude": 12.2435, "reachable_on": "203.0.113.10", "port": 4242, } ``` ## 🌍 自动地理位置定位 节点位置使用多种方法按优先级顺序确定。 1. 节点公告中包含的显式 GPS 坐标。 2. 使用 **ip-api.com** 进行 IP 查询。 3. 本地 WHOIS 分析。 4. 从节点名称中提取的位置关键字。 这种分层方法允许大多数公共节点自动定位,即使没有 GPS 坐标也能实现。
自动节点地理位置定位。
# 📡 REST API 内置的 HTTP 服务器暴露了多个 endpoint,用于自动化和集成。 | 方法 | Endpoint | 描述 | |---------|----------|-------------| | GET | `/data` | 以 JSON 格式返回每个已发现的节点 | | GET | `/refresh` | 强制刷新节点数据 | | GET | `/localnode` | 返回本地节点信息 | | GET | `/get_hash/
针对桌面、平板和移动设备优化的响应式界面。
# 🗂️ 项目结构 ``` Reticulum_Entry_Points_Map/ ├── reticulum_map.py ├── locations.py ├── map.html ├── style.css ├── ruler.js ├── robots.txt ├── sitemap.xml ├── nodes.json ├── nodes_geo.json ├── geo_cache.json ├── hash_cache.pkl └── img/ ├── REPMap.jpg ├── REPMap1.jpg ├── REPMap2.jpg ├── REPMap3.jpg └── REPMap4.jpg ``` # 🔧 自定义 ## 添加自定义位置 你可以通过编辑 `locations.py` 来改进自动地理位置定位。 示例: ``` LOCATIONS = { "milan": { "lat": 45.4642, "lng": 9.1900 }, "rome": { "lat": 41.9028, "lng": 12.4964 }, "berlin": { "lat": 52.5200, "lng": 13.4050 }, "new york": { "lat": 40.7128, "lng": -74.0060 } } ``` 地理位置定位引擎在回退到 WHOIS 信息之前,会先在节点名称中搜索匹配的关键字。 ## 自定义 Web 界面 前端完全由静态文件组成。 你可以自由修改: - `map.html` - `style.css` - `ruler.js` 或者用你自己的界面完全替换它们。 Python 服务器会自动从项目目录中提供所有的静态文件。 # 🐛 故障排除 ## 找不到 rnstatus 验证 Reticulum 是否已正确安装。 ``` which rnstatus rnstatus -h ``` 如果未安装: ``` pip install rns ``` ## 安装 WHOIS ### Debian / Ubuntu ``` sudo apt install whois ``` ### Arch Linux ``` sudo pacman -S whois ``` ### Fedora ``` sudo dnf install whois ``` WHOIS 是可选的,但能改善节点地理位置定位。 ## 服务器无响应 验证以下各项: - Python 正在运行。 - 端口 **8484** 未被阻止。 - 没有防火墙阻止访问。 - Reticulum 运行正常。 ## 地址已被使用 找到使用端口 **8484** 的进程。 ``` sudo lsof -i :8484 ``` 终止它。 ``` sudo kill -9 PID ``` 将 **PID** 替换为 `lsof` 返回的进程 ID。 ## 地图为空 如果地图为空: - 验证 Reticulum 是否正在运行; - 执行 `rnstatus`; - 确保存在一些可发现的节点; - 检查终端是否有错误。 ## 地理位置定位失败 可能的原因: - 私有 IP 地址 - VPN endpoint - 缺少 WHOIS 包 - 未知的节点名称 - IP 查询 API 临时故障 节点公告中包含的坐标始终具有最高优先级。 # 📍 发布入口点 要使你的入口点自动显示在地图上,请将以下选项添加到你的 Reticulum 配置中。 配置文件: ``` ~/.reticulum/config ``` 示例: ``` discoverable = Yes discovery_name = My Backbone Node announce_interval = 240 discovery_stamp_value = 24 latitude = 45.4642 longitude = 9.1900 height = 15 ``` ## 完整示例 ``` [Default Interface] type = AutoInterface enabled = Yes [[Backbone Listener]] type = BackboneInterface interface_enabled = True mode = gateway listen_on = port = 4242 discoverable = Yes discovery_name = RNS Backbone WORLD announce_interval = 360 discovery_stamp_value = 24 latitude = 45.4642 longitude = 9.1900 height = 15 ``` 编辑配置后,只需重启 Reticulum。 在几个宣告间隔后,你的入口点将自动出现在公共地图上。 # 🔒 隐私 只有配置为以下形式的入口点: ``` discoverable = Yes ``` 才会出现在地图上。 除了 Reticulum 已通过 Discovery 协议发布的信息外,不会收集任何额外信息。 如果省略了 GPS 坐标,应用程序将尝试使用 IP 地理位置定位和 WHOIS 信息来估算位置。 # ⚙️ 性能 典型的资源使用情况: | 资源 | 使用情况 | |----------|------:| | RAM | ~25 MB | | CPU | <1% 空闲 | | 刷新间隔 | 30 分钟 | | 支持的节点 | 数千个 | 该服务器非常轻量,可以在 Raspberry Pi、VPS 实例和低功耗硬件上运行。 # 📄 许可证 该项目在 **MIT License** 下发布。 有关完整的许可证文本,请参阅 [LICENSE](LICENSE) 文件。 # 👨💻 作者 ## Arg0net - 📧 **电子邮件:** arg0netds@gmail.com - 🐙 **GitHub:** https://github.com/argo79 - 🔑 **Reticulum LXMF Identity** ``` lxmf.cb04d68b73c76647dc61a530089b7dce ``` # 🌟 鸣谢 特别感谢使该软件成为可能的项目和人员。 - 🌐 **Reticulum Network** 创建了真正去中心化的网络协议。 - 🗺️ **Leaflet** 提供了交互式地图库。 - 📍 **ip-api.com** 提供了免费的 IP 地理位置定位服务。 - 🛰️ 每一个为全球网络做出贡献的 Reticulum 节点运营商。 - 🇮🇹 **Reticulum Italia** 社区提供的测试、想法和反馈。 # 📊 项目统计
[](https://github.com/argo79/Reticulum_Entry_Points_Map/stargazers)
[](https://github.com/argo79/Reticulum_Entry_Points_Map/network/members)
[](https://github.com/argo79/Reticulum_Entry_Points_Map/issues)
[](https://github.com/argo79/Reticulum_Entry_Points_Map/pulls)
[](https://github.com/argo79/Reticulum_Entry_Points_Map/commits/main)
# ❤️ 支持该项目
如果你觉得这个项目有用,请考虑支持它的开发。
你可以通过以下方式提供帮助:
- ⭐ 为仓库加星标。
- 🍴 Fork 该项目。
- 🐛 报告 Bug。
- 💡 建议新功能。
- 📖 改进文档。
- 🔧 提交 Pull Request。
- 📢 与其他 Reticulum 用户分享该项目。
# 🤝 贡献
随时欢迎你的贡献。
1. Fork 该仓库。
2. 创建一个功能分支。
```
git checkout -b feature/my-feature
```
3. 提交你的更改。
```
git commit -m "Add new feature"
```
4. 推送该分支。
```
git push origin feature/my-feature
```
5. 发起一个 Pull Request。
请尽量保持编码风格与项目其余部分一致。
# 🚀 未来想法
未来可能的改进包括:
- 🌍 多个地图提供商。
- 🛰️ 使用 WebSockets 进行实时节点更新。
- 📈 历史节点统计。
- 网络健康状况仪表板。
- 🌐 IPv6 可视化改进。
- 📡 Mesh 拓扑可视化。
- 🧭 路由质量指标。
- 🔐 API endpoint 的可选身份验证。
- 📱 渐进式 Web 应用程序 (PWA)。
- 🌙 深色和浅色主题。
# 📷 截图
## 节点信息
☕ 支持开发
如果你觉得这个项目有用,请考虑给我买杯虚拟咖啡!☕ 每一份贡献,无论大小,都有助于保持项目的活力并支持未来的开发。
### 💰 捐赠
[](https://ripple.com/xrp/)
[](https://www.getmonero.org/)
[](https://ethereum.org/)
| 加密货币 | 地址 |
|----------------|---------|
| **XRP (Ripple)** | `rBKbetm51vuQQfg4Yo8fvweRya7gedcr9J` |
| **XMR (Monero)** | `87jacZEtYvXcgnvEp7wu45gLwRBYpvwMr3N9dqhNipPWV69XwQX658tS73VEdghLopG1wA4STEdMPcGF8Tc3e18eJyQ4kMA` |
| **ETH (Ethereum)** | `0xd2d85288df96B4162814Ca7492039620371b9D81` |
**由 Arg0net 用 ❤️ 制作**
📡 **Reticulum Identity** ``` lxmf.04511923b68ae34e0fda5721d82f596f ```
⭐ 如果你喜欢这个项目,请考虑在 GitHub 上给它点个 **Star**。
📡 **Reticulum Identity** ``` lxmf.04511923b68ae34e0fda5721d82f596f ```
⭐ 如果你喜欢这个项目,请考虑在 GitHub 上给它点个 **Star**。
标签:Leaflet, Python, Reticulum, 去中心化网络, 后端开发, 情报分析, 数据可视化, 无后门, 网络拓扑可视化, 网络测绘, 网络诊断, 调试辅助, 逆向工具