Skip to content

Releases: tamnd/douyin-cli

v0.1.1

14 Jun 16:53
v0.1.1
fb1c9a1

Choose a tag to compare

Republish of v0.1.0 so the Go module proxy serves the kit-based code.

v0.1.0's module zip was cached by proxy.golang.org at an earlier scaffold
commit before the framework rebuild merged, and a module version is immutable
once cached. v0.1.1 points at the same merged code, so go install github.com/tamnd/douyin-cli/cmd/douyin@latest now resolves to the kit build.
The binaries, packages, and container image are identical in content to the
v0.1.0 release assets.

See the v0.1.0 release notes for the full feature list. Docs:
https://douyin-cli.tamnd.com

v0.1.0

14 Jun 16:47
v0.1.0
fb1c9a1

Choose a tag to compare

First release of douyin, a command line for Douyin (抖音).

douyin reads public Douyin data and prints clean, pipeable records from one
pure-Go binary, with no API key and no login. It is built on the any-cli/kit
framework, so every read operation works three ways from the same code: as a
CLI subcommand, over HTTP (douyin serve, NDJSON), and over MCP (douyin mcp).

Commands

  • hot — the hot-search billboard, in rank order (--tab realtime|video|music|star)
  • video <url|id> — one video record
  • user <sec_uid|url> — a profile record
  • posts <sec_uid|url> — a user's public videos
  • comments <url|id> — comments under a video
  • search <query> — mixed search hits

Plus serve, mcp, raw, and version.

Output

A table at a terminal, JSONL when piped, so douyin hot | jq works with no
flags. -o json|jsonl|csv|tsv|url|markdown|raw, with --fields and
--template to shape each record.

Anti-bot honesty

The hot-search billboard is open from any IP and returns real data. The signed
aweme/v1/web/* surfaces (video, user, posts, comments, search) are signed the
way the web client signs them, with a reimplemented a_bogus and a fresh
msToken, but Douyin answers them with an empty body or an __ac challenge
from non-China and datacenter IPs. Each block maps to a clean exit (4 needs a
residential session, 3 no results, 6 not found) rather than a crash or faked
data; the signing and parsers are correct and serve from a China IP or a warm
session.

Install

go install github.com/tamnd/douyin-cli/cmd/douyin@latest

Prebuilt archives, deb/rpm/apk packages, SBOMs, and a cosigned checksum list are
attached. Container image: ghcr.io/tamnd/douyin:0.1.0.

Docs: https://douyin-cli.tamnd.com