Программа для сохранения историй Instagram.
Всё предельно просто, скачиваем архив с программой, распаковываем. Устанавливаем PHP:
- Windows 7-10:
Скачиваем и устанавливаем (если уже не установлен) VC2015 Redist.
Скачиваем архив с PHP 7.2.2, распаковываем куда-либо, добавляем в Path адрес к папке с php.exe (либо распаковываем все файлы в папку bin распакованной программы), скачиваем php.ini и кладём в папку с php.exe
- Windows XP:
Скачиваем и устанавливаем (если уже не установлен) VC2008 Redist.
Скачиваем архив с PHP 5.4.45, распаковываем куда-либо, добавляем в Path адрес к папке с php.exe (либо распаковываем все файлы в папку bin распакованной программы), скачиваем php.ini и кладём в папку с php.exe
- Linux Debian/Ubuntu:
sudo apt install php php-curl php-gd
- Mac OS:
У вас должен быть активирован пакет Command Line Tools! PHP по умолчанию установлен в системе. Если это не так (программа не работает), выполните эту команду к терминале:
curl -s https://php-osx.liip.ch/install.sh | bash -s 7.2
На *NIX'ах настраиваем разрешение на выполнение файла InstaStories.sh, например так:
chmod +x InstaStories.sh
Далее запускаем файл, зависящий от ОС (InstaStories.sh - *NIX, InstaStories.cmd - Windows), и видим следующее окно:
Экран загрузки (декоративный, на самом деле =) )
Далее вы увидите программу:
Вводим логин, пароль и... Программа загружает все доступные в ленте на данный момент истории! Их можно найти в папке Instagram, распределённые по пользователям.
Программа запоминает ваши данные авторизации, и далее вы сможете докачивать истории просто запустив программу и немного подождав. Если вы хотите удалить данные авторизации - удалите папку temp в основной папке программы.
Если что-то сломалось - в первую очередь удалите папку temp и пройдите авторизацию заново. Если проблема не исчезла - обращайтесь с Issue здесь, на GitHub.
Всем спасибо за использование моей программы.
Скриншот теста на Linux Ubuntu
В папке bin, помимо файлов кода и ресурсов программы, находится также и конфигурационный файл config.json.
Конфигурация хранится в формате JSON. Поддерживаются следующие директивы (отсутствие выделенных директив приведёт к непредсказуемым последствиям):
- stories_folder - название папки для сохранённых историй (по умолчанию - Instagram)
- temp_folder - название временной папки (по умолчанию - temp)
- cookies_storage - название файла с данными авторизации (cookies) пользователя (по умолчанию - curl_cookies.lcf)
- loading_sprite_1 - указывает путь из корневой папки до первой загрузочной картинки (по умолчанию - bin/instaload.png.conpic2)
- loading_sprite_2 - указывает путь из корневой папки до второй загрузочной картинки (по умолчанию - bin/myLogo.png.conpic2)
- incognito - включает режим инкогнито (автор не видит, что вы просматривали его истории) (по умолчанию отсутствует, принимает значения true/false)
Теперь программа поддерживает whitelist и blacklist. Они взаимоисключающие, то есть можно использовать только один из списков, либо ни одного. Белый список имеет приоритет, то есть, при наличии белого списка, чёрный список учитываться не будет. Для создания списков создайте в папке bin/ файл whitelist.txt или blacklist.txt для белого и чёрного списокв соответственно. Формат записи: 1 никнейм - одна строка. Если в белом списке есть хотя бы одна запись, чёрный список будет полностью проигнорирован. Программа будет скачивать истории только тогда, когда они имеются у ников из белого списка. Также, программа будет полностью игнорировать скачивание историй из аккаунтов в чёрном списке (если белый список пуст). Эти списки очень полезны, когда вам нужно загружать истории лишь определённых людей, а в ваших подписках достаточно много ненужных для сохранения аккаунтов.
Программа может использоваться с вашим планировщиком задач. Достаточно, чтобы планировщик запускал стартовый файл в папке непосредственно с этим файлом.
Для упрощения автоматизации программа принимает следующие аргументы запуска:
- --no-bootsprites - не показывать картинки при загрузке программы - просто чтобы не тратить время на их показ при автоматическом выполнении
- --no-exit-pause - не приостанавливать выполнение после окончания работы алгоритма, а сразу выходить из программы (без действий со стороны пользователя)
Этого достаточно для простого планового автозапуска. Остальное - работа планировщика задач