пятница, 7 октября 2011 г.

Hack Dropbox

Увеличение размера диска Dropbox до 10 GB


Dropbox при создании диска и увеличении его размера запоминает MAC адрес сетевой карты и адрес почтового ящика.
Идея состоит в том, что мы регестрируем новый диск dropbox по референсной ссылке используя каждый раз другой почтовый адрес и MAC адрес.

Каждую регистрацию делаем с новым почтовым ящиком и новым MAC адресом сетевого адаптера, что добавит нам каждый раз 250 MB. Таким образом можно прокачать 8 GB, так, что общий объем ящика увеличится до 10 GB

Нам потребуется временный почтовый ящик, например http://www.thismail.ru/ и достаточное количество времени времени.
На один цикл уходит до 4-х минут. Всего нам нужно зарегестрировать 32 ящика dropbox

1. отключить сетевой интерфейс

2. Назначить сетевой карте новый MAC адрес (в следующий раз мы на единицу увеличим MAC)
$ sudo ifconfig wlan0 hw ether 00:31:b6:21:3a:01 и включить сетевой интерфейс (как в п.1)
3. Сгенерировать новый почтовый ящик

4. В другой вкладке firefox ввести референс ссылку и заполнить поля и сохранить установочный пакет dropbox.
5. Установить dropbox
$ sudo dpkg -i nautilus-dropbox_0.6.9_i386.deb
6. Выйти из dropbox

7. Удалить dropbox с компьютера
$ sudo apt-get remove nautilus-dropbox; rm -rvf ~/.dropbox ~/.dropbox-dist и перейти к п.1.


Несколько аккаунтов Dropbox на одном компьютере


Идея состоит в том, чтобы сохранить установки аккаунтов и подставлять те, с которыми будем запускать dropbox.

Свое состояние dropbox хранит в каталоге $HOME/.dropbox, а в каталоге $HOME/.dropbox-dist находятся исполняемые файлы dropbox-а.



Начиная релиза 1.2.48 в dropbox введены проверки на подмену каталогов. Я обнаружил это проинсталлировав Ubuntu 11.10.
Для восстановления работоспособности нужно воспользоваться версией dropbox 1.1.45, скачав их с сайта dropbox, или по ссылкам ниже:
dropbox-lnx.x86-1.1.45.tar.gz
dropbox-lnx.x86_64-1.1.45.tar.gz

Кроме того, естественно, при инсталляции dropbox-ов нужно указывать разные каталоги для хранения файлов. Я создал 3 аккаунта dropbox и привязал к ним три разных каталога для хранения wallpapers.

Прежде всего нужно зарегестрировать где нибудь почтовые ящики, к которым привяжутся аккаунты dropbox.

Далее инсталлируется клиент dropbox. Указываем разместить файлы в $HOME/Dropbox01. После его установки закрываем dropbox и сохраняем установки:
mv $HOME/.dropbox $HOME/.dropbox-wp1
Затем удаляем dropbox, устанавливаем его по новой, размещяем $HOME/Dropbox02 и опять сохраняем установки: $ sudo apt-get remove nautilus-dropbox; rm -rvf ~/.dropbox ~/.dropbox-dist $ sudo dpkg -i nautilus-dropbox_0.6.9_i386.deb $ mv $HOME/.dropbox $HOME/.dropbox-wp2
Вот собственно и все.

Для запуска я использую следующий скрипт, размещенный в %HOME/bin, которому в командной строке передаю название каталога с сохраненными настройками:
#!/bin/bash

#################################################
# Filename: dropbox_select.sh
VERSION=0.2
# Description: select dropbox account and start 

if [ -d ${HOME}/.dropbox ]; then 
  rm -r ${HOME}/.dropbox
fi

if [ -d ${HOME}/.$1.tmp ]; then 
  rm -r ${HOME}/.$1.tmp
fi

if [ ! -e ${HOME}/.$1 ]; then
  echo "Account $1 not exist"
  exit 192
fi

cp -r ${HOME}/.$1 ${HOME}/.dropbox
${HOME}/.dropbox-dist/dropbox start -i
mv ${HOME}/.dropbox ${HOME}/.$1.tmp
rm -r ${HOME}/.$1
mv ${HOME}/.$1.tmp ${HOME}/.$1
Для запуска из панели Unity в каталоге ${HOME}/.local/share/application я разместил вот такой файл mydropbox.desktop
[Desktop Entry]
Name=Start DropBox
Comment=
Exec=
Icon=/home/axa/.icons/dropbox/db-wp.svg
Terminal=true
Type=Application
StartupNotify=true
X-Ayatana-Desktop-Shortcuts=Wallpapers01;Wallpapers02;Wallpapers03

[Wallpapers01 Shortcut Group]
Exec=${HOME}/bin/dropbox_select.sh dropbox-wp01
Name=Start DropBox WallPapers 1

[Wallpapers02 Shortcut Group]
Exec=${HOME}/bin/dropbox_select.sh dropbox-wp02
Name=Start DropBox WallPapers 2

[Wallpapers03 Shortcut Group]
Exec=${HOME}/bin/dropbox_select.sh dropbox-wp03
Name=Start DropBox WallPapers 3


10/10/2011. Убрал команды опускания и подъема сетевого интерфейса при регистрации dropbox.
15/10/2011. Изменил скрипт выбора dropbox-а для исключения ошибки потери текущего snapshot в случае, когда компьютер зависал или перегружался с работающим dropbox,
01/11/2011. Изменил расположение mydropbox.desktop из /usr на ${HOME}/.local