ip-devicer
v0.3.5
Published
IP Intelligence Middleware for the FP-Devicer Intelligence Suite
Downloads
1,664
Maintainers
Readme
ip-devicer
Developed by Gateway Corporate Solutions
IP Intelligence Middleware for the FP-Devicer Intelligence Suite.
Instantly enrich every deviceId with production-grade IP signals: MaxMind
geolocation (country, city, subdivision, ASN), proxy/VPN/Tor/hosting detection,
AI-agent detection, reputation scoring, impossible-travel alerts, and historical
consistency matching — all 100% self-hosted and invisible to clients.
Part of the FP-Devicer family — invisible to clients and extremely hard to spoof.
Usage
ip-devicer is designed to integrate seamlessly with FP-Devicer by use of the
registerWith helper.
import { createInMemoryAdapter, DeviceManager } from "devicer.js";
import { IpManager } from "ip-devicer";
const deviceManager = new DeviceManager(createInMemoryAdapter());
const ipManager = new IpManager({
licenseKey: process.env.DEVICER_LICENSE_KEY,
maxmindPath: "./data/GeoLite2-City.mmdb",
asnPath: "./data/GeoLite2-ASN.mmdb",
enableReputation: true,
});
// One-line registration — everything else is automatic
ipManager.registerWith(deviceManager);
app.post("/identify", async (req, res) => {
const result = await deviceManager.identify(req.body.fpPayload, {
ip: req.ip,
userId: req.user?.id,
headers: req.headers,
});
console.log("IP Enrichment Result:", {
deviceId: result.deviceId,
confidence: result.confidence,
ipRiskDelta: result.ipRiskDelta,
enrichment: result.ipEnrichment,
});
res.json(result);
});If request headers include CF-Connecting-IP, True-Client-IP, or X-Real-IP,
ip-devicer will prefer those values over a proxy-populated ip field. If
those headers are absent, it falls back to the explicit ip value and then the
first X-Forwarded-For address.
Known AI-agent traffic from the conservative default catalog is attached to
ipEnrichment.agentInfo and included in the IpManager logging metadata.
Recommended Setup (MaxMind)
To get full usage out of this library, you will need to follow these instructions:
- Create a free MaxMind account at maxmind.com
- Generate a license key in the portal
- Download the latest:
- GeoLite2-City.mmdb
- GeoLite2-ASN.mmdb
- Place them in ./data/ (or any secure path) and add to .gitignore
Documentation
This project uses typedoc and autodeploys via GitHub Pages. You can view the generated documentation here.
Installation
You can install ip-devicer and tls-devicer alongside FP-Devicer with
npm install devicer.js ip-devicer tls-devicerYou can also install the meta-package for the entire Devicer Intelligence Suite with
npm install @gatewaycorporate/devicer-intelLicense
Published under the Business Source License 1.1 (BSL-1.1)
- Free for dev/testing/personal use
- Production use requires a paid license from Polar.sh
- Free tier has device count limits and basic features only
- Pro tier can operate on a single server and has no device count limits
- Enterprise can operate on any number of servers and has no device count limits
Pass the key in the constructor to remove restrictions
Obtaining a Key
ip-devicer uses polar.js for key verification. You can obtain a key for dual use of this library and tls-devicer by purchasing one here
