{"id":21296882,"url":"https://github.com/reddec/syno-cli","last_synced_at":"2025-10-06T23:47:39.840Z","repository":{"id":57695019,"uuid":"446451666","full_name":"reddec/syno-cli","owner":"reddec","description":"Synology unofficial API CLI and library","archived":false,"fork":false,"pushed_at":"2024-10-10T15:40:44.000Z","size":330,"stargazers_count":43,"open_issues_count":6,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-10-06T23:47:36.051Z","etag":null,"topics":["certificates","docker-container","dsm","letsencrypt","synology","synology-nas"],"latest_commit_sha":null,"homepage":"https://reddec.net/posts/how-to-get-ssl-on-synology/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/reddec.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-01-10T14:16:25.000Z","updated_at":"2025-07-04T01:26:48.000Z","dependencies_parsed_at":"2025-07-04T15:34:02.427Z","dependency_job_id":"2ed1e997-a689-406e-bfff-878317fc17f2","html_url":"https://github.com/reddec/syno-cli","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/reddec/syno-cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reddec%2Fsyno-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reddec%2Fsyno-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reddec%2Fsyno-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reddec%2Fsyno-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/reddec","download_url":"https://codeload.github.com/reddec/syno-cli/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reddec%2Fsyno-cli/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278698808,"owners_count":26030398,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-06T02:00:05.630Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["certificates","docker-container","dsm","letsencrypt","synology","synology-nas"],"created_at":"2024-11-21T14:30:20.781Z","updated_at":"2025-10-06T23:47:39.824Z","avatar_url":"https://github.com/reddec.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Synology CLI\n\nUnofficial wrapper over Synology API in Go.\n\nFocus on administrative tasks.\n\n* Tutorial for [automatic SSL certificates on NAS](https://reddec.net/articles/how-to-get-ssl-on-synology/)\n\n\u003e [!TIP]\n\u003e It does support creating tasks in Download Station using files (torrent, nzb, urls); though it uses undocumented API.\n\n\nSupports:\n\n* X86-64 and ARM [builds](https://github.com/reddec/syno-cli/releases/latest)\n* Universal docker image (arm and amd64)\n* As [CLI](https://github.com/reddec/syno-cli/releases/latest) and\n  as [library](https://pkg.go.dev/github.com/reddec/syno-cli)\n\n## Development notes\n\n- Stable are only tags prefixed by `v` (ex: `v0.1.4`)\n\n## Installation\n\n* Pre-built binaries from [releases](https://github.com/reddec/syno-cli/releases/latest)\n* Docker (universal): `ghcr.io/reddec/syno-cli:\u003crelease\u003e` (\n  see [releases](https://github.com/reddec/syno-cli/releases/latest))\n* From source (requires latest Go): `go install github.com/reddec/syno-cli/cmd/syno-cli@latest`\n\n## Usage\n\nEach command supports `--help` option.\n\n### main\n\n```\nUsage:\n  syno-cli [OPTIONS] \u003ccert\u003e\n\nUnofficial CLI for Synology DSM\nAuthor: Aleksandr Baryshnikov \u003cowner@reddec.net\u003e\n\nHelp Options:\n  -h, --help  Show this help message\n\nAvailable commands:\n  cert  manager certificates (aliases: certificates, certificate, certs, cert, c)\n  ds    download station (aliases: download-station, download, dl, d)\n```\n\n### cert\n\n```\nUsage:\n  syno-cli [OPTIONS] cert \u003ccommand\u003e\n\nHelp Options:\n  -h, --help      Show this help message\n\nAvailable commands:\n  auto    automatically issue and push certificates (aliases: dns01, lego, a)\n  delete  delete certificate (aliases: remove, rm, del, d)\n  list    list certificates (aliases: ls, l)\n  upload  upload certificate (aliases: up, u)\n```\n\n### automatic certs\n\n```\nUsage:\n  syno-cli [OPTIONS] cert auto [auto-OPTIONS] [domain...]\n\nHelp Options:\n  -h, --help                   Show this help message\n\n[auto command options]\n      -c, --cache-dir=         Cache location for accounts information (default: .cache) [$CACHE_DIR]\n      -r, --renew-before=      Renew certificate time reserve (default: 720h) [$RENEW_BEFORE]\n      -e, --email=             Email for contact [$EMAIL]\n      -p, --provider=          DNS challenge provider [$PROVIDER]\n      -D, --dns=               Custom resolvers (default: 8.8.8.8) [$DNS]\n      -t, --timeout=           DNS challenge timeout (default: 1m) [$TIMEOUT]\n      -d, --domains=           Domains names to issue [$DOMAINS]\n\n    Synology Client:\n          --synology.user=     Synology username [$SYNOLOGY_USER]\n          --synology.password= Synology password [$SYNOLOGY_PASSWORD]\n          --synology.url=      Synology URL (default: http://localhost:5000) [$SYNOLOGY_URL]\n          --synology.insecure  Disable TLS (HTTPS) verification [$SYNOLOGY_INSECURE]\n```\n\n## Download station\n\nIn progress. Already supports creating task from files.\n\nAPI supported:\n\n- create task\n- list tasks\n\nCommand: `syno-cli ds ...`\n\n```\nUsage:\n  syno-cli [OPTIONS] ds \u003ccreate | list\u003e\n\nHelp Options:\n  -h, --help      Show this help message\n\nAvailable commands:\n  create  create task (aliases: add, new, c)\n  list    list tasks (aliases: ls, l)\n```\n\n### Create download task\n\n```\nUsage:\n  syno-cli [OPTIONS] ds create [create-OPTIONS] [ref]\n\nHelp Options:\n  -h, --help                              Show this help message\n\n[create command options]\n          --debug                         Enable debug logging [$DEBUG]\n      -f, --format=[torrent|txt|nzb|auto] File format (default: auto) [$FORMAT]\n      -d, --destination=                  Destination directory (default: Downloads) [$DESTINATION]\n\n    Synology Client:\n          --synology.user=                Synology username [$SYNOLOGY_USER]\n          --synology.password=            Synology password [$SYNOLOGY_PASSWORD]\n          --synology.url=                 Synology URL (default: http://localhost:5000) [$SYNOLOGY_URL]\n          --synology.insecure             Disable TLS (HTTPS) verification [$SYNOLOGY_INSECURE]\n          --synology.timeout=             Default timeout (default: 30s) [$SYNOLOGY_TIMEOUT]\n\n[create command arguments]\n  ref:                                    URL or file name. If not set or set to - (dash) - STDIN will be used\n```\n\n- If `ref` is set it could be URL, including magnet or path to file.\n\n### List tasks\n\n```\nUsage:\n  syno-cli [OPTIONS] ds list [list-OPTIONS]\n\nHelp Options:\n  -h, --help                    Show this help message\n\n[list command options]\n          --debug               Enable debug logging [$DEBUG]\n      -f, --format=[table|json] How to show output (default: table) [$FORMAT]\n      -o, --offset=             Offset (default: 0) [$OFFSET]\n      -l, --limit=              Max number of items (default: 1000) [$LIMIT]\n\n    Synology Client:\n          --synology.user=      Synology username [$SYNOLOGY_USER]\n          --synology.password=  Synology password [$SYNOLOGY_PASSWORD]\n          --synology.url=       Synology URL (default: http://localhost:5000) [$SYNOLOGY_URL]\n          --synology.insecure   Disable TLS (HTTPS) verification [$SYNOLOGY_INSECURE]\n          --synology.timeout=   Default timeout (default: 30s) [$SYNOLOGY_TIMEOUT]\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freddec%2Fsyno-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Freddec%2Fsyno-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freddec%2Fsyno-cli/lists"}