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--typecsdn search <query...>: blog search hits, with--type blog|all|ask|download|bbscsdn article <url-or-ref>: one article with its body (full URL orusername/id)csdn user <username-or-url>: a public profilecsdn posts <username-or-url>: a user's published articlescsdn 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 (北京创新乐知网络技术有限公司).