
Research
Malicious npm Packages Impersonate Flashbots SDKs, Targeting Ethereum Wallet Credentials
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
This is a browserver proxy for node.js.
Use browserver-node to create servers that act as a two-way proxies between an HTTP server and a WebSocket server, by
This library, along with browserver-client, is all the code you need to set up your own browserver.
// http, websocket, and browservers
var http = require("http")
var engine = require("engine.io")
var brow = require("brow")
function handler(req, res) {
// your usual HTTP server logic
}
// instantiate http and websocket servers
var httpServer = http.createServer(handler)
var wsServer = engine.attach(httpServer)
// pass each to a new browserver...
var browServer = new brow.Server({
http: httpServer,
ws: wsServer,
host: "*.mydomain.org"
})
// ... and start listening!
httpServer.listen(80, function() {
// wait for incoming/outgoing browser connections...
})
browserver is available through npm.
npm install brow
This joins a WebSocket server and HTTP server, returning a new browserver instance. The options argument accepts the following properties:
ws: Required. Must be an instance of a WebSocket server (such as ws) or compatible shim (such as socket.io, engine.io) that emits socket instances through connection events.
http: Optional. If specified, must be an instance of http.Server. If omitted, an instance will be instantiated and bound to port 3572 (the Unicode codepoint for the brow ෴).
host Optional. If specified, must be a string containing one and only one asterisk (*), which is replaced with a socket id when a WebSocket connection is established. Note that this means you will need a wildcard CNAME or A record in your DNS settings that resolves to the appropriate domain or IP address. If omitted, CloudFoundry's *.vcap.me domain is used, which resolves all domains/subdomains to 127.0.0.1.
The browserver server emits a connection event with a WebSocket-connected browserver client, whenever one connects. Each client is an instance of brow.Client, with an id property that defaults to a random lowercase alphanumeric string generated upon instantiation. How these ids are generated can be customized by overriding the static brow.Client.id method.
browserver clients emit a close event when their underlying WebSocket is closed.
FAQs
෴ A browserver proxy for node.js ෴
The npm package brow receives a total of 0 weekly downloads. As such, brow popularity was classified as not popular.
We found that brow 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
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.

Security News
Ruby maintainers from Bundler and rbenv teams are building rv to bring Python uv's speed and unified tooling approach to Ruby development.

Security News
Following last week’s supply chain attack, Nx published findings on the GitHub Actions exploit and moved npm publishing to Trusted Publishers.