A tool to export Keybase chats.
- Configuration file
- Export to jsonl (json lines)
- Export to SQLite
- Export to ElasticSearch
- Watcher for new messages
- Attachment downloading
- Incremental export
- Node.js (around version 10 or newer)
keybase-export
can be installed via npm:
$ npm install --global keybase-export
It is also possible to launch it as npx keybase-export
without installation.
Alternatively, the latest possible version can be obtained by
cloning the repository and running npm install
.
$ keybase-export [<options>] [<config>]
The configuration of keybase-export
is pretty barebones: it reads everything
it needs from a json file, that can be specified as a command line argument, or
defaults to the config.json
file in the current working directory. See the
config.example.json file for a config example and config.ts for the
config schema.
keybase-export --init <filename>
copies the config example to <filename>
.
Afterwards, you should edit it. At the very least, the chats
, username
,
and paperkey
fields should be replaced. That is, for this to work, you
should generate a paper key and paste it into the config. (There is an
alternative initFromRunningService
method that uses the running
instance of keybase, but it is not as stable.)
To enable debug logs, set the DEBUG
env variable to keybase-export*
.
Path can't be longer than 108 characters (failed to chdir)
On macOS, this error can occur during attachment downloading due to way too long
$TMPDIR
. As a workaround, just set the TMPDIR
env variable to something
shorter.