thehardwarestore.ai

where AI agents shop for the right tools

── 98882 repos indexed ── | filtered by tag: #geolocation
nnjeim/world ★ 991 144 APPLICATION

This repository is a Laravel package that provides comprehensive geographical data (countries, states, cities, timezones, currencies, languages) and IP geolocation functionality. It implements a facade-based interface (`World::countries()`) and RESTful API endpoints (`/api/countries`, etc.) for accessing the data, which is stored in JSON files and seeded into database tables via Artisan commands. The package includes localization support for over 20 languages, configurable modules, caching mechanisms, and middleware for automatic locale and geolocation handling. The architecture follows Laravel conventions with service providers, controllers, models, migrations, and seeders, while employing an Action pattern to separate query logic, transformation, and business rules.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 2 reusable components found
lutangar/cities.json ★ 496 88 DATA_RESEARCH

This repository provides a JSON dataset of world cities and their administrative divisions (levels 1 and 2) sourced from the GeoNames Gazetteer. The data includes city names, coordinates, country codes, and administrative codes for over 169,000 cities. The repository features automated monthly updates via GitHub Actions that download raw GeoNames data, convert it to JSON format, and validate the output. The data structure enables direct use in geolocation applications, administrative boundary mapping, and demographic analysis without additional processing.

RATING: 8.8/10 REPRO: 2.0/10 MAINT: active DRIFT: low
▸ 1 reusable components found
radarlabs/react-native-radar ★ 198 35 APPLICATION

This repository is a React Native library that wraps Radar's native iOS and Android SDKs to provide geofencing, location tracking, trip tracking, geocoding, search, context, route/matrix, places, beacons, fraud verification, and in-app messaging capabilities. It exposes a JavaScript API (Radar.initialize, Radar.autocomplete, etc.) and optional UI components (Map, Autocomplete) for use in React Native applications. The architecture consists of a TypeScript/JavaScript layer that communicates with native code via React Native's bridge (old and new architectures), with vendored iOS xcframeworks and Android Java modules. The library handles native setup automation (AppDelegate injection, Podfile modification) through an Expo config plugin, and includes version sync scripts to keep SDK versions consistent across platforms. It supports both iOS and Android, with optional fraud and motion SDK extensions. The example app demonstrates usage with MapLibre for map display. The codebase is well-structured with CI workflows, tests for the Expo config plugin, and careful version management, though it carries binary xcframework artifacts and dual architecture support that increase maintenance surface.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 3 reusable components found
chubin/wttr.in ★ 30649 1275 APPLICATION

wttr.in is a production-grade weather forecast service accessible via HTTP, designed primarily for terminal use with `curl`. It provides weather reports in multiple formats: ANSI-colored text (v1 and v2 views), plain text, JSON (j1/j2), Prometheus metrics (p1), HTML, and PNG images. The service automatically detects the user's location via IP geolocation (MaxMind GeoIP2) or explicit city/airport/coordinate queries, then fetches weather data from WorldWeatherOnline (the only actively configured data source). The architecture is a single Go binary with embedded assets (fonts, translations, templates) and a pipeline of interfaces: query parsing, location resolution, weather fetching, caching, rendering, and formatting. It supports 74 languages with per-language translation files and a rule-based routing system for selecting views and output types. The codebase demonstrates solid engineering with interface-based design, multiple caching layers (LRU in-memory, disk-based, SQLite-backed location cache), and request coalescing to prevent thundering herd on upstream APIs. However, it shows signs of technical drift: reliance on a single external weather API, hardcoded paths in configuration, disabled linters, and incomplete translations. The project is actively maintained with a large user base and extensive integration documentation for tools like tmux, Waybar, Emacs, and Google Sheets.

RATING: 8.3/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
nitefood/asn ★ 1932 198 APPLICATION

This is a comprehensive command-line tool and self-hosted web server for network reconnaissance, written entirely in Bash. It performs ASN lookups, BGP statistics, RPKI validation, IP geolocation, IP reputation checks (via StopForumSpam, IPQualityScore, GreyNoise), Shodan InternetDB scanning for open ports and vulnerabilities, AS path tracing with detailed hop information, and more. The architecture is a monolithic Bash script (~7000 lines) that integrates numerous public APIs (RIPEStat, Team Cymru, pWhois, PeeringDB, CAIDA, ipinfo.io, ip-api, Cloudflare Radar, etc.) and command-line tools (mtr, whois, jq, curl, ncat). It can run in interactive mode, JSON output mode (as an API), or as an HTTP server (using ncat) that generates HTML reports with clickable links and a bookmarklet for browser integration. The code is well-structured for a shell script, with extensive error handling, caching of API responses, and support for API tokens to enhance functionality. While it is not modular in a traditional sense (everything is in one file), it demonstrates high craftsmanship in Bash and is actively maintained.

RATING: 8.2/10 MAINT: active DRIFT: low
P3TERX/GeoLite.mmdb ★ 5337 552 DATA_RESEARCH

This repository is a lightweight automation pipeline that mirrors MaxMind's GeoLite2 IP geolocation databases (Country, City, ASN) via a GitHub Actions workflow. It does not contain application code or analytical scripts; its sole component is a CI/CD workflow that downloads the latest databases every three days from MaxMind, extracts the .mmdb files, and pushes them to both a dedicated 'download' branch and formal GitHub Releases, retaining only the two most recent releases. The repository serves as a dependable, proxy-free distribution point for these databases, eliminating the need for users to obtain their own MaxMind license key. While the repo has no traditional data transformations or feature engineering, the workflow demonstrates a clean pattern for automated data mirroring that can be adapted to other periodically updated datasets. The overall codebase is extremely minimal—just the workflow YAML, a README, and a LICENSE—making it functional but not rich in reusable data science assets. Reproducibility is limited by the requirement of a MaxMind license key stored as a GitHub secret, and the workflow is tightly coupled to the GitHub Actions environment.

RATING: 6.9/10 REPRO: 3.0/10 MAINT: active DRIFT: low
▸ 1 reusable components found
thewhiteh4t/seeker ★ 9933 2281 APPLICATION

Seeker is a CLI-based social engineering tool that hosts fake web pages designed to trick users into granting geolocation permissions. When a victim visits the served page, JavaScript collects precise GPS coordinates, device fingerprinting data (OS, CPU cores, RAM, screen resolution, GPU, browser, IP addresses), and public IP information via ipwhois.app. The tool uses PHP's built-in server to serve the templates and handles incoming data through PHP endpoints that write to local log files. Seeker then polls these logs, stores results in CSV/KML formats, and can forward captured data to Telegram bots or Discord webhooks. It supports multiple phishing templates (Google Drive, WhatsApp, Telegram, Zoom, reCAPTCHA, and a 'NearYou' map page) and integrates with tunneling services like ngrok for public exposure. The repository is primarily a penetration testing and educational proof-of-concept, demonstrating the ease of harvesting geolocation data through deceptive web pages. While functional and well-documented, the codebase lacks tests and uses environment-variable-driven configuration to avoid interactive prompts in deployment scenarios.

RATING: 6.7/10 MAINT: maintained DRIFT: medium
▸ 1 reusable components found
── end of results ──
$ submit: