Skip to main content

Codexctl

A utility program that helps to manage the remarkable device version utilizing ddvks update server

Caveat for downgrading from 3.11.2.5 or greater to a version less than 3.11.2.5

If your reMarkable device is at or above 3.11.2.5 and you want to downgrade to a version below 3.11.2.5, codexctl cannot do this currently. Please refer to https://github.com/Jayy001/codexctl/issues/95#issuecomment-2305529048 for manual instructions.

Paper Pro bootloader updates

When downgrading a Paper Pro device across the 3.20/3.22 firmware boundary, codexctl automatically handles bootloader updates. It will download the current version's firmware if needed and extract the necessary bootloader files (update-bootloader.sh and imx-boot) to ensure a safe downgrade.

Installation

You can find pre-compiled binaries on the releases page. This includes a build for the reMarkable itself, as well as well as builds for linux, macOS, and Windows. Alternatively, you can install directly from pypi with pip install codexctl. Codexctl currently only has support for a command line interfaces but a graphical interface is soon to come.

Finally, if you want to build it yourself, you can run make executable which requires python 3.11 or newer, python-venv and pip. Linux also requires libfuse-dev.

General useage

❯ codexctl --help
usage: Codexctl [-h] [--verbose] [--address ADDRESS] [--password PASSWORD]
                {install,download,backup,cat,ls,extract,mount,upload,status,restore,list} ...

positional arguments:
  {install,download,backup,cat,ls,extract,mount,upload,status,restore,list}
    install             Install the specified version (will download if not available on the device)
    download            Download the specified version firmware file
    backup              Download remote files to local directory
    cat                 Cat the contents of a file inside a firmwareimage
    ls                  List files inside a firmware image
    extract             Extract the specified version update file
    mount               Mount the specified version firmware filesystem
    upload              Upload folder/files to device (pdf only)
    status              Get the current version of the device and other information
    restore             Restores to previous version installed on device
    list                List all available versions

options:
  -h, --help            show this help message and exit
  --verbose, -v         Enable verbose logging
  --address ADDRESS, -a ADDRESS
                        Specify the address of the device
  --password PASSWORD, -p PASSWORD
                        Specify password or path to SSH key for remote access

Examples

  • Installing the latest for device (will automatically figure out the version)
codexctl install latest
  • Downloading rmpp version 3.15.4.2 to a folder named out and then installing it
codexctl download 3.15.4.2 --hardware rmpp -o out
codexctl install ./out/remarkable-ct-prototype-image-3.15.4.2-ferrari-public.swu
  • Downloading rmppm version 3.23.0.64 to a folder named out and then installing it
codexctl download 3.23.0.64 --hardware rmppm -o out
codexctl install ./out/remarkable-production-image-3.23.0.64-chiappa-public.swu
  • Backing up all documents to the cwd
codexctl backup 
  • Backing up modified/newer documents only, overwrites out-of-date files on disk
codexctl backup --incremental
  • Backing up only documents in a folder named "FM" to cwd, without overwriting any current files
codexctl backup -l root -r FM --no-recursion --no-overwrite
  • Getting the version of the device and then switching to previous version
codexctl status
codexctl restore
  • Download 3.8.0.1944 for rm2, then cat the /etc/version file from it
codexctl download 3.8.0.1944 --hardware rm2
codexctl cat 3.8.0.1944_reMarkable2-7eGpAv7sYB.signed /etc/version
  • Extract the filesystem image of an upgrade file as a file named extracted
codexctl extract remarkable-production-image-3.22.0.64-ferrari-public.swu -o extracted

Metadata

Release files for codexctl 1.2.1.post1782343066

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for codexctl 1.2.1.post1782343066
File Size Uploaded Provenance
codexctl-1.2.1.post1782343066.tar.gz 37.0 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for codexctl 1.2.1.post1782343066
File Interpreter ABI Platform
codexctl-1.2.1.post1782343066-py3-none-any.whl Python 3 none any Details

Total release size: 76.7 kB

Release files / codexctl-1.2.1.post1782343066.tar.gz

Download URL codexctl-1.2.1.post1782343066.tar.gz
Size 37.0 kB
Tags Source
SHA-256 checksum
How to use checksums
4fe5397b135487d4808c2d65aa413020d974fddeccca0d3f05e3ce692139192d
BLAKE2b-256 checksum
How to use checksums
13428f0174d67b175e193a48a5c4727b4df3dcda377903499cd70fb2d8907306
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.4.1 CPython/3.13.14 Linux/6.17.0-1018-azure

Release files / codexctl-1.2.1.post1782343066-py3-none-any.whl

Download URL codexctl-1.2.1.post1782343066-py3-none-any.whl
Size 39.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0e1d39ef1cdab8635b9f46d7b2ab5fee90bd1248507af63e81af11e1efaef9c2
BLAKE2b-256 checksum
How to use checksums
e27f5732298f3c52878a68bf3094f0a522aa3666b6bda243a47c2a6798e3bd2f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.4.1 CPython/3.13.14 Linux/6.17.0-1018-azure

Security for codexctl 1.2.1.post1782343066

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page