03 listopada 2013 blog raspberry sync
BitTorrent Sync jest bardzo ciekawym projektem. Działa podobnie do wielu innych automatycznie synchronizujących aplikacji (jak np. Dropbox).
Niestety nie jest to projekt otwartoźródłowy. Producent udostępnił jednak odpowiednie buildy dla maszyn opartych o procesory ARM. Dzięki temu można bez problemu zainstalować BitTorrent Sync na Raspberry Pi albo serwerze Synology DiskStation. Dla tego drugiego można też dodać repozytorium z aplikacjami. Pokażę jak można łatwo ściągnąć i skonfigurować BitTorrent Sync na Raspberry Pi.
Klikanie po stronach z udostępnionymi paczkami jest mało interesujące. Tworzymy więc kilkulinijkowy skrypt (albo wklejamy polecenie w terminalu):
#! /usr/bin/env sh
curl 'http://download-lb.utorrent.com/endpoint/btsync/os/linux-arm/track/stable' > stable && \
tar -xzvf stable && \
rm -f stable && \
echo 'OK :)'
Uruchamiamy. W bieżącym katalogu powinien się pojawić plik btsync
.
Generujemy podstawową konfigurację:
./btsync --dump-sample-config > test.conf
Otwieramy test.conf
w dowolnym edytorze.
Koniecznie trzeba ustawić storage_path
:
"storage_path" : "/home/pi/.sync",
Warto zmienić nazwę urządzenia, linijkę:
"device_name": "My Sync Device",
zmieniamy na coś bardziej przyjaznego:
"device_name": "Raspberry Pi Test Server",
Jeśli korzystamy z tmpfs
:
$ grep tmpfs /etc/fstab
none /mnt/ram tmpfs auto,size=400M,nr_inodes=10k,mode=777 0 0
możemy zmienić storage_path
na:
"storage_path" : "/mnt/ram/.sync",
Jeśli nie chcemy, żeby pliki były zapisywane na karcie pamięci w Malince, możemy skonfigurować sekcję shared_folders
. Ale dodanie jakiegokolwiek wpisu wyłączy dostęp przez interfejs WWW. Dla przykładu:
"secret" : "ABCABCBABCBABCBABCBABCBABCBABCCB",
"dir" : "/mnt/ram/btsync",
Dzięki temu, po uruchomieniu btsync
, pliki będą zapisywane tylko w pamięci. Trzeba zwrócić uwagę, żeby klient był włączony na drugim urządzeniu.
BitTorrent Sync nie wysyła danych na inne serwery. Czyli mamy dostęp do naszych plików tylko wtedy, gdy co najmniej na jednym innym urządzeniu jest uruchomiony klient w tym samym czasie.
Czyli w przypadku, gdyby pliki nie mogły się synchronizować na nasz podstawowy komputer, a wyedytowalibyśmy je tylko w pamięci Malinki, wszystkie zmiany by przepadły.
Uruchomienie klienta:
./btsync --config test.conf
Powinna się wyświetlić informacja, że proces został uruchomiony w tle.
Sprawdzamy numer IP naszej Malinki:
$ ifconfig | grep -v 127.0.0.1 | grep 'inet addr'
inet addr:192.168.1.103 Bcast:192.168.1.255 Mask:255.255.255.0
Otwieramy przeglądarkę i wchodzimy na stronę http://192.168.1.103:8888
. Jeśli nie usunęliśmy autoryzacji (sekcja webui
w pliku konfiguracyjnym) to podajemy użytkownika i hasło. Domyślnie: admin
i password
.
Na stronie http://192.168.1.103:8888
klikamy Add Folder.
Wskazujemy, który folder ma być współdzielony. Klikamy na przycisk Generate aby wygenerować klucz identifikujący nasz zasób (Secret).
Po kliknięciu na Add, zobaczymy nową pozycję w tabelce. Na początku będziemy widzieli, że aplikacja indeksuje pliki. Jeśli będziemy chcieli podejrzeć klucz, wystarczy kliknąć na przycisk Secret / QR. Będzie można udostępnić pliki tylko do odczytu (opcja Read only) lub również do zapisu (opcja Full access). Prezentowany jest również QR code, dzięki któremu możemy szybko dodać współdzielony folder np. do urządzenia z Androidem.
Aby dodać udostępniony folder, uruchamiamy aplikację BitTorrent Sync na innym urządzeniu. Wchodzimy na stronę WWW (podobnie jak w przypadku instalacji na Raspberry Pi). Tym razem również klikamy Add Folder, ale zamiast generowaniu klucza, wklejamy ten, który został wygenerowany na Malince. Pozostaje jeszcze wskazanie synchronizowanego folderu oraz kliknięcie na Add.
Po chwili zobaczymy postęp synchronizacji z urządzeniem Raspberry Pi Test Server - taki jak podaliśmy na początku poradnika. Od teraz wszelkie zmiany na którymkolwiek urządzeniu są synchronizowane ze wszystkimi innymi.
Możemy dodać dowolną ilość urządzeń, na których jest synchronizowany zasób.