v0.1.0
The first release of fb, a delightful, scriptable command line for Facebook. It turns facebook.com into typed, structured data from a single pure-Go binary with no runtime dependencies and no browser.
Highlights
- Entities. Resolve any Page, profile, or group to a rich record, and stream its feed with
--posts, bounded by--limitor by date. - Posts in depth. Pull a post with its full comment thread (
--comments,--replies, withparent_idon every reply) and its reaction breakdown (--reactions,--list). Pagination walks to the end, so-n 0takes everything. - Media. Stream photos, videos, and reels; resolve a single photo or video including playable sources with
--streams; list public events. - Discovery.
searchacross Facebook's surfaces by type, andfb idto classify any handle, id, or URL with no network call. - Datasets.
seeda root into URLs,crawlthem into records, anddb querya local SQLite store with SQL. - Output. One formatter for every command:
table,jsonl,json,csv,tsv,yaml,url, andraw, with--fieldsand--template.
Install
Homebrew
brew install tamnd/tap/fbScoop (Windows)
scoop bucket add tamnd https://github.com/tamnd/scoop-bucket
scoop install fbContainer
docker run --rm ghcr.io/tamnd/fb:0.1.0 versionDebian / Ubuntu, Fedora / RHEL, Alpine
Download the .deb, .rpm, or .apk for your architecture from the assets below and install it with your package manager.
Binary
Download the archive for your platform from the assets below, extract, and put fb on your PATH.
Notes
- Facebook gates most reads behind a login. fb reads the no-JavaScript surface and is explicit about the wall: commands that need a session exit
4with a hint. Supply a cookie with--cookie,--cookie-file, orFACEBOOK_COOKIEto unlock full data. - Every archive ships a CycloneDX SBOM, and
checksums.txtis signed with keyless cosign (checksums.txt.sig+checksums.txt.pem).
Documentation: https://facebook-cli.tamnd.com