CDMClient
CDM - Centralized Download Manager Client CDMClient is the client application for the CDM Server.
This client communicates with the CDM Server to periodically send the download status from Transmission/QBittorrent and check for new torrent files to download. If new torrents are available, they are downloaded and added to Transmission/QBittorrent client.
Installation
Install or Upgrade the Package
Run the following command to install or upgrade CDMClient:
python3 -m pip install --upgrade CDMClient --user
Create a Systemd Service
To set up CDMClient as a systemd service, execute the following commands:
-
Create the service file:
echo "[Unit] Description=cdm-client service After=multi-user.target Conflicts=getty@tty1.service [Service] User=${USER} Type=simple Environment=LC_ALL=C.UTF-8 Environment=LANG=C.UTF-8 ExecStart=${HOME}/.local/bin/cdm-client Restart=on-failure RestartSec=3 [Install] WantedBy=multi-user.target" | sudo tee /etc/systemd/system/cdm-client.service
-
Reload systemd and enable the service:
sudo systemctl daemon-reload sudo systemctl enable cdm-client.service sudo systemctl start cdm-client.service
Add automatic update (optional)
To keep CDMClient updated automatically, you can add a cron job. Run:
crontab -e
Then add the following line to the crontab file:
0 3 * * * /usr/bin/python3 -m pip install --upgrade CDMClient --user && systemctl restart cdm-client.service
Configuration
The configuration file is located at:
~/.config/cdm_client/config.ini
This file is automatically generated when the service starts. Below is an example configuration:
[connection]
server_host = "https://cdmserver.com"
api_key = "1409d6ed79280aadcbe20f8f21981e89"
client_host =
client_port =
client_username =
client_password =
client_type= transmission # possible values: transmission or qbitorrent
Configuration Details:
server_host: The full URL of the CDM Server (e.g.,https://cdmserver.com).api_key: The API key generated when adding a new device on the CDM Server's devices page. Refer to the Devices Page Documentation.client_usernameandclient_password: Required authentication for the selected torrent client.client_type: Specify eithertransmissionorqbitorrent, depending on the torrent client you are using.client_hostandclient_port: Optional. If not specified, defaults tolocalhostand the default port for the selected client type.
Viewing Logs
To monitor the service logs, use the following command:
journalctl -fu cdm-client
Torrent Migration
You can migrate torrents between Transmission and qBittorrent with:
cdm-migrate --source-type transmission --target-type qbittorrent \
--source-host 127.0.0.1 --source-port 9091 --source-username user --source-password pass \
--target-host 127.0.0.1 --target-port 8080 --target-username admin --target-password adminadmin
Recommended first run (dry-run)
cdm-migrate --source-type transmission --target-type qbittorrent --dry-run
Reverse direction (qBittorrent -> Transmission)
cdm-migrate --source-type qbittorrent --target-type transmission
Metadata
Release files for cdmclient 1.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cdmclient-1.0.2.tar.gz | 11.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cdmclient-1.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 25.9 kB
Release files / cdmclient-1.0.2.tar.gz
| Download URL | cdmclient-1.0.2.tar.gz |
|---|---|
| Size | 11.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
34bf939571188b0fe7e15de9c53a4815c218b1113e1fe23cc7e052ca86d0b4bb
|
|
BLAKE2b-256 checksum How to use checksums |
697a3347f37e2734e8988a4c71fa06a4a3fb138019aa77a24e1c85e76de43bc3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / cdmclient-1.0.2-py3-none-any.whl
| Download URL | cdmclient-1.0.2-py3-none-any.whl |
|---|---|
| Size | 14.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b20d9d425b5f4c414b2f0f428e581f4b904d16bb88eb8a704236552567c72d15
|
|
BLAKE2b-256 checksum How to use checksums |
97ecff104a8435ac159c16d605c92bfaf1049ba2bb596112f9a4a3a1adf0548e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|