pl en

Własna chmura dla Remarkable 2

Posted on Sun 27 October 2024 in hack • 2 min read

Notatnik Remarkable jest świetnym urządzeniem ale do pełnego szczęścia wymaga (niestety) rejestracji w chmurze firmowej oraz opłacania comiesięcznej subskrybcji.

Co daje subskrybcja?

  • Synchronizacja plików
  • Integracje z zewnętrznymi źródłami plików (przy użyciu WebDAV lub dedykowanego katalogu w lokalnym systemie plików, zamiast Google Drive i Dropbox)
  • Wysyłanie dokumentu przez e-mail
  • Rozpoznawanie pisma ręcznego!!!
  • Odblokowanie funkcji udostępniania ekranu (ale nie działa zdalnie, aplikacji należy używać przez USB)

Na szczęście, dzięki niezależnym deweloperom, można chmurę firmową zastąpić utrzymywaną na własnym serwerze.

Proces jest trywialny w przypadku użycia Dockera, a pełna dokumentacja projektu dostępna jest tu: rmfakecloud.

Instalacja chmury

Na serwerze stwórz plik docker-compose.yml z następującą zawartością:

services:
  rmfakecloud:
    image: ddvk/rmfakecloud
    container_name: rmfakecloud
    restart: unless-stopped
    env_file:
      - env
    volumes:
      - ./data:/data
    ports:
      - "3033:80"

Stwórz też plik env:

PORT=80
JWT_SECRET_KEY=<tu wygenerowany token>
STORAGE_URL=http://rmfakecloud.example.com:3033
LOGLEVEL=debug
RM_LOGFILE=/data/log
RMAPI_HWR_APPLICATIONKEY=<klucz API z myscript.com>
RMAPI_HWR_HMAC=<HMAC z myscript.com>
RM_SMTP_SERVER=mail.example.com:587
RM_SMTP_USERNAME=user@example.com
RM_SMTP_PASSWORD=<hasło>
# RM_SMTP_FROM = niestandardowy nagłówek „From:” dla e-maili (np. Mój remarkable remarkable@rmfakecloud.example.com).
#                Jeśli to ustawienie jest włączone, adres e-mail użytkownika jest umieszczany w polu „Reply-To:”.
# RM_SMTP_HELO   Własne HELO, jeśli dostawca poczty tego wymaga
# RM_SMTP_NOTLS  Nie używaj TLS
# RM_SMTP_STARTTLS   Użyj polecenia STARTTLS, powinno być połączone z opcją NOTLS. W większości przypadków należy użyć portu 587.
# RM_SMTP_INSECURE_TLS Jeśli ustawione, nie sprawdzaj certyfikatu serwera (niezalecane).

Token używany w zmiennej JWT_SECRET_KEY można wygenerować tym poleceniem:

openssl rand -base64 48

Zmienna STORAGE_URL zawiera nazwę serwera i port pod którymi rmfakecloud będzie dostępny, czyli FQDN twojego serwera, np.: http://rmfakecloud.example.com:3033.

Zmienne RMAPI_HWR_APPLICATIONKEY oraz RMAPI_HWR_HMAC zawierają odpowiednio, klucz API oraz HMAC wygenerowane na stronach francuskiej firmy MyScript [https://developer.myscript.com/] i umożliwiają rozpoznawanie pisma odręcznego!!!

Musisz, niestety, założyć konto w myscript.com ale w zamian masz 2000 darmowych konwersji miesięcznie.

Po założeniu konta, tworzysz aplikację, dla której generowane są wspomniane wyżej zmienne RMAPI_HWR_APPLICATIONKEY i RMAPI_HWR_HMAC. Poniżej dwa screeny z myscript.com:

Tworzenie aplikacji w myscript.com
Klucze aplikacji w myscript.com

Reszta zmiennych dotyczy serwera e-mail i jest wystarczająco opisana.

Gdy wszystko masz gotowe odpalasz rmfakecloud:

docker compose up -d

Teraz musisz zainstalować klienta synchronizacji na swoim Remarkable. Jeśli masz zainstalowane oprogramowanie toltec, to sprawa jest prosta.

Zaloguj się do Rm2 przez SSH i wydaj następujące polecenia:

opkg install rmfakecloud-proxy
rmfakecloudctl set-upstream <URL>
rmfakecloudctl enable

Zamiast URL podaj pełny adres swojego rmfakecloud, w tym przykładzie będzie to:

rmfakecloudctl set-upstream http://rmfakecloud.example.com:3033

Następnie zainstaluj proxy:

sh -c "$(wget https://raw.githubusercontent.com/ddvk/rmfakecloud/master/scripts/device/automagic.sh -O-)"

I znowu podaj pełny URL do swojego rmfakecloud.

OK, możesz się wylogować z Rm2.

Na komputerze uruchom przeglądarkę i wejdź na stronę swojej instancji rmfakecloud czyli w tym przykładzie: http://rmfakecloud.example.com:3033.

Załóż konto użytkownika i zapamiętaj hasło, w menu na górze strony wybierz opcję "Code" i wygeneruj kod.

Generowanie kodu do synchronizacji Rm2

Wejdź na Remarkable w "Menu" -> "Settings" -> "General" i w "Pair ReMarkable Account". Wprowadź wygenerowany kod i połącz się ze swoją własną chmurą. Synchronizacja już powinna działać.

Jeśli chcesz przesłać pliki na Rm2, otwórz stronę, zaloguj się i w zakładce "Documents" masz formularz dodawania dowolnych plików.

Dodawanie plików do Rm2

c.d.n.