# synology-dsget > Manage Synology NAS via dsget CLI: Download Station (add/pause/resume/delete torrents, magnets, URLs), File Station (browse folders, create folders, file info), and RSS Feeds (list, view items, download). Use when managing downloads on a Synology NAS or browsing NAS files. - Author: Iván Moreno Zambudio - Repository: ivanmzcom/clawdbot-skills - Version: 20260124195702 - Stars: 0 - Forks: 0 - Last Updated: 2026-02-06 - Source: https://github.com/ivanmzcom/clawdbot-skills - Web: https://mule.run/skillshub/@@ivanmzcom/clawdbot-skills~synology-dsget:20260124195702 --- --- name: synology-dsget description: "Manage Synology NAS via dsget CLI: Download Station (add/pause/resume/delete torrents, magnets, URLs), File Station (browse folders, create folders, file info), and RSS Feeds (list, view items, download). Use when managing downloads on a Synology NAS or browsing NAS files." --- # 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 -d /volume1/downloads # custom destination # Control tasks dsget tasks pause # or: dsget tasks pause all dsget tasks resume # or: dsget tasks resume all dsget tasks delete dsget tasks delete -f # skip confirmation # Task info dsget tasks info ``` ## 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 dsget feeds items --limit 50 # Refresh feed dsget feeds refresh # Download from feed item URL dsget feeds download "" ``` ## 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/` | `-d "/video/tvshows/Breaking Bad"` | | **Season pack** | `/video/tvshows/` | `-d "/video/tvshows/The Office"` | | **Single episode** | `/video/tvshows//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!** 1. **Find the series folder**: `dsget files ls /video/tvshows | grep -i ""` 2. **If series folder EXISTS**, check its structure: `dsget files ls "/video/tvshows/"` - 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 3. **If series folder DOES NOT EXIST** (new series): - Create series folder: `dsget files mkdir "/video/tvshows" " (Year)"` - Create season folder: `dsget files mkdir "/video/tvshows/" "Season X"` - Add to the season 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 --limit 50 # Download from feed item dsget feeds download "" ``` ### 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=..." ```