Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
random-access-osm-pbf
Advanced tools
Provides random access reads into an osm pbf file.
Usually when parsing pbf files, you have to start at the beginning and if the files are really large, then this can take a really long time. It's also not parellelizable.
With this module, you can provide start
and end
offsets into a pbf file and
receive complete items as output. the start
and end
values don't have to
match exact alignments in the pbf file. this module scans forward from those
offsets to find the nearest correct alignment point.
var raOSM = require('random-access-osm-pbf')
Creates a new stream which gets processed by osm-pbf-parser.
This module expects binary data from an osm pbf file as input and returns an object stream. The objects in the output stream are in the form described in osm-pbf-parser.
Each item in opts
can have properties:
opts.start
- start file offset (can be unaligned)opts.end
- end file offset (can be unaligned)opts.size
- size of the pbf file in bytesopts.read(offset, length, cb)
- function that reads length
bytes from an
offset
and returns the data in cb(err, buf)
opts.header
- use a previously-parsed header from a file to skip parsingEmits a header
event when the header is parsed with the header value as
fn(header)
. You can pass this header as opts.header
to skip parsing later.
In this example, we pass in the pbf file as the first argument, and a start and end offset as the second and third arguments.
var raOSM = require('random-access-osm-pbf')
var through = require('through2')
var raf = require('random-access-file')
var fs = require('fs')
var store = raf(process.argv[2])
var osm = raOSM({
start: Number(process.argv[3]),
end: Number(process.argv[4]),
read: store.read.bind(store),
size: fs.statSync(process.argv[2]).size
})
osm.pipe(through.obj(function write (items, enc, next) {
console.log(items)
next()
}))
the output comes out in this form:
{
{ type: 'node',
id: 3705065232,
lat: 50.0699066,
lon: 36.177443600000004,
tags: {},
info:
{ version: 1,
timestamp: 1440001911000,
changeset: 33443945,
uid: 719573,
user: 'dimonster' } },
{ type: 'node',
id: 3705065233,
lat: 50.0699133,
lon: 36.1576718,
tags: {},
info:
{ version: 1,
timestamp: 1440001911000,
changeset: 33443945,
uid: 719573,
user: 'dimonster' } }
}
npm install random-access-osm-pbf
BSD
FAQs
get random access into an osm pbf file at a specified offset
We found that random-access-osm-pbf demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
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’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.