Synology NAS Management with dsget
CLI tool for Synology Download Station and File Station.
⚠️ Important: File Naming
Torrent files MUST have .torrent extension or Download Station will reject them with error 1903.
When receiving torrent files from Telegram/messaging (which often have UUID names without extension):
bash
# WRONG - will fail with error 1903 dsget tasks add "/path/to/2076c91d-aa25-47f1-96eb-22c6b2c340b7" # RIGHT - rename first cp "/path/to/uuid-file" "/path/to/filename.torrent" dsget tasks add "/path/to/filename.torrent" -d "video/tvshows/Series"
Authentication
bash
# Login (credentials stored locally) dsget login --url https://nas.example.com:5001 -u admin dsget login -h 192.168.1.100 -p 5001 -u admin -s # -s for HTTPS # Logout dsget logout
Config stored in: ~/Library/Preferences/dsget-nodejs/config.json (macOS)
Download Station - Tasks
bash
# List tasks dsget tasks # or: dsget tasks list dsget tasks ls -v # verbose with details # Filter by status dsget tasks ls -s downloading dsget tasks ls -s seeding dsget tasks ls -s paused dsget tasks ls -s finished # Add downloads dsget tasks add "magnet:?xt=urn:btih:..." dsget tasks add "https://example.com/file.torrent" dsget tasks add /path/to/local.torrent dsget tasks add <url> -d /volume1/downloads # custom destination # Control tasks dsget tasks pause <id> # or: dsget tasks pause all dsget tasks resume <id> # or: dsget tasks resume all dsget tasks delete <id> dsget tasks delete <id> -f # skip confirmation # Task info dsget tasks info <id>
File Station
bash
# List shared folders dsget files shares # List files dsget files ls /video/tvshows dsget files ls /video/movies -l # long format dsget files ls /path -a # include hidden # Create folder dsget files mkdir /video/tvshows "New Series" # File info dsget files info /path/to/file
BT Search
bash
# Search torrents (uses EZTV, The Pirate Bay) dsget search find "query" --limit 20 # Available modules dsget search modules
RSS Feeds
bash
# List feeds dsget feeds list # View feed items dsget feeds items <feedId> dsget feeds items <feedId> --limit 50 # Refresh feed dsget feeds refresh <feedId> # Download from feed item URL dsget feeds download "<torrent-url>"
Destination Guidelines
When adding a torrent, determine the correct destination folder:
| Content Type | Destination | Example |
|---|---|---|
| Movie | /video/movies | dsget tasks add movie.torrent -d /video/movies |
| Complete series | /video/tvshows/<Series Name> | -d "/video/tvshows/Breaking Bad" |
| Season pack | /video/tvshows/<Series Name> | -d "/video/tvshows/The Office" |
| Single episode | /video/tvshows/<Series Name>/Season X | -d "/video/tvshows/The Pitt/Season 2" |
| Other/Unknown | Default (no -d flag) | dsget tasks add file.torrent |
How to find the right folder
⚠️ IMPORTANT: Always check the existing folder structure before adding episodes!
- •Find the series folder:
dsget files ls /video/tvshows | grep -i "<series name>" - •If series folder EXISTS, check its structure:
dsget files ls "/video/tvshows/<Series Name>"- •If you see Season folders (Season 1, Season 2, etc.) → use the appropriate season folder
- •If you see loose episode files (no season folders) → add directly to the series folder
- •Match the existing pattern — don't create Season folders if the series doesn't use them
- •If series folder DOES NOT EXIST (new series):
- •Create series folder:
dsget files mkdir "/video/tvshows" "<Series Name> (Year)" - •Create season folder:
dsget files mkdir "/video/tvshows/<Series Name>" "Season X" - •Add to the season folder
- •Create series folder:
Examples
bash
# Movie dsget tasks add "Inception.2010.torrent" -d /video/movies # Episode - FIRST check the structure: dsget files ls "/video/tvshows/The Pitt" # Output shows: Season 1/, Season 2/ → USE season folders dsget tasks add "The.Pitt.S02E03.torrent" -d "/video/tvshows/The Pitt/Season 2" dsget files ls "/video/tvshows/Percy Jackson y los Dioses del Olimpo" # Output shows: S02E01.mkv, S02E02.mkv... → NO season folders, episodes are loose dsget tasks add "Percy.Jackson.S02E08.torrent" -d "/video/tvshows/Percy Jackson y los Dioses del Olimpo" # Full season pack dsget tasks add "Breaking.Bad.S01.torrent" -d "/video/tvshows/Breaking Bad"
Common Workflows
Add torrent to specific folder
bash
dsget tasks add "magnet:..." -d /video/movies
Search and download (RSS feeds only)
bash
# List available RSS feeds dsget feeds list # Search in feed items dsget feeds items <feedId> --limit 50 # Download from feed item dsget feeds download "<torrent-url>"
Download from private tracker feed
bash
# List feed items to find the torrent dsget feeds items 2 --limit 50 # Download using the feed item URL dsget feeds download "https://tracker.example.com/download.php?id=..." # Or add directly dsget tasks add "https://tracker.example.com/download.php?id=..."