Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
github.com/9seconds/topographer
Fast and lenient self-hosted IP geolocation service.
Sometimes you need to detect regions and cities of different IPs. There are a bunch of databases and free services available but you need to have a code which works with these database or deal with limitations of these services. For example, ipinfo.io or freegeoip.net limit your queries.
Sometimes you need your own service which responds with country/city and does not have such limitations. Most of such services are based on free versions of geolocation databases so it makes sense to have a free self-hosted service which you can simply plug into your infrastructure.
Also, if you ever deal with IP geolocation you may know it is awfully imprecise. There are many situations when one database detects one city, another - slightly different location. Also, if you deal with non-residential IPs you may know that a lot of hosters and clouds have a weird route setup so you may have differences even in countries!
Just look at this example: https://bgpview.io/ip/191.96.13.80 Which country does this IP belong?
This service goes in slightly different way: it uses a couple of databases, collects their results, combine and consolidate results and return a final one.
It queries all providers (or a limited set of them), picks the most popular country. Within this country group, it picks the most popular city and returns this tuple as a result.
Building is trivial.
go get github.com/9seconds/topographer
or if you want to build from sources:
$ git clone https://github.com/9seconds/topographer
$ cd topographer
$ go build
or simple build Docker container
$ docker build -t topographer .
Installation is simple as
$ go get github.com/9seconds/topographer
(but if you want, you can find prebuilt binaries on releases page)
We also have Docker images in both DockerHub and Github Container Registry:
$ docker pull nineseconds/topographer
and
$ docker pull ghcr.io/9seconds/topographer:master
A binary has a single cli flag: -config
.
$ topographer -config /path/to/config.hjson
or if you run with docker, just put config as /config.hjson
there:
$ docker run -v /path/to/local/config.hjson:/config.hjson -p 8000:80 nineseconds/topographer
Please see OpenAPI specification.
FAQs
Unknown package
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.