Dyski sieciowe - Rclone

Na urządzeniu zainstalowana jest binarka Rclone - jest to program działający z wiersza polecenia i umożliwiający przeglądanie plików na dyskach (także zdalnych) oraz ich synchronizowanie. Jak działa Rclone i jakie dyski są dostępne, opisane jest na stronie Rclone:
https://rclone.org/

Dyski można dodawać i następnie przeglądać z poziomu aplikacji webowej. Na tą chwilę z poziomu aplikacji można dodać tylko 2 typy dysków (Google Drive i Mega):

Ale oczywiście można dodać dowolny dysk z poziomu konsoli - pokażemy jak to zrobić, krok po kroku, na przykładzie dysku FTP: https://rclone.org/ftp/

  1. logujemy się na bramkę po ssh
ssh <ip-bramki-w-lokalnej-sieci> -p 8022
  1. Uruchomienie interaktywnej sesji konfiguracji.

Uruchamiamy rclone config z podaną pełną ścieżką do pliku konfiguracji

rclone config --config=/data/data/pl.sviete.dom/files/home/dom/rclone.conf

  1. Dodajemy nowy dysk

Wybieramy opcje:

  • n) New remote
  • name> ftp1
  • Storage> 10
    (FTP Connection)
  • host> <ip/host serwera ftp>
  • user> <użytkownik>
  • port> 21
  • password> ***
  • tls> false
  • Edit advanced config? (y/n): n
  • y) Yes this is OK: y
  • q) Quit config

w konsoli widzimy już, że mamy nowy dysk:

ten sam dysk pojawi nam się w aplikacji:

Dyski możemy przeglądać z aplikacji oraz pilotem. Asystent potrafi czytać pliki tekstowe oraz odtwarzać audio.

:musical_note:

PS
Funkcjonalność zdalnych dysków rozwijamy głównie w celu umożliwienia udostępniania treści audio rodzinie. Ale zastosowań może być oczywiście więcej.
W przyszłości rozwiniemy tą funkcjonalność i dodamy możliwość montowania dysków zdalnych jako lokalnych, za pomocą FUSE https://pl.wikipedia.org/wiki/FUSE i https://rclone.org/commands/rclone_mount/ (prace w tym obszarze trwają)

Witam
Niestety po dodaniu konfiguracji FTP z powyższego opisu w przeglądarce wchodząc na ftp1 dostaję komunikat “ERROR : : error listing: 500 MLSD : command not understood”.
Jednak wykonując polecenie:
“rclone ls ftp1:/ --config=/data/data/pl.sviete.dom/files/home/dom/rclone.conf” w konsoli ssh wszystkie pliki są wyświetlane,
ale wydając komendę “rclone ls ftp1: --config=/data/data/pl.sviete.dom/files/home/dom/rclone.conf” dostajemy ponownie komunikat “ERROR : : error listing: 500 MLSD : command not understood”.
Może właśnie w “/” jest jakiś problem.

Może właśnie w “/” jest jakiś problem.

Tak - zgadza się, w przypadku Mega i Google Drive listowanie dysku działa bez i z “/” a w przypadku ftp tylko z “/”

Dzięki za info :+1:, to błąd w Rclone, poprawimy to w kolejnej wersji.

Szczegóły poniżej:

$ rclone lsd Drive1:/ --config=/data/data/pl.sviete.dom/files/home/dom/rclone.conf
          -1 2018-09-22 13:21:00        -1 audio books
          -1 2018-08-19 12:08:35        -1 test
$ rclone lsd Drive1: --config=/data/data/pl.sviete.dom/files/home/dom/rclone.conf
          -1 2018-09-22 13:21:00        -1 audio books
          -1 2018-08-19 12:08:35        -1 test

w przypadku ftp tylko z “/”

$ rclone lsd ftp1:/ --config=/data/data/pl.sviete.dom/files/home/dom/rclone.conf
          -1 2019-12-11 16:57:00        -1 acct
          -1 1970-01-01 00:00:00        -1 boot
$ rclone lsd ftp1: --config=/data/data/pl.sviete.dom/files/home/dom/rclone.conf

Dodamy też kilka poprawek do tego obszaru:

  • obsługę dodawania dysków FTP z aplikacji
    image

  • status dysku

to co zwraca komenda

$ rclone size Drive1: --config=/data/data/pl.sviete.dom/files/home/dom/rclone.conf
Total objects: 502
Total size: 10.678 GBytes (11465849324 Bytes)

  • automatyczne odświeżanie listy dysków po dodaniu nowego

usługa która to robi to ais_drives_service.browse_path