Utilitaires
Scripts
Divers
Jeux
Rechercher
Quillevere.net
Computer science thoughts

Synchronize a PocketBook eReader with a personal server

24/06/2021

If you have a "Tea" brand e-reader (Vivlio), Inkpad or Touch HD model, here is a way to synchronize it with a personal server.

It is advantageous to synchronize an e-reader automatically with a directory, so as not to perform the operations of transferring files and deleting the books read on the e-reader, but from a computer, for reasons of ease of handling.

However, some e-readers only provide synchronization services with systems owned by companies (Dropbox, PocketBook cloud, etc.), and not with a personal server.

The program I propose here allows you to synchronize your e-reader using the WebDAV protocol from a Synology NAS (but is of course reproducible from any server using this protocol, with NextCloud, Owncloud...). I was inspired by Loriowar's webdav_sync.sh script. It did not work on my eReader but I took the idea and improved how it works. It already made it possible to:

  • Copy files from a server, reducing the flow to the differential of files to send
  • Switch WI-Fi on / off if it is detected as inactive
It now allows you to:
  • Synchronize the modification dates of downloaded files
  • Purge (optionally) local files that are no longer present on the server and empty directories
  • Avoid synchronizing the Trash directory
  • Give more feedback to the user (log file, error messages ...)
  • Show a progress bar (unfortunately not implemented to date but if anyone sees how to do it, I'm a taker)
  • Offer to synchronize only certain extensions

Configuring WebDAV server on Synology

Installing WebDAV

  • Open the Package Center
  • Search on the term "webdav". The "WebDAV Server" package is showed :
  • Click on Install
  • Once the installation is complete, open the software :
  • Check Enable HTTP and click onApply
    The access mode presented here should only be used on a local network . It will be blocked from the Internet anyway, unless you redirect the ports of your box.

Creation of a dedicated folder

  • Go to the control Panel
  • Choose Shared folder
  • Click on the Create button.
  • On the screen that appears, enter a share name (for example "webdav")
  • Click Next
  • On the encryption page, click Next
  • Then validate the creation by clicking on Apply

Creation of a dedicated user

It is recommended to create a user dedicated to the use of this service, in order to limit the exposure of shared data

  • Open the control pannel
  • Go to User
  • Click on the Create button
  • Fill in the name, description and password of the new user
  • In the User groups tab, choose users
  • In the Permissions tab, choose the created folder (here webdav) and check read only
  • In the Applications tab, authorize WebDAV Server
  • Validate all the parameters by clicking on the OK button

Once WebDAV access has been prepared, you can drop an EPUB or a PDF file there, which you can use to test the synchronization

Then go to the next step, which is to install the program on the eReader.

Installing the program on the e-reader

Script settings

  • Download the following program :synchro_webdav.app(10 Ko)
  • Edit it with a text editor, like Notepad ++ (this is a shell script)
  • At the beginning of the program, you will see several parameters, which you must modify to adapt it to your configuration:
    # -- Serveur / server
    PROTOCOLE=http
    HOST=192.168.0.1
    LOGIN=monlogin
    PASSWORD=monmdp
    PORT=5005
    SERVER_ROOT=webdav
    EXTENSIONS=pdf,epub,cbr,cbz,txt,mobi,fb2,htm,html,doc,mp3,m4b,docx,jpg,jpeg,png,tiff,prc

    # -- Local
    SYNCHRO_SUBFOLDERS=true
    DELETE_UNMATCHING_LOCAL_FILES=true
    LOCAL_FOLDER=/mnt/ext1/Livres/Synchro

    # -- Script
    LANGUAGE=french             # french or english
    E_READER_VERSION=true           # Indique le mode d'exécution (liseuse ou PC)
    LOG_FILE=/mnt/ext1/log_synchro.txt

    • HOST / PORT: local address of your NAS server
    • LOGIN / PASSWORD: user account you created on the NAS
    • SERVER_ROOT: name of the shared directory on the NAS
    • SYNCHRO_SUBFOLDERS: indicates if the script also synchronizes the subdirectories of the server. If you have created a lot of subdirectories, the script will query each of them separately, which is detrimental to performance.
    • DELETE_UNMATCHING_LOCAL_FILES: will delete local files not present on the server, in the synchronized directory of course
    • LOCAL_FOLDER: local directory on the reader. It must start with / mnt / ext1 for internal memory and / mnt / ext2 for an SD card.
    • LANGUAGE: language of the messages. Choose french or english
    • E_READER_VERSION: use or not the dialog windows specific to the reader (debug usage)
    • LOG_FILE: path and name of the log file
  • Save everything when you're done.

Sending the script to the e-reader

  • Connect your e-reader to the computer via USB
  • Open an explorer, go to the reader of the e-reader then in the applications directory
  • Drop the synchro_webdav.app script there
  • Disconnect your eReader from the computer

Running the script

  • Go to the Applications menu
  • At the bottom of the screen, in the User menu, a new icon should automatically appear: @synchro_webdav
  • Tap on this icon to launch the program
  • At runtime, if all goes well, you should get a message "Connecting to server 192.168.0.1"
  • Then the message "X files found. Synchronizing local files..."
  • After a few seconds or minutes (depending on the number of files you have uploaded to your WebDAV server), a message indicating that synchronization is complete should appear.
  • Only modified files are uploaded. Thus, if you modify the shared directory a little, the next synchronizations will be faster.
Dernière modification le 30/06/2021 - Quillevere.net

Articles connexes

Search in this website

fr en rss RSS info Informations