
Security News
US Government Forces Anthropic to Pull Claude Fable Days After Launch
Anthropic says the directive cited national security concerns over a narrow jailbreak, but offered no specific technical details.
Node.js bindings for Specter, a browser-fingerprint HTTP client with TLS, HTTP/1.1, HTTP/2, HTTP/3, and WebSocket support. Improved TTFT and TPS for LLMs.
Node.js bindings for Specter, a high-performance async HTTP client with TLS, HTTP/2, HTTP/3, RFC 6455 WebSocket, and RFC 8441 Extended CONNECT support.
Supported Chrome profiles are FingerprintProfile.Chrome142 through FingerprintProfile.Chrome148. Supported Firefox profiles are FingerprintProfile.Firefox133 through FingerprintProfile.Firefox151, plus ESR branches FirefoxEsr115, FirefoxEsr128, and FirefoxEsr140; examples use Chrome148, the latest implemented Chrome profile.
npm install specters
const { clientBuilder, FingerprintProfile } = require('specters');
const client = clientBuilder()
.fingerprint(FingerprintProfile.Chrome148)
.cookieStore(true)
.build();
const response = await client
.post('https://example.com/items')
.header('Authorization', 'Bearer token')
.json(JSON.stringify({ name: 'example' }))
.send();
console.log(response.status);
console.log(response.text());
const { CLOSE_NORMAL, clientBuilder } = require('specters');
const client = clientBuilder()
.cookieStore(true)
.http2PriorKnowledge(false)
.build();
const ws = await client.websocket('wss://example.com/socket')
.header('Origin', 'https://example.com')
.subprotocol('chat.v1')
.maxMessageSize(1 << 20)
.handshakeTimeout(10)
.connect();
await ws.sendText('hello');
const message = await ws.next();
if (message.type === 'text') {
console.log(message.text);
}
await ws.close({ code: CLOSE_NORMAL, reason: 'done' });
RFC 6455 sockets are framed message connections. send*, next, and close operations are serialized per socket to preserve Rust's mutable socket contract; avoid running multiple receive loops on the same socket.
const { clientBuilder } = require('specters');
const client = clientBuilder()
.http2PriorKnowledge(true)
.build();
const tunnel = await client.websocketH2('https://example.com/h2-tunnel')
.header('Origin', 'https://example.com')
.open();
await tunnel.sendBytes(Buffer.from('raw bytes'), false);
const data = await tunnel.recvBytes();
await tunnel.closeSend();
RFC 8441 exposes a raw byte tunnel over HTTP/2 Extended CONNECT. It is intentionally separate from the RFC 6455 framed WebSocket API.
npm install
npm run build
npm test
MIT
FAQs
Node.js bindings for Specter, a browser-fingerprint HTTP client with TLS, HTTP/1.1, HTTP/2, HTTP/3, and WebSocket support. Improved TTFT and TPS for LLMs.
We found that specters demonstrated a healthy version release cadence and project activity because the last version was released less than 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.

Security News
Anthropic says the directive cited national security concerns over a narrow jailbreak, but offered no specific technical details.

Security News
A network of 152 Chrome live wallpaper extensions hid ad tracking and made extension-driven traffic look like Google search clicks.

Company News
Socket’s first CISO brings deep experience securing high-growth SaaS companies as open source supply chain threats accelerate.