Skip to content
fb

v0.1.1

fb reads Facebook without a cookie, and a new archive command.

This release changes how fb reaches Facebook and adds a command for mirroring a Page to disk.

fb now reads Facebook as an anonymous web crawler. It presents a crawler user agent and reads the same server-rendered pages Facebook serves to search engines, so a public Page, profile, group, or post comes back as HTML with the text, counts, media, and a few preview comments baked in. There is no login, no cookie, and no browser to drive.

The whole cookie layer is gone: the --cookie and --cookie-file flags, the FACEBOOK_COOKIE environment variables, and the cookie request header. fb whoami now reports the access mode and user agent instead of a session.

The trade-off is depth. A feed exposes the most recent posts rather than the full history, and a post carries a handful of preview comments rather than its whole thread. Private targets still exit 4.

Archiving

  • fb archive <page> mirrors a Page's recent feed to a browsable tree of Markdown: one file per post under <out>/<page>/YYYY/MM/, plus a generated README.md indexed by year and month with a stats table.
  • Re-running is incremental. A small index.json records what is on disk, so a second run fetches only new posts; --force overwrites. The index and each post are written as the crawl proceeds, so an interrupted run resumes cleanly.
  • Post slugs are transliterated to ASCII, Vietnamese diacritics included, so accented titles produce clean file names.

Fixes

  • Group post permalinks (groups/<id>/posts/<id>) are now recognized when walking a feed.