Skip to content

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 14 Jun 16:47
v0.1.0
fb1c9a1

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