Очередная бэкапилка френдфида, написана для моего личного пользования.
Скачать бинарники можно тут: https://github.com/davidmz/frf-saver/releases
Usage of frf-saver:
-u="": username to login
-k="": remote key (see https://friendfeed.com/account/api)
-d="./frf-save": directory to save data
-f="": feed name to load (your username if not setted)
-a=false: save 'username' and all his/her subscriptions (-f ignored)
-ll="info": log level
-w=1: number of parallel workers for '-a'
-m=false: just check and load missing media files for loaded entries
-r=5: number of network retries
-save-likes=false: save all likes in depth (DESTRUCTIVE, only owner's likes)
-coo="": value of frf cookie 'U' (for -save-likes)
Флаги -u
и -k
— обязательные, это юзернейм и ключ, которые используются для авторизации в friendfeed API.
-d
— каталог, в котором будут сохраняться данные. Каждый скачиваемый фид сохраняется в своём подкаталоге и полностью автономен.
-f
— фид (логин юзера или коммьюнити), который вы хотите скачать. Если он не задан, то скачивается тот же юзер, что задан во флаге -u
.
-a
— скачать все фиды, на которые подписан юзер -u
(и его самого). Если пи этом задан и флаг -f
, то он игнорируется.
-ll
— уровень сообщений лога, выводимых на экран. Допустимые значения — trace, debug, info, warn, error, fatal. Менять не имеет особого смысла.
-w
— при использовании флага -a
включает многопоточное скачивание фидов (медиа-файлы и без него скачиваются многопоточно). Использовать лучше с осторожностью, т. к. есть вероятность нарваться на бан. Впрочем, меня с 5 потоками не банили.
-m
— не скачивать фиды, а пройтись по скачанным записям и докачать медиа-файлы, если есть недокачанные. Работает как с флагом -a
так и с -f
.
-r
— количество переподключений при сетевых ошибках.
-save-likes
— ОПАСНЫЙ флаг. В этом режиме программа только сохраняет лайки и только у аккаунта -u
, но в процессе сохранения сами лайки из Френдфида УДАЛЯЮТСЯ. Это позволяет, в теории, забэкапить лайки за лимитом API (1000 штук). Лайкнутые записи сохраняются в каталог username/liked
.
-coo
— значение авторизационной куки Френдфида с именем 'U'. Оно нужно для работы -save-likes
, без него вы не сможете сохранить лайки, если ваш канал приватный, и не сможете сохранить подзамочные пролайканные записи. Обратите внимание, что в значении куки встречаются символы '|', так что это значение надо заключать в кавычки (правильные для вашей ОС). Куку можно посмотреть в свойствах браузера или, находясь во френдфиде, введя в адресную строку javascript:document.write(document.cookie)
. На странице появится строка из ваших кук, вам нужна кука U=XXXXXX;
— вот это XXXXXX и есть нужное значение.
В результате получается куча технических файлов в папке фида. Там будут json-файлы собственно записей из фида, медиа-файлы (картинки, mp3 и прочие), прикреплённые к постам и аватарки комментирующих и лайкающийх.
Для аккаунта 'username' также скачиваются записи, к которым он оставил комментарии или лайки. API ограничивает число таких записей примерно до 1000.
Пока никак. Может быть, я допишу веб-интерфейс для просмотра архива. Тем не менее, в архиве сохраняется вся информация, которая была в фиде, в том же формате, в котором её отдаёт API френдфида. Так что любая система воостановления френдфида должна, после минимальных доработок, её понять.
Медиа-файлы снабжены расширениями (только картинки и mp3), так что их можно просматривать и в обычном проводнике.
Совместим ли архив с Clio?
Нет. Но архив можно сконвертировать в формат Clio при помощи утилитки: https://github.com/davidmz/frf-saver/blob/master/to-clio/README.md
После конвертации надо запустить Clio, чтобы она сгенерировала HTML-файлы.
Поставить Go и сказать:
go get github.com/davidmz/frf-saver