README.md

changeset 0
ed346ec34e2a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/README.md	Mon Aug 01 11:29:27 2022 +0100
@@ -0,0 +1,40 @@
+This utility strips NUL bytes from Conversations backup (.ceb) files. For
+unknown reasons, backups from certain Android versions/devices seem to end up
+with these erroneous bytes, and then fail to import in the app.
+
+## Usage
+
+### Run via docker
+
+This option works on any system where docker is installed, and does not require
+anything else to be installed on the host system.
+
+```
+docker run --rm -v "$PWD:/data" mwild1/fix-ceb-nulls BACKUP_FILE_NAME BACKUP_FILE_PASSWORD
+```
+
+The *BACKUP_FILE_NAME* should be in the current directory where you run the
+command. The result will also be written to the current directory, with the
+suffix `-fixed.ceb`.
+
+### Run manually
+
+The script has a few dependencies, but they shouldn't be too hard to install
+on most systems.
+
+Dependencies:
+
+- Lua 5.3
+- lua-zlib (luarocks: lua-zlib, Debian/Ubuntu: lua-zlib)
+- luaossl 2022 (luarocks: luaossl, Debian/Ubuntu: lua-luaossl (⚠️ at the time of
+    writing this, Debian/Ubuntu do not have the latest version available,
+    install via luarocks instead))
+
+Run:
+
+```
+lua5.3 fix-ceb-nulls.lua BACKUP_FILE_NAME BACKUP_FILE_PASSWORD
+```
+
+The result will be written to a new file in the same location as the original
+file, but with a `-fixed.ceb` suffix.

mercurial