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: FTP

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

https://sviete.github.io/AIS-docs/docs/en/ais_bramka_remote_ssh.html

  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/AIS/.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 FUSE – Wikipedia, wolna encyklopedia i rclone mount (prace w tym obszarze trwają)

1 polubienie

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

Hej
dodałem dysk FTP, oczywiście działa i wszystko widzę,

  1. moje pytanie brzmi jaka jest ścieżka do tego dysku?
    Mam na myśli chociażby zrobienia zdjęcia z kamery i zapisanie na FTP, bo rozumiem że tworzy się jakaś konkretna ścieżka…?
  2. chciałbym również ustawić bazę danych do logów na tym serwerze, niestety z MYSQL i PostgreSQL mi się nie udało, podając wszystkie dane, nie mogę zapisywać tam logów… czy to jest w ogóle możliwe, czy ja cos muszę źle robić?

Jak zrobić aby na liście było widać dyski takie jak np dropbox dodane tą metodą ? bo u mnie się nie pojawia w bibliotece multimediów jak w kroku poniżej

aby nie tworzyć nowego tematu wrzucę co mam w logach przy każdym uruchomieniu bramki

2|ais      | 2021/11/02 15:26:34 Fatal error: Directory is not empty: /data/data/pl.sviete.dom/dom_cloud_drives/google If you want to mount it anyway use: --allow-non-empty option
2|ais      | 2021/11/02 15:26:45 Failed to create file system for "mega:/": couldn't login: Try again

mimo tego błędu widzę zawartość tych dysków (choć nie zawsze) wiec czy można to jakoś naprawić aby nie otrzymywać takiego komunikatu przy uruchomieniu bramki?

mimo iż chyba jest Rclone zainstalowane w termux to przy próbie włączenia serwera dlna jak w kroku 5 na bramce mam taki komunikat

2024/01/15 13:10:04 NOTICE: Config file "/data/data/com.termux/files/home/.config/rclone/rclone.conf" not found - using defaults
2024/01/15 13:10:04 Failed to create file system for "remote:": didn't find section in config file

więc czy jest wymagane jeszcze doinstalowanie czegoś aby zamienić bramkę dev3 z Androidem w serwer multimediów lub czy przy pomocy innej metody w terminalu z wykorzystaniem pm2 można włączyć serwer plików skoro bramka ma za tak dużo pamięci niewykorzystanej

Tak, jakaś dedykowana aplikacja pod Androida z setek dostępnych, coś można wybrać.

Np.

Udało mi się uruchomić testowo serwer dlna w rclone

Przy pomocy polecenia rclone serve dlna ~/path/to/files wtedy serwer dlna obsługuje zawartość Twojego folderu lokalnego /data/data/com.termux/files/home/path/to/files zamiast ~/path/to/files podajemy własną ścieżkę którą ma udostępnić jeśli chcemy oglądać na bieżąco logi to dopisujemy po spacji -vv

więc tylko zostaje dodać to do pm2 przy pomocy pm2 start rclone serve dlna ~/ścieżka/do/folderu i potem to zapisać przy pomocy pm2 save aby serwer odpalał się wraz z systemem

3 polubienia