codexctl 0.1.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- codexctl/__init__.py +462 -0
- codexctl/__main__.py +4 -0
- codexctl/analysis.py +30 -0
- codexctl/device.py +640 -0
- codexctl/server.py +172 -0
- codexctl/sync.py +218 -0
- codexctl/updates.py +368 -0
- codexctl-0.1.0.dist-info/LICENSE +674 -0
- codexctl-0.1.0.dist-info/METADATA +105 -0
- codexctl-0.1.0.dist-info/RECORD +11 -0
- codexctl-0.1.0.dist-info/WHEEL +4 -0
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: codexctl
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Automated update managment for the ReMarkable tablet
|
|
5
|
+
License: GPLv3
|
|
6
|
+
Author: Jayy001
|
|
7
|
+
Author-email: github@skii.dev
|
|
8
|
+
Requires-Python: >=3.12,<4.0
|
|
9
|
+
Classifier: License :: Other/Proprietary License
|
|
10
|
+
Classifier: Programming Language :: Python :: 3
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
12
|
+
Requires-Dist: loguru (==0.7.2)
|
|
13
|
+
Requires-Dist: paramiko (==3.4.1)
|
|
14
|
+
Requires-Dist: psutil (==6.0.0)
|
|
15
|
+
Requires-Dist: remarkable-update-fuse (==1.2.2)
|
|
16
|
+
Requires-Dist: remarkable-update-image (==1.1.3)
|
|
17
|
+
Requires-Dist: requests (==2.31.0)
|
|
18
|
+
Description-Content-Type: text/markdown
|
|
19
|
+
|
|
20
|
+
<p align="center">
|
|
21
|
+
<img src="media/demoLocal.gif">
|
|
22
|
+
|
|
23
|
+
# Codexctl
|
|
24
|
+
A utility program that helps to manage the remarkable device version utilizing [ddvks update server](https://github.com/ddvk/remarkable-update)
|
|
25
|
+
|
|
26
|
+
### Installation & Use
|
|
27
|
+
|
|
28
|
+
You can find pre-compiled binaries on the [releases](https://github.com/Jayy001/codexctl/releases/) page. This includes a build for the reMarkable itself, as well as well as builds for linux, macOS, and Windows. It currently only has support for **command line interfaces** but a graphical interface is soon to come.
|
|
29
|
+
|
|
30
|
+
## Running from source
|
|
31
|
+
|
|
32
|
+
Codexctl can be run from source on both the reMarkable, as well as on a remote device.
|
|
33
|
+
|
|
34
|
+
### Running on reMarkable
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
git clone https://github.com/Jayy001/codexctl.git
|
|
38
|
+
cd codexctl
|
|
39
|
+
pip install -r requirements.txt
|
|
40
|
+
python codexctl.py --help
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Running on a remote device
|
|
44
|
+
|
|
45
|
+
This requires python 3.11 or newer.
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
git clone https://github.com/Jayy001/codexctl.git
|
|
49
|
+
cd codexctl
|
|
50
|
+
pip install wheel
|
|
51
|
+
pip install -r requirements.remote.txt
|
|
52
|
+
python codexctl.py --help
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Building executables from source
|
|
56
|
+
|
|
57
|
+
This requires python 3.11 or newer, python-venv, pip. Linux also requires libfuse-dev.
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
make executable
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Usage
|
|
64
|
+
|
|
65
|
+
The script is designed to have as little interactivity as possible, meaning arguments are directly taken from the command to run the script.
|
|
66
|
+
|
|
67
|
+
```
|
|
68
|
+
❯ codexctl --help
|
|
69
|
+
usage: Codexctl app [-h] [--debug] [--rm1] [--auth AUTH] [--verbose] {install,download,backup,extract,mount,status,restore,list} ...
|
|
70
|
+
|
|
71
|
+
positional arguments:
|
|
72
|
+
{install,download,backup,extract,mount,status,restore,list}
|
|
73
|
+
install Install the specified version (will download if not available on the device)
|
|
74
|
+
download Download the specified version firmware file
|
|
75
|
+
backup Download remote files to local directory
|
|
76
|
+
extract Extract the specified version update file
|
|
77
|
+
mount Mount the specified version firmware filesystem
|
|
78
|
+
status Get the current version of the device and other information
|
|
79
|
+
restore Restores to previous version installed on device
|
|
80
|
+
list List all versions available for use
|
|
81
|
+
|
|
82
|
+
options:
|
|
83
|
+
-h, --help show this help message and exit
|
|
84
|
+
--debug Print debug info
|
|
85
|
+
--rm1 Use rm1
|
|
86
|
+
--auth AUTH Specify password or SSH key for SSH
|
|
87
|
+
--verbose Enable verbose logging
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
# Examples
|
|
91
|
+
```
|
|
92
|
+
codexctl install latest # Downloads and installs latest version
|
|
93
|
+
codexctl download toltec # Downloads latest version that has full support for toltec
|
|
94
|
+
codexctl download 3.0.4.1305 --rm1 # Downloads 3.0.4.1305 firmware file for remarkable 1
|
|
95
|
+
codexctl status # Prints current & previous version (can only be used when running on device itself)
|
|
96
|
+
codexctl list # Lists all available versions
|
|
97
|
+
codexctl restore # Restores previous version
|
|
98
|
+
codexctl --verbose # Enables logging
|
|
99
|
+
codexctl --backup # Exports all files to local directory
|
|
100
|
+
codexctl --backup -l root -r FM --no-recursion --no-overwrite # Exports all files from FM directory to root folder on localhost
|
|
101
|
+
codexctl extract 3.8.0.1944_reMarkable2-7eGpAv7sYB.signed # Extracts contents to filesystem named "extracted"
|
|
102
|
+
codexctl mount extracted /opt/remarkable # Mounts extracted filesystem to /opt/remarkable
|
|
103
|
+
codexctl ls 3.8.0.1944_reMarkable2-7eGpAv7sYB.signed / # Lists the root directory of the update image
|
|
104
|
+
codexctl cat 3.8.0.1944_reMarkable2-7eGpAv7sYB.signed /etc/version # Outputs the contents of /etc/version from the update image
|
|
105
|
+
```
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
codexctl/__init__.py,sha256=eGn2Wm4XuWPRWXcDmx7EjgujnUBXmU3SEQjWdywATvA,15987
|
|
2
|
+
codexctl/__main__.py,sha256=L2ubunx1R46BgbO4sAFyFeMT1Hzeo0lxv2T3BBsFS6Q,62
|
|
3
|
+
codexctl/analysis.py,sha256=qlPPCcHnY-TCRcwggeuxawYCG8QKeacYpwNHdekDv0c,936
|
|
4
|
+
codexctl/device.py,sha256=5cOG7uRqAdfR9sScpB8Zm-ytUat1FlVymyb25W6qvmI,23407
|
|
5
|
+
codexctl/server.py,sha256=HHtYj9Ob-2m8rDw47zjV3lPaKTLjj2DJUwrFMEhVvjg,5392
|
|
6
|
+
codexctl/sync.py,sha256=dH-kcgBzslmjuAy_OiRNnsLUDi7nJkAFzOJfeMViB0I,7547
|
|
7
|
+
codexctl/updates.py,sha256=muHtUG2iajY4yrw0mlNnDLBYWX6EFLz4gFLclFFXmHc,14099
|
|
8
|
+
codexctl-0.1.0.dist-info/LICENSE,sha256=IwGE9guuL-ryRPEKi6wFPI_zOhg7zDZbTYuHbSt_SAk,35823
|
|
9
|
+
codexctl-0.1.0.dist-info/METADATA,sha256=urd0pASRSaizfXImSQeKztZZhsiTedNwWTQUKZttDEA,4152
|
|
10
|
+
codexctl-0.1.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
11
|
+
codexctl-0.1.0.dist-info/RECORD,,
|