Autopush
Mozilla Push server and Push Endpoint utilizing Rust, Actix, and a key/value data store.
This is the fourth generation of Push server built in Mozilla Services, and is built to support the the W3C Push spec.
For how to read and respond to autopush error codes, see Errors.
For an overview of the Mozilla Push Service and where autopush fits in,
see the Mozilla Push Service architecture
diagram.
This push service uses websockets to talk to Firefox, with a Push
endpoint that implements the WebPush
standard for its http
API.
Autopush APIs
For developers writing mobile applications in Mozilla, or web developers using Push on the web with Firefox.
Running Autopush
If you just want to run autopush, for testing Push locally with Firefox, or to deploy autopush to a production environment for Firefox.
Developing Autopush
For developers wishing to work with the latest autopush source code, it's recommended that you first familiarize yourself with running Autopush before proceeding.
Source Code
All source code is available on github under autopush.
- autoconnect - WebSocket server for desktop UAs
- autoconnect_common - Common functions for autoconnect
- autoconnect_settings - Settings and configuration
- autoconnect_web - HTTP functions
- autoconnect_ws - WebSocket functions
- autoconnect_ws_sm - WebSocket state machine
- autoendpoint - HTTP server for publication and mobile
- autopush_common - Common functions for autoconnect and autoendpoint
We are using rust for a number of optimizations
and speed improvements. These efforts are ongoing and may be subject to
change. Unfortunately, this also means that formal documentation is not
yet available. You are, of course, welcome to review the code located in
autopush-rs
.
Changelog
Bugs/Support
Bugs should be reported on the autopush github issue tracker.
autopush Endpoints
autopush is automatically deployed from master to a dev environment for testing, a stage environment for tagged releases, and the production environment used by Firefox/FirefoxOS.
dev
- Websocket: wss://autoconnect.dev.mozaws.net/
- Endpoint: https://updates-autopush.dev.mozaws.net/
stage
- Websocket: wss://autoconnect.stage.mozaws.net/
- Endpoint: https://updates-autopush.stage.mozaws.net/
production
- Websocket: wss://push.services.mozilla.com/
- Endpoint: https://updates.push.services.mozilla.com/
Reference
License
autopush
is offered under the Mozilla Public License 2.0.