Свой сервер скриншотов без смс и регистрации

Я разработчик. И у меня была боль. Ха-ха теперь уже была.

При обсуждении чего-либо в работе для наглядности я использовал сервисы скриншотов. Нажал print screen, выделил важный блок и отправил ссылку.

Но не так все просто. Использовал я разные варианты. И то регулярные зависания, то сервера недоступны, то еще что-то. Ну еще смущало, что отправляю я ссылки на страницы с рекламой.

Последней каплей стало постоянное зависание последней программы, в которой я оплатил улучшенный тариф. Она просто начала иногда вешать мой ноутбук. 30% загрузка процессора и только оставалось убивать задачу.

Ну в общем поплакался: ] Теперь по делу.

Нашел я на просторах интернета ShareX:

Бесплатная она и для Windows 10 работает. Подождите, владельцы Linux и MacOs, не убегайте. Не об этой программе речь. Просто в ней есть возможность делать отправку на любой адрес. Если на других платформах есть что-то подобное, кидайте ссылки в комментариях.

Ну и зачесался «программист» внутри. А почему бы не сделать свой сервис с блэкджеком... ну вы поняли. Возможно решения уже есть. Я не стал искать. Хочу свое и управляемое. День делов-то.

На Laravel слепил сервис, принимающий файлы

  • Есть админка.
  • Можно загружать форматы, которые вы сами разрешите.
  • Можно обрабатывать получаемые изображения, а можно и нет.
  • Я вообще его начал использовать для загрузки жирных файлов, чтобы к задаче в Trello приложить. Ограничение в 10Мб мешает частенько. У нас на сервере даже папка есть oblako, чтобы на такие файлы можно было сослаться в рабочих задачах. Собственно поэтому и пакет я назвал oblako.
  • Установка 1 командным файлом. Копируем run_start.sh в корень сайта и запускаем в консоли "sh run_start.sh". Вроде протестировал, вроде работает. И так сойдет. Если у кого будут проблемы, пишите в github. Причешем.
  • По умолчанию используется SQLite. Поэтому достаточно только PHP8 на сервере.

В мыслях есть:

  • Возможность создания токенов отдельно по пользователям для контроля потраченного места. Сейчас токен единый на все загрузки.
  • Создание закрытых для общего доступа файлов, видимых только тем, кто авторизован.
  • Автоматическое удаление устаревших файлов.
  • Нормальная система обновления через панель управления.

Забыл написать

Это некоммерческий проект. По крайней мере я не думал о моентизации. Просто решил свою проблему. Возможно кому-то это тоже пригодится.

Не думаю, что это нужно для частных целей. Скорее, это подойдет различным студиям разработки. Ну или возможно кто-то поднимет общедоступные ноды...

В общем, пока писал, решил поднять 1 ноду. Оплачено 300Гб места на 3 месяца. Для тестирования достаточно, думаю.

Пример настройки ShareX:

Свой сервер скриншотов без смс и регистрации

Token: vAGxT8zywfj0Iz6pbPpG

Потом настройте, чтобы по умолчанию для всех типов файлов использовался наш сервис:

Свой сервер скриншотов без смс и регистрации

Разрешены файлы до 2000 Кб.

Форматы: doc, xls, xlsx, docx, pdf, rtf, txt, ppt, pptx, png, jpeg, jpg, jpe, svg, rar, zip, webp, sql, xml, json

Пережатие изображений не выполняется.

Все спасибо за внимание

22
3 комментария

Делаешь print screen , заходишь в телегу, Ctrl + V, отправить.

4
Ответить

Думал над темой для монетизации скриншотера. Сервис указания багов на чужих сайтах. Если интересно, можно снова подумать.

Ответить

Lightshot, не благодарите

Ответить