Задать вопрос
@SmeliyR

Какие есть простенькие скрипты «HTTP over Email», чтоб поставить у себя на серваке?

Нужен скрипт, который будет раз в 5 секунд по CRONу на Linux-овом VPS`e
читать email-почтовый ящик, забирать оттуда письма с темой "url" и
брать из текста таких писем список url`ов, скачивать эти урлы,
класть их в zip и отсылать через почтовый ящик обратно.

Какой для этой цели кто использовал софт?

пока нашёл только https://github.com/meiamsome/HTTPoE?ysclid=mhyatug... но может кто получше что то знает.
  • Вопрос задан
  • 140 просмотров
Подписаться 1 Простой 3 комментария
Помогут разобраться в теме Все курсы
  • Нетология
    Инженер по тестированию
    8 месяцев
    Далее
  • Яндекс Практикум
    DevOps для эксплуатации и разработки
    7 месяцев
    Далее
  • Skillfactory
    Профессия «Белый» хакер
    13 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@rPman
Эту задачу сможет решить даже слабый современный ИИ, бесплатный доступ к которому сейчас есть у всех, даже без vpn (ну а с vpn например майкрософтовский copilot который в win11 уже встроен в браузер)
Промпт
Нужен скрипт, который будет раз в 5 секунд по CRONу на Linux-овом VPS`e
читать email-почтовый ящик, забирать оттуда письма с темой "url" и
брать из текста таких писем список url`ов, скачивать эти урлы,
класть их в zip и отсылать через почтовый ящик обратно.

для скачивания используй внешнюю утилиту что бы можно было настраивать, в коде прописать списком констант а потом в тексте указывать какой утилитой скачать (по умолчанию подставь вариант скачать одну страницу со всеми картинками и вариант со вложенностью 1 (с помощью wget).
Осторожно! код не проверял, если он не будет работать, нужно с ИИ поговорить, давать ему исходный промпт, текущий скрипт и сообщения об ошибках или описание что не так работает.
duckduckgo:gpt5 скорее всего там gpt5-mini

Ниже — готовый демон-скрипт на Python 3, который требует минимум зависимостей и выполняет описанное: каждые 5 секунд (через cron не нужно — лучше запускать как демон или systemd service; если хотите именно CRON каждые 5 секунд — cron не поддерживает интервал <1 мин, поэтому используйте loop) проверяет почту по IMAP, берет письма с темой "url", парсит список URL в теле, скачивает их с помощью настраиваемой внешней утилиты (по умолчанию два варианта с wget: "single-page-with-images" и "recursive-depth-1"), собирает скачанные файлы в ZIP и отправляет назад через SMTP. Константы вверху файла легко менять.

Требования:

Python 3.8+
pip install python-dotenv requests python-magic (опционально) beautifulsoup4 lxml
Встроенные модули: imaplib, smtplib, email, subprocess, zipfile, tempfile, os, time, re, logging

Файл: mail_url_worker.py https://pastebin.com/AwPgiMj9

Инструкция по использованию:

Поместите файл, сделайте исполняемым: chmod +x mail_url_worker.py
Установите зависимости: pip install python-dotenv beautifulsoup4 lxml
Отредактируйте константы сверху (IMAP/SMTP/пользователь/пароли). Можно заменить на чтение из окружения.
Убедитесь, что в DOWNLOADERS указаны те утилиты, которые установлены на сервере (wget доступен по умолчанию в большинстве Linux). Можно добавить команду для httrack, curl или иной утилиты — шаблон должен включать {url} и, при необходимости, {outdir}.
Запустите как демон или systemd service. Пример systemd unit (коротко):
Создайте /etc/systemd/system/mail_url_worker.service с запуском python3 /path/to/mail_url_worker.py, затем systemctl enable --now mail_url_worker

Пояснения про выбор downloader в письме:

Если в тексте письма есть строка типа "downloader: recursive-depth-1" или "downloader=single-page-with-images", скрипт использует соответствующий ключ из DOWNLOADERS. Иначе — DEFAULT_DOWNLOADER.

Безопасность и ограничения:

Скрипт запускает внешние команды — убедитесь, что принимаемые URL безопасны и что у пользователя, под которым работает скрипт, нет лишних прав.
Таймаут на скачивание — 300 секунд для каждого вызова.
Для больших сайтов/много URL может потребоваться больше места/памяти — адаптируйте.

Если хотите — могу:

Привести версию с чтением настроек из .env,
Добавить обработку вложенных команд (например, скачивание по списку из вложения),
Подготовить systemd unit и инструкции по безопасности.

p.s. просьба отписаться тут, работает это или нет
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы