Observed since 20 Oct, 22:37 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Low-level Node networking toolkit. Raw TCP/UDP, HTTP/1.1, instances, structured logging. No dependencies.
Low-level Node networking toolkit. Raw TCP and UDP, an HTTP/1.1 client, named instances and structured logging. Zero dependencies, just the Node core (net, tls, dgram, http, zlib).
High-level clients like axios, got and fetch hide the parts of the stack that matter when you care about the wire. wiretap keeps them visible: header order, raw sockets, timeouts you control. SOCKS, Tor and identity management are next; the plan is in docs/ROADMAP.md.
npm install @0x5278/wiretap
const wiretap = require('@0x5278/wiretap');
// an instance carries headers and a named log scope
const api = wiretap.wiretap({
name: 'api',
headers: { 'x-api-key': 'secret' },
});
const res = await api.get('https://api.example.com/data');
console.log(res.status, res.body.toString());
// stateless client when you do not want instance semantics
const { HttpClient } = wiretap;
const res2 = await new HttpClient().post('https://api.example.com/thing', { a: 1 });
Responses resolve for any status code. Transport failures reject, with code set (ECONNREFUSED, ETIMEDOUT, ABORT_ERR).
const { TcpSocket, UdpSocket } = require('@0x5278/wiretap');
const sock = new TcpSocket({ host: 'example.com', port: 80, idleTimeout: 30000 });
sock.on('data', (chunk) => console.log(chunk.toString()));
await sock.connect();
sock.write('GET / HTTP/1.1\r\nHost: example.com\r\n\r\n');
TLS sockets work the same way, pass tls options to the constructor for a custom CA, SNI override or stricter verification.
| export | what it is |
|---|---|
wiretap(options) | named instance factory, merges headers, exposes request helpers |
HttpClient | stateless HTTP/1.1 client with redirects, gzip/br, abort |
TcpSocket | raw TCP with optional TLS, connect and idle timeouts |
UdpSocket | raw UDP send and receive |
createLogger | structured JSON logs, secret redaction on by default |
createInstance | what wiretap() calls, exported if you want it directly |
HTTP request options: url, method, headers (object or flat [k, v, ...] array to preserve order), body (string, Buffer, stream, or object which becomes JSON), timeout, redirects, decompress, signal (AbortController).
MIT, see LICENSE.
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.1.0Registry latest | 19 Aug 2026 | 0 |
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 22:37 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:94a422480f1fcf5f4a1733112fb970a8e9da330a58ee2786b3a2c60db25c82be