目录

reMarkable provides a web interface that needs to be turned on to access.

Enabling the service

The service can be turned on from the settings page:

Preventing the web interface from being disabled at boot

As of OS version 1.7.0.1 the device disables the Web Interface setting at every device boot. To many users this may be an obnoxious implementation/flaw as a vast number of community reMarkable scripts rely on the web interface. As the web interface is handled by the xochitl binary, the only way as of now to “fix” this issue is to patch the function in the xochitl binary responsible for setting the web interface.

The webui_invincibility patcher will patch the xochitl binary to prevent the web interface from disabling at boot, although at cost of no longer being able to disable it from the settings menu, but only by setting the WebInterfaceEnabled property in /.config/remarkable/xochitl.conf to false. The patcher also offers an option to undo the patches.

Accessing files via a web browser

If you don't want to use the app for syncing files to your reMarkable, you can upload and download files via the USB web interface.

Accessing files via curl

If you have curl available (or wget or similar), you can upload and download files via the command line.

Upload

chronos@localhost ~/Downloads $ curl 'http://10.11.99.1/upload' -H 'Origin: http://10.11.99.1' -H 'Accept: */*' -H 'Referer: http://10.11.99.1/' -H 'Connection: keep-alive' -F "file=@Get_started_with_reMarkable.pdf;filename=Get_started_with_reMarkable.pdf;type=application/pdf" 
Upload successfull
chronos@localhost ~/Downloads $

Download

To download is a little more complex as you need to find the internal UUID (long hyphenated string of letters and numbers) that the reMarkable internally uses to refer to the file you want. You can see this UUID when you browse the Web UI if you select a file and then hover over the download icon and look at the URL it links to (something like http://10.11.99.1/download/0c50f392-8a96-43ef-b58b-df4f049fb703/placeholder). The other way to get the UUIDs is to look in the filesystem on the device if you have access.

Once you have the UUID, you can get the filename associated using:

chronos@localhost ~/Downloads $ curl -I http://10.11.99.1/download/fd2c4b2c-3849-46c3-bf2d-9c80994cc985/placeholder
HTTP/1.1 200 OK
Content-Disposition: attachment; filename='Get_started_with_reMarkable.pdf'
Content-Length: 4444023
Content-Type: application/pdf
Transfer-Encoding: chunked 

Unfortunately, the built in webservice is not smart, and so getting the HEAD data like this takes just as long as getting the whole file. I believe this is because it has to allow for those files where it has to render the lines into the file to get the final file size (Content-Length).

You can download the file using:

chronos@localhost ~/Downloads $ curl -o 'Get_started_with_reMarkable.pdf' http://10.11.99.1/download/fd2c4b2c-3849-46c3-bf2d-9c80994cc985/pdf
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 4339k  100 4339k    0     0  57914      0  0:01:16  0:01:16 --:--:--  924k