EVERYTHING XIAOMI
Get listed

Faye

Faye is a free, open-source publish-subscribe messaging system built on the Bayeux protocol.

Place
#3 of 55
Score
7.5
Faye's website

What Faye is

Faye is a free, open-source publish-subscribe messaging system built on the Bayeux protocol. It provides message servers for Node.js and Ruby, with clients for servers and major web browsers. Browser clients rely on a Faye server to relay messages; after a connection is lost, the browser client retries periodically and can redeliver messages that were dropped. Transport adapters cover WebSocket, HTTP long-polling, Cross Origin Resource Sharing and JSON-P callback-polling. Server and client extensions can intercept or alter messages, including for subscription authentication, and the monitoring API reports handshakes, subscriptions, unsubscriptions, publishes and disconnections. The default in-process engine cannot span multiple front-end web servers, while documented Redis and Couchbase engines support distributed deployments. The documentation advises using one client per target server because browsers impose per-host connection limits. Cross-domain access and publishing and subscribing are unrestricted by default, so application-specific restrictions are important; HTTPS is advised to protect messages and HTTP transport. Faye is self-hosted and runs on Linux, macOS and Windows. Node.js installation is provided through npm, and Ruby installation through RubyGems.

Good

  • Provides Node.js, Ruby, and browser clients.
  • Supports multiple messaging transports.
  • Can retry connections and redeliver dropped messages.
  • Monitoring API reports messaging activity.

Watch out

  • Browser clients require a Faye server.
  • Default engine cannot span multiple front-end servers.
  • Publishing and subscribing are unrestricted by default.

Who it suits

Faye suits developers building publish-subscribe messaging for Node.js, Ruby or browser clients. Distributed deployments require an alternative to its default in-process engine.

Verdict

Faye offers server and client components with configurable transports and monitoring. Its default access settings and single-process engine call for attention when planning security or distributed deployment.

Plans and prices

From Faye's own pricing page, checked 4 Oct 2026.

All about pricing
PlanPriceWhat it gives you
FayeFreeOpen-source software · Apache 2.0 license

The facts

Each one read from Faye's own pages, with the date it was checked.

What it does

Additional backends
The engine documentation lists separate faye-redis, faye-redis-sharded and faye-couchbase backends.checked 15 Oct 2026
Channel subscriptions
Subscriptions support wildcard channel patterns and return cancellable subscription promises.checked 15 Oct 2026
Client recovery
The browser client periodically retries after a lost connection and can redeliver dropped messages.checked 4 Oct 2026
Client support
Clients can run on servers and in major web browsers.checked 15 Oct 2026
Clustering tradeoff
Redis-backed clustering enables scaling across front ends but adds external I/O and is slower than in-process storage.checked 15 Oct 2026
Credential handling
The security guide says server extensions should remove authorization credentials before messages are forwarded to subscribers.checked 15 Oct 2026
Cross-domain support
Faye clients and servers support cross-domain communication without extra configuration.checked 15 Oct 2026
Extensibility
User-written client and server extensions can intercept, modify or reject messages.checked 15 Oct 2026
Extensions
Server and client extensions can intercept and modify incoming or outgoing messages, including to implement subscription authentication.checked 4 Oct 2026
Independent activity limit
Ruby Toolbox rates faye-websocket 0.88 and flags low commit activity and no release in over a year.checked 15 Oct 2026
Independent maintenance limit
Snyk's analyzed snapshot labels maintenance inactive, with no commits in six months, 19 open issues, four open pull requests and one maintainer.checked 15 Oct 2026
Independent popularity
Snyk reports about 1.7 million weekly npm downloads and roughly 4,385 GitHub stars for Faye.checked 15 Oct 2026
Independent repository scale
GitHub shows the Faye organization repository with about 4.4k stars and 367 forks, plus separate Ruby and Node WebSocket repositories.checked 15 Oct 2026
Independent security status
Snyk reports no known security issues for the package version it analyzed, while recording four historical vulnerabilities in older versions.checked 15 Oct 2026
Integrations
The download instructions provide installation through npm for Node.js and RubyGems for Ruby.checked 4 Oct 2026
Latest release
The download page lists version 1.4.3, released 27 September 2026.checked 15 Oct 2026
License
Faye is open-source software released under the Apache 2.0 license.checked 15 Oct 2026
License and release
The site lists version 1.4.2, released 14 September 2026, under the Apache 2.0 license.checked 4 Oct 2026
Limit: complexity and state
The same Stack Overflow discussion describes Faye as more complex than Juggernaut and notes that its then-current state was held in memory.checked 15 Oct 2026
Limit: historical TLS vulnerability
A Singapore government SingCERT bulletin says older faye-websocket and Faye Ruby clients lacked TLS certificate validation, with fixes released in faye-websocket 0.11.0 and Faye 1.4.0.checked 15 Oct 2026
Limit: scope
A separate Stack Overflow discussion characterizes Faye as a web pub-sub layer rather than a general Redis-style storage system.checked 15 Oct 2026

Where it runs

Browser connection model
Browser documentation recommends one Faye client per target server because browsers limit connections per host.checked 15 Oct 2026
Browser requirement
Browser clients require a Faye server to handle message delivery between clients.checked 4 Oct 2026

The company

Maker
The site credits James Coglan as Faye’s maker.checked 4 Oct 2026
The full review of Faye

Faye is a self-hosted publish-subscribe messaging system built on Bayeux, with server components for Node.js and Ruby and clients for web browsers. It suits teams that want to manage application messaging themselves; its transport flexibility is useful, but security configuration and deployment topology need deliberate attention.

Overview

Faye supplies the pieces for running message delivery in your own environment rather than a hosted broker. Browser clients rely on a Faye server to relay messages, and delivery guarantees are configurable. That arrangement gives application teams control over how messaging is integrated, but leaves operation and protection of the service to them.

Connection options include WebSocket, HTTP long-polling, Cross Origin Resource Sharing, and JSON-P callback-polling. The browser client retries periodically after a connection loss and can redeliver dropped messages, which helps applications recover from interruptions. This is not a substitute for choosing suitable delivery behavior for the application.

Key features

  • Node.js and Ruby servers: Installation is available through npm for Node.js and RubyGems for Ruby, with clients for servers and major browsers. Faye is a natural fit when either server ecosystem is already part of the application stack.
  • Message extensions: Server and client extensions can intercept and modify messages as they arrive or leave. They can also implement subscription authentication, giving teams a place to enforce application-specific access rules.
  • Monitoring API: The API reports handshakes, subscriptions, unsubscriptions, publishes, and disconnections. These events provide useful visibility into client activity without changing the basic messaging model.
  • Browser connection management: Browsers limit connections per host, so the documentation advises using one client for each target server. Applications connecting to multiple servers should account for that constraint in their client design.

Pricing

Faye is free and open source under the Apache 2.0 license. Its Faye plan costs nothing and has no paid tier in the stated offering, so there is no seat or usage allowance to weigh against a subscription price.

Platforms

Faye supports Linux, macOS, Windows, web clients, and self-hosted deployment. The server implementations target Node.js and Ruby; browser clients need a Faye server to handle delivery between clients. This makes it suitable for teams running their own server infrastructure, not for a browser-only setup expecting messaging to work without a backend.

Who it's for

Faye fits developers who need browser messaging connected to Node.js or Ruby services and want control over transports, extensions, and delivery configuration. It is less suitable for teams seeking a managed service or a straightforward deployment across several front-end servers without additional setup.

Pros and cons

Pros

  • Several transport choices: WebSocket, long-polling, CORS, and JSON-P callback-polling give applications different connection approaches.
  • Useful extension points: Intercepting messages enables application-specific processing, including subscription authentication.
  • Free, open-source deployment: The Apache 2.0 license and self-hosted model avoid a software subscription.
  • Activity monitoring: Handshakes and message-related client events can be reported through the monitoring API.

Cons

  • Default access is permissive: Cross-domain access and unrestricted publishing and subscribing are enabled by default, so deployments need application-appropriate restrictions. HTTPS is advised to protect messages and HTTP transport from eavesdroppers.
  • Default engine is single-process: The in-process engine cannot run one Faye service across multiple front-end web servers. Distributed deployments require a separate Redis or Couchbase engine.
  • Browser clients require server infrastructure: Faye does not provide browser-to-browser delivery on its own; a Faye server must relay messages.

Alternatives

Choose Lightstreamer if its demo license cap of 20 concurrent client connections fits a small evaluation, or if you need a freemium option with a free trial and broader listed platform coverage, including Android and iOS.

EMQX is worth comparing if you want a serverless option with a free monthly quota of up to 1,000 connections and usage-based charges beyond that quota.

HiveMQ MQTT Broker may suit readers looking for a broker with a Lab plan capped at 100 connections and 100 messages per second; its Launch plan is priced at $299 a month.

For a self-managed, free broker with community-based best-effort support, consider RabbitMQ.

TIBCO FTL is another option with a free Community Edition download for Windows, Linux, and macOS.

Apache Artemis is a free, self-hosted broker requiring Java 17 or later, while Eclipse Mosquitto offers core MQTT features for on-premises use.

If you want an open-source messaging library with no dedicated broker required, choose ZeroMQ.

Browse Message Broker Software for more options.

Verdict

Faye is a strong fit for Node.js or Ruby teams that want a free, extensible way to connect browser clients through a self-hosted Bayeux server. Its transport variety and message hooks are compelling when teams can secure and operate the service themselves. Look elsewhere if permissive defaults, the single-process engine, or the need to provide your own server make it a poor match for your deployment.

Getting started

  1. Install the Node.js server through npm or the Ruby server through RubyGems
  2. Deploy Faye on Linux, macOS, or Windows, or use a self-hosted web deployment
  3. Run a Faye server for browser message delivery
  4. Select WebSocket, HTTP long-polling, CORS, or JSON-P transport
  5. Add server or client extensions for message handling or subscription authentication
  6. Use Redis or Couchbase engines for distributed front-end deployments
  7. Configure application restrictions and HTTPS before exposing messaging

Limits worth knowing

The default in-process engine cannot operate one Faye service across multiple front-end web servers. Browser clients should use one client per target server because browsers limit connections per host.

Questions

Is Faye free and open source?

Yes. The Faye plan is free, and the software uses the Apache 2.0 license.

Which platforms can run Faye?

Faye supports Linux, macOS, Windows, and self-hosted deployments accessed through the web.

How is Faye installed?

The Node.js server is installed through npm, while the Ruby server is installed through RubyGems.

Which protocol and transports does it use?

Faye is based on Bayeux. Its adapters support WebSocket, HTTP long-polling, Cross Origin Resource Sharing, and JSON-P callback-polling.

Can Faye scale across front-end servers?

The default engine is in-process and cannot do so. Redis and Couchbase engines are documented for distributed deployments.

What security configuration is required?

Cross-domain access and unrestricted publishing and subscribing are on by default, so application-specific restrictions should be added. The security guide advises HTTPS to protect messages and transport.

Alternatives to Faye

All alternatives
  1. 1Colyseus logo

    Colyseus

    Free planOpen sourceAndroidiOSWebAPI
    8.5From $15 a month
  2. 2

    BrowserGap

    Free planWebAPILinuxmacOS
    7.5$3.81 one-time
  3. 3PubNub Chat logo

    PubNub Chat

    Free planAndroidiOSWebAPI
    7.5From $98 a month
  4. 4

    Scaledrone

    Free planAndroidiOSWebAPI
    7.4From $19 a month
  5. 5

    Lightstreamer

    Free planAndroidiOSWebAPI
    7.1Free plan
  6. 6

    Wren

    Free planOpen sourceAPIExtensionmacOS
    7.1Free plan