Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hersle/rmirro
A script that synchronizes PDFs of documents between a Remarkable and a computer folder that mirrors its file structure without cloud access
https://github.com/hersle/rmirro
remarkable-tablet
Last synced: 25 days ago
JSON representation
A script that synchronizes PDFs of documents between a Remarkable and a computer folder that mirrors its file structure without cloud access
- Host: GitHub
- URL: https://github.com/hersle/rmirro
- Owner: hersle
- License: mit
- Created: 2022-11-22T16:23:33.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-05-24T17:33:12.000Z (7 months ago)
- Last Synced: 2024-08-03T17:10:15.394Z (4 months ago)
- Topics: remarkable-tablet
- Language: Python
- Homepage:
- Size: 461 KB
- Stars: 74
- Watchers: 7
- Forks: 7
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
- awesome-reMarkable - rmirro - A script that synchronizes PDFs of documents between a Remarkable and a computer folder that mirrors its file structure without cloud access. (Other / Launchers)
README
# rmirro
![Screenshot](screenshot.png)
`rmirro.py` **synchronizes files between your reMarkable and computer in both directions without cloud access**.
It pulls PDFs of your reMarkable's documents to a folder on your computer,
and pushes PDFs and EPUBs that you add to this folder back to your reMarkable.
Effectively, this tool **integrates your reMarkable with your computer's file system**,
so you can build your own workflow on top.## Requirements
* [Passwordless SSH access](https://remarkablewiki.com/tech/ssh#passwordless_login_with_ssh_keys) to your reMarkable with `ssh remarkable`.
* Access to the reMarkable's official PDF renderer through its [USB web interface](https://remarkablewiki.com/tech/webinterface)
**or** any third-party PDF renderer of raw reMarkable files on your computer,
like [maxio](https://github.com/hersle/maxio/tree/overlay), [rmrl](https://github.com/rschroll/rmrl) or [rmc](https://github.com/ricklupton/rmc).
* [rsync](https://rsync.samba.org/) (comes with most Linux distributions, by default).## Usage and operation
Just run `rmirro.py`. Read `rmirro.py --help` to see how you can change its default behavior.
It synchronizes files between the reMarkable (RM) and the computer (PC) folder `./remarkable/`.
The first run it processes *all* files on the reMarkable and may take a long time,
but following runs skip unchanged files and are quicker.
What is done to each file depends on where it is present and when it was last modified:| If a file is ... | then `rmirro.py` will ... |
|:-------------------------------------------------|:-------------------------------------------------------------|
| added/modified on RM (more recently than on PC), | **pull** it to PC (overwriting any existing file). |
| added/modified on PC (more recently than on RM), | **push** it to RM (overwriting any existing file). |
| deleted on RM, | **drop** (delete) it on PC, too. |
| deleted on PC, | **pull** it to PC again (*not* delete it on RM, for safety). |The program asks for confirmation before carrying out its intended file actions.
Beware that this is a hobby project with the potential to overwrite and delete files on your reMarkable and computer,
and that it may have bugs!
To mitigate this, `rmirro.py` begins by making a [raw backup](https://remarkablewiki.com/tech/file_transfer#making_local_backups) of your reMarkable in `./remarkable_backup/`.### Auto-synchronize when the reMarkable is connected by USB cable
Run `rm_sync_on_connect_setup.sh` with root access to install an [udev](https://en.wikipedia.org/wiki/Udev) rule
that automatically runs `rmirro.py` when your reMarkable is connected to the computer with a USB cable.---
`rmirro` is what you get by shifting the characters in `mirror` cyclically one step to the right.