SauceLLC / sauce4zwift

Sauce for Zwift™
GNU General Public License v3.0
106 stars 26 forks source link

Sauce for Zwift™

Sauce

A collection of add-ons and replacement widgets for Zwift

Sauce for Zwift™ extends the zwift cycling and running simulator with more stats and pretty things.

Requirements:

As of July 2022 Sauce is a full encrypted game client that "watches" your normal Zwift account like a 2nd instance of Zwift itself. As such, you'll need to create a second login (free is fine). Although a bit annoying this does allow you to run S4Z on any device, anywhere.

Download for Mac / Windows / Linux:

https://www.sauce.llc/products/sauce4zwift/download


Great overview video from Si Bradeley...

Intro Video

Feature Highlights

Headless mode (ADVANCED):

Sauce can run as a standalone web server if you don't need or want the overlay window capabilities. You will need to provide credentials via the command line or through shell environment variables. Full usage details are given when your run Sauce with the arguments --headless and --help. For example...

$ ./sauce4zwift-1.1.4-dev.AppImage --headless --help
Usage: ./sauce4zwift-1.1.4-dev.AppImage [--headless] --main-username USERNAME
  --main-password PASSWORD --monitor-username USERNAME --monitor-password PASSWORD
  [--athlete-id ATHLETE_ID] [--random-watch [COURSE_ID]]
  [--disable-game-connection] [--debug-game-fields] [--help]

Arguments:
  --headless                      Run in headless mode.  NOTE: All settings for
                                  headless mode are seperate from normal mode.
  --main-username USERNAME        The main Zwift username (email)
                                  (env variable: MAIN_USERNAME)
                                  [REQUIRED]
  --main-password PASSWORD        The main Zwift password
                                  (env variable: MAIN_PASSWORD)
                                  [REQUIRED]
  --monitor-username USERNAME     The monitor Zwift username (email)
                                  (env variable: MON_USERNAME)
                                  [REQUIRED]
  --monitor-password PASSWORD     The monitor Zwift password
                                  (env variable: MON_PASSWORD)
                                  [REQUIRED]
  --athlete-id ATHLETE_ID         Override the athlete ID for the main Zwift
                                  account
  --random-watch [COURSE_ID]      Watch random athlete; optionally specify a
                                  Course ID to choose the athlete from
  --disable-game-connection       Disable the companion protocol service
  --debug-game-fields             Include otherwise hidden fields from game data
                                  [default=true]
  --help                          Show this info about args
$ MON_PASSWORD=secret MAIN_PASSWORD=othersecret ./sauce4zwift-1.1.4-dev.AppImage \
    --headless \
    --main-username foobar@gmail.com \
    --monitor-username foobar+sauce@gmail.com
...
Startup took 385ms
Web server started at: http://192.168.17.100:1080/
  HTTP API at: http://192.168.17.100:1080/api
  WebSocket API at: ws://192.168.17.100:1080/api/ws/events
Web server started at: https://192.168.17.100:1081/
  HTTP API at: https://192.168.17.100:1081/api
  WebSocket API at: wss://192.168.17.100:1081/api/ws/events
...

Event Organizer Hashtags

For Event Organizers only: Control Sauce behavior for your events with these tags: https://www.sauce.llc/products/sauce4zwift/event_hashtags

Release Notes

https://www.sauce.llc/products/sauce4zwift/release_notes

Support my work

Disclaimer

I don't work for Zwift nor do I represent them. I assume no liability bla bla bla. You get the idea.

Attribution

Legal

Privacy Policy Terms and Conditions