Skip to content

davidmz/frf-saver

Repository files navigation

frf-saver

Очередная бэкапилка френдфида, написана для моего личного пользования.

Скачать бинарники можно тут: 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

About

Очередная бэкапилка френдфида, написана для моего личного пользования.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages