显示HN:Sightline – 使用OSM数据进行Shodan风格的现实基础设施搜索
Show HN: Sightline – Shodan-style search for real-world infra using OSM Data

原始链接: https://github.com/ni5arga/sightline

## 视线:地理空间基础设施情报 视线是一个利用OpenStreetMap (OSM)数据来发现和分析现实世界基础设施的平台。它允许用户搜索、监控和分析诸如电信塔、发电厂、数据中心等资产,并利用带有地图视图和搜索过滤器的前端界面。 后端通过一系列模块处理搜索:路由处理程序、自然语言解析器、通过Nominatim进行地理坐标查找、查询Overpass API以获取OSM数据,以及用于提高性能的缓存。所有数据均来自众包的OSM项目,承认可能存在不准确之处。 视线支持各种搜索参数,包括资产*类型*、*运营商*、*区域*和邻近搜索。它使用React和TypeScript构建,并利用Leaflet.js进行地图显示。 **重要注意事项:** 用户必须遵守OSM对Nominatim和Overpass API的使用政策,避免过度查询并尊重数据限制。该工具仅用于信息目的,关键数据应始终通过官方来源进行验证。

## 视线:物理世界的 Shodan 视线是一个新的开源搜索引擎,构建方式类似于 Shodan,但用于*物理*基础设施。它不扫描互联网,而是利用 OpenStreetMap (OSM) 数据来定位现实世界的资产。 用户可以通过位置(例如“法国巴黎的数据中心”)或结构化查询(例如 `type:telecom operator:airtel`)搜索电信塔、发电厂和数据中心等基础设施。 视线利用 Overpass API 获取 OSM 数据,并使用 Nominatim 进行位置解析,优先考虑确定性解析而非 AI 驱动的推断。该项目避免了硬编码的地理限制,提供灵活的搜索体验。 您可以在 GitHub 上探索视线及其代码:[https://github.com/ni5arga/sightline](https://github.com/ni5arga/sightline),并在以下网址试用:[https://sightline-maps.vercel.app](https://sightline-maps.vercel.app)。
相关文章

原文

Geospatial infrastructure intelligence platform for discovering and analyzing physical-world assets using OpenStreetMap data.

img

Sightline enables searching, monitoring, and analyzing real-world infrastructure including:

  • Telecommunications towers
  • Power plants and substations
  • Data centers
  • Airports and helipads
  • Ports and harbours
  • Warehouses and industrial facilities
  • Pipelines and refineries
  • Military installations
  • Hospitals, prisons, embassies
flowchart TB
    subgraph Frontend
        SearchBar
        Filters
        ResultList
        MapView["MapView (Leaflet.js)"]
    end

    subgraph Backend
        route["route.ts"]
        parser["parser.ts (NLP)"]
        geo["geo.ts (Nominatim)"]
        overpass["overpass.ts (OSM)"]
        cache["cache.ts"]
    end

    subgraph External["External APIs"]
        Nominatim["Nominatim (Geocoding)"]
        OverpassAPI["Overpass API (OSM Data)"]
    end

    Frontend -->|POST /api/search| route
    route --> parser
    route --> geo
    route --> overpass
    route --> cache
    geo --> Nominatim
    overpass --> OverpassAPI
Loading

All infrastructure data comes from OpenStreetMap, a collaborative mapping project. OSM data is crowd-sourced and may contain inaccuracies or gaps.

Geographic resolution uses the Nominatim geocoding service to convert place names to bounding boxes and coordinates.

Infrastructure queries execute against the Overpass API, which provides read-only access to OSM data.

telecom towers in karnataka
power plants near mumbai
data centers in california
airports in germany
type:telecom operator:airtel region:karnataka
type:data_center operator:google
type:substation region:texas
type:airport country:france
Parameter Description Example
type: Asset type type:power_plant
operator: Operator/owner operator:google
region: State/region region:bavaria
country: Country country:india
near: Proximity search near:london
radius: Search radius (km) radius:100

Infrastructure

  • telecom / tower / antenna / mast - Telecommunications
  • data_center - Data centers
  • power_plant / substation - Power infrastructure
  • solar / wind / nuclear - Energy generation
  • dam - Dams
  • pipeline / refinery - Oil and gas
  • oil_well / gas_well - Extraction
  • storage_tank / silo / gasometer - Storage
  • cooling_tower / chimney - Industrial structures
  • water_tower / water_treatment / wastewater - Water infrastructure

Transportation

  • airport / helipad / airfield - Aviation
  • port / harbour / ferry_terminal - Maritime
  • train_station / railyard / metro - Rail
  • bus_station / parking - Ground transport
  • bridge / tunnel - Crossings

Commercial & Industrial

  • warehouse / factory / industrial - Industrial
  • quarry / mine / landfill - Extraction/disposal
  • fuel / gas_station / charging_station - Fuel/energy retail

Government & Military

  • military / bunker / barracks / naval_base - Military
  • embassy / courthouse / border_control - Government
  • police / fire_station / prison - Public safety
  • checkpoint / range - Security

Education & Culture

  • school / university / college - Education
  • library / museum / theatre / cinema - Culture
  • stadium - Sports

Healthcare

  • hospital / clinic / pharmacy - Medical
  • dentist / veterinary - Specialized care

Other

  • bank / atm / post_office - Services
  • hotel - Accommodation
  • church / mosque / temple / synagogue - Religious
  • cemetery - Memorial
  • lighthouse / observatory / radar - Monitoring
  • crane / windmill / watermill - Mechanical

Open http://localhost:3000.

app/
├── page.tsx              # Main application page
├── layout.tsx            # Root layout
├── globals.css           # Global styles
└── api/
    └── search/
        └── route.ts      # Search API endpoint

components/
├── SearchBar.tsx         # Query input
├── Filters.tsx           # Filter sidebar
├── ResultList.tsx        # Results display
└── MapView.tsx           # Leaflet map

lib/
├── types.ts              # Type definitions
├── parser.ts             # Query parsing and NLP
├── geo.ts                # Nominatim integration
├── overpass.ts           # Overpass API queries
└── cache.ts              # In-memory caching
npm install -g vercel
vercel

No environment variables required. The application uses public OpenStreetMap APIs.

  • Nominatim: 1 request/second (enforced by Nominatim usage policy)
  • Overpass API: Fair use, avoid heavy queries

This tool accesses publicly available OpenStreetMap data. Users must:

  1. Respect OpenStreetMap's tile usage policy
  2. Respect Nominatim usage policy
  3. Respect Overpass API usage policy
  4. Not use this tool for illegal surveillance or harmful purposes
  5. Acknowledge that OSM data may be incomplete or inaccurate
  6. Not perform bulk automated queries that overload public infrastructure

The presence or absence of infrastructure in OSM should not be taken as authoritative. Always verify critical information through official sources.

MIT

联系我们 contact @ memedata.com