Skip to content

About

SAP Web Download Manager is a reimplementation of the official SAP Download Manager Java app written in Python using a Webinterface

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

SAP Web Download Manager

CI Release License: Apache-2.0 Python 3.12+ Container

A web-based reimplementation of the official SAP Download Manager - the Java desktop tool that downloads your SAP Support Portal download basket to your machine. This fork keeps the protocol and features of the original, but replaces the desktop GUI with a modern web UI and runs as a containerized server: operate it from any browser, files land on the server.

Original: SAP Download Manager (official, Java)

Basket view

Highlights

  • Same wire protocol as the official client (Support Portal OData and legacy Service Marketplace) - your S-User and password just work
  • Resumable downloads with crash-safe checkpoints; pause/resume/cancel
  • Scheduled, fully automatic (startup) and watch-mode downloads (auto-download new basket items); optional parallel object downloads
  • Fetched files can be pulled straight from the server through the browser - no SSH/SMB needed
  • S-User/password or X.509 client certificate; optional proxy
  • Fiori-style OpenUI5 UI, light and dark theme, live progress over WebSocket, English/German
  • REST API + MCP server for AI-agent remote control; Prometheus metrics and webhook notifications
  • Ships as a Docker image - headless server, internal plain HTTP

Quickstart

mkdir -p data downloads        # host dirs must be owned by uid 1000
docker compose up -d           # open http://localhost:8000/ui/

docker compose up uses the published image (ghcr.io/randomstr1ng/sap-web-download-manager:latest); to run from source instead use docker compose up --build.

Or use the published image directly:

docker run -d -p 8000:8000 \
  -v "$PWD/data:/data/app" -v "$PWD/downloads:/data/downloads" \
  ghcr.io/randomstr1ng/sap-web-download-manager:latest

The first start opens a wizard asking for your S-User and password (URL and download directory are prefilled). Fill your basket in the Software Download Center, press Refresh, and download.

One-shot download of the whole basket (e.g. via cron):

docker compose run --rm sapdlm python -m sapdlm.main --auto

Documentation

  • How it works - architecture, download engine, configuration, credentials, API/MCP reference, security model, Docker notes
  • Protocol reference - the wire protocol of the official Download Manager, reverse engineered and documented
  • Development - venv setup, tests, lint, tooling

Screenshots

First-run wizard Settings
Dark mode

License

Apache License, Version 2.0. The vendored OpenUI5 runtime is likewise Apache-2.0 (see ui5/LICENSE.txt); Python dependencies are MIT/BSD/Apache-2.0 (see pyproject.toml).

Notes

  • This is an unofficial community project, not affiliated with or endorsed by SAP SE. "SAP" is a trademark of SAP SE; use of SAP services requires your own credentials and is subject to SAP's terms of use.
  • The basket is filled on the Software Download Center website; this tool reads and downloads it (adding items is not part of the original client's protocol).
  • The vendored OpenUI5 runtime is ~133 MB - clones are correspondingly sized.

About

SAP Web Download Manager is a reimplementation of the official SAP Download Manager Java app written in Python using a Webinterface

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages