An offline CLI tool to analyze reachable Portals for Ingress Drone Mark I.
Implementations in different languages are listed and compared in Benchmark.
The CI workflow builds x64 and arm64 binary for macOS, Windows and Linux, the files are available as artifacts.
- Node 18 (Backporting should be possible and easy)
$ npm init
$ npm run build
$ npm run package # Package an executable with pkg
Please notice the pkg
will download necessary binary files to ~/.pkg-cache
, it may be overriden by environment variable PKG_CACHE_PATH
:
$ export PKG_CACHE_PATH=./.pkg-cache
$ npm run package
All the files should be JSON.
- Portal list file(s), should be an array of:
{ "guid": "GUID of Portal", "title": "Title of Portal", "lngLat": { "lng": 90.0, // Longitude "lat": 45.0 // Latitude } }
- Portal Key list file, should be an array of GUID (Not required but strongly recommended)
Maybe an IITC plugin like this helps.
$ ingress-drone-explorer <portal-list-file> -s <longitude,latitude> [options...]
Explore with key list:
$ ... -k <path-to-key-list-file>
Output cells JSON for IITC Draw tools:
$ ... --output-drawn-items <path-to-output>
Help information:
$ ingress-drone-explorer -h
- Area: Shenzhen downtown and Hong Kong
- Portals: 34,041 Portals in 13,451 cells
- Keys: 11 matched
- Start Point: Shenzhen Bay Sports Center
- Result: 30,462 Portals and 11,342 cells are reachable
Average exploration time consumed of 100 executions on MacBook Air (M2).
Lines | Commit | Consumed | |
---|---|---|---|
Node.js | Current |
1.295 s | |
C++ | db5a976 |
0.583 s | |
Python | 841b9f0 |
2.813 s | |
Swift | 2c73a58 |
0.722 s |
The results of other implementations may be outdated, please check their repositories for latest results.