Skip to content
csdn

v0.1.1

First functional release of csdn-cli on the any-cli/kit framework.

The first functional release, built on the any-cli/kit framework. Each read operation is declared once and exposed three ways: as a CLI subcommand, over HTTP (csdn serve), and over MCP (csdn mcp). It supersedes v0.1.0, an early scaffold tag that predates the kit rebuild; install with @latest to get this one.

Read commands

  • csdn hot: the CSDN hot-rank board (CSDN热榜), as ranked article rows, with --type
  • csdn search <query...>: blog search hits, with --type blog|all|ask|download|bbs
  • csdn article <url-or-ref>: one article with its body (full URL or username/id)
  • csdn user <username-or-url>: a public profile
  • csdn posts <username-or-url>: a user's published articles
  • csdn comments <url-or-ref>: comments under an article (also a bare numeric id)

Plus csdn raw <url> (dump a page or endpoint body untouched), csdn serve, csdn mcp, csdn completion, and csdn version.

Open, no signing

CSDN is open: there is no request signing anywhere, which is the contrast with the rest of the fleet. Every read surface answers a plain anonymous GET, as long as the request carries a full browser header set (a real Chrome User-Agent, Accept-Language: zh-CN, and the Referer each surface expects). The client builds exactly that and picks the right Referer per surface.

The only block is the anti-bot edge, which fronts a 521 status, a 403 cdn_cgi_bs_bot challenge page, or an HTML challenge shell when it scores a caller as a non-browser. On a wall the command exits 4 (needs a residential session) cleanly; a 521 is retried, a 403 maps straight to walled. Live from a datacenter IP, hot, search, article, user, and posts returned rich real records, and comments was the one surface the wall held shut, reported honestly as exit 4. From a residential IP all six return real data. The tool never fakes data and never crashes on a wall.

Output

Table output at a terminal, JSONL when piped, plus json, markdown, csv, tsv, url, and raw. --fields, --template, and -n/--limit shape the stream.

Distribution

Pure-Go binary, CGO_ENABLED=0. One tag push fans out to archives for Linux, macOS, Windows, and FreeBSD, Linux packages (deb, rpm, apk), a multi-arch GHCR image (ghcr.io/tamnd/csdn), and the Homebrew and Scoop package managers.

Not affiliated

csdn is an independent tool and is not affiliated with, authorized, or endorsed by CSDN (北京创新乐知网络技术有限公司).