Security News
Node.js EOL Versions CVE Dubbed the "Worst CVE of the Year" by Security Experts
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
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 ෴
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.
Security News
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
Security News
cURL and Go security teams are publicly rejecting CVSS as flawed for assessing vulnerabilities and are calling for more accurate, context-aware approaches.
Security News
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.