O przechowywaniu danych w chmurze
pisałem już dość dawno temu. Wtedy opisana została raczkująca integracja z usługami Google. W tym poradniku została zaś opisana integracja z Dropboxem. Jeżeli nie wiesz czym jest dropbox - udaj się na witrynę projektu:
https://www.dropbox.com . Jeżeli nie masz konta - możesz za darmo założyć na wspomnianej stronie. Możesz kliknąć także ten link:
http://db.tt/bp7ADiAa i założyć konto - dzięki temu Ty będziesz miał konto, a ja dostanę odrobinę powiększoną przestrzeń.
0. Potrzebujemy OpenWrt z ok 1MB wolnej przestrzeni we flash lub extroocie oraz działające konto na dropboxie
1. Instalujemy wymagane pakiety:
opkg update
opkg install bash curl coreutils-stat
2. Ściągamy skrypt do dropboxa
cd /root
curl -k https://raw.github.com/andreafabrizi/Dropbox-Uploader/master/dropbox_uploader.sh > dropbox_uploader.sh
chmod 755 dropbox_uploader.sh
sed -i 's/#CURL_ACCEPT_CERTIFICATES/CURL_ACCEPT_CERTIFICATES/' dropbox_uploader.sh
Ostatnie polecenie służy do akceptacji wszystkich certyfikatów, dzięki czemu curl nie będzie sprawiał problemów przy szyfrowanym połączniu.
3. W przeglądarce idziemy do witryny
https://www2.dropbox.com/developers/apps , akceptujemy ew. licencję i "tworzymy" nową aplikację:
- App type: wybieramy Core API
- App name: wpisujemy np. MyUploader279465355
- Description: wpisujemy cokolwiek
- Access: stosownie do wymagań, raczej wybieramy App folder
Zatwierdzamy. Po zapisaniu wyświetlą się informacje, dla nas istotne są dwie:
App key i
App secret.
4. uruchamiamy skrypt i potwierdzamy autoryzację:
This is the first time you run this script.
Please open this URL from your Browser, and access using your account:
-> https://www2.dropbox.com/developers/apps
If you haven't already done, click "Create an App" and fill in the
form with the following data:
App name: MyUploader10711363
Description: What do you want...
Access level: App folder or Full Dropbox
Now, click on the "Create" button.
When your new App is successfully created, please type the
App Key, App Secret and the Access level:
# App key: xxxxxxxxxxxxxxxxxxxxx
# App secret: xxxxxxxxxxxxxxxxxxx
# Access level you have chosen, App folder or Full Dropbox [a/f]: a
Tu podajemy otrzymane wcześniej dane
> App key is xxxxxxxxxxxxxxxxxx, App secret is xxxxxxxxxxxxxxxxxxxx and Access level is App Folder, it's ok? [y/n]
Potwierdzamy wciskając y
> Token request... OK
Please visit this URL from your Browser, and allow Dropbox Uploader
to access your DropBox account:
--> https://www2.dropbox.com/1/oauth/authorize?oauth_token=yyyyyyyyyyyyyy
Press enter when done...
Teraz trzeba w przeglądarce wywołać podany adres. Dropbox poprosi o potwierdzenie dostępu, zgadzamy się. A później wracamy do konsoli i wciskamy Enter.
> Access Token request... OK
Setup completed!
Gotowe! Teraz jeszcze raz wywołując skrypt otrzymamy listę opcji
# /root/dropbox_uploader.sh
Dropbox Uploader v0.11.2
Andrea Fabrizi - andrea.fabrizi@gmail.com
Usage: /root/dropbox_uploader.sh COMMAND [PARAMETERS]...
Commands:
upload [LOCAL_FILE] <REMOTE_FILE>
download [REMOTE_FILE] <LOCAL_FILE>
delete [REMOTE_FILE]
list <REMOTE_DIR>
info
unlink
For more info and examples, please see the README file.
Możemy przetestować działanie skryptu wysyłając go na dropboxa
/root/dropbox_uploader.sh upload /root/dropbox_uploader.sh test.sh
> Uploading dropbox_uploader.sh to test.sh...
####################################################### 100.0%
> DONE
Plik natychmiast znajdzie się na naszym dropboxie w katalogu Apps/MyUploader279465355 w tym przykładzie.
W ten sposób można więc z routera ściągać i wysyłać różnie pliki. Może to służyć do zrobienia backupu, wysyłania danych statystycznych, linków do plików do pobrania. Na forum openwrt.org był przykład automatycznego wysyłania zdjęć z webcamu, więc uzyskamy coś w rodzaju zdalnego monitoringu z bezpieczną kopią. Zastosowań nośnika w chmurze jest wiele, jeżeli ktoś już go używa to wie co można z nim zrobić.