ShotHost
Максимально быстрая загрузка скриншотов.
Делаете скриншот, и ссылка на него сразу оказывается в буфере обмена. Файл в это время уходит в фоне на ваш собственный сервер, без публичных хостингов, рекламы и капч.
На Mac это нативное приложение в строке меню: все настройки в одном окне, пауза, ручная загрузка файла, последние ссылки и уведомление с кнопкой «Открыть». Для Windows есть скрипт PowerShell.
Возможности
- Мгновенная загрузкаСкриншот отправляется на сервер в тот же момент, когда файл записывается на диск.
- Ссылка сразуГотовая ссылка появляется в буфере обмена ещё до окончания копирования, ей можно делиться сразу.
- Максимальная скоростьПрямая загрузка на ваш VPS без очередей и задержек публичных хостингов.
- Ваш серверИзображения лежат на вашем собственном VPS под вашим полным контролем.
- Приложение в строке менюНативное приложение для macOS: настройка в одном окне, проверка соединения, автозапуск при входе в систему.
- Без рекламыНикаких баннеров, всплывающих окон, водяных знаков и капч.
- Вечное хранениеФайлы хранятся, пока вы сами их не удалите, ничего не пропадает автоматически.
- Открытый кодВесь код на GitHub под лицензией MIT: сервер на PHP, приложение на Swift.
Скачать ShotHost
Ссылки ведут на последний выпуск в GitHub Releases: его собирает GitHub Actions при каждой новой версии.
Инструкция по настройке
Свой сервер, SSH-ключ и клиент на компьютере. Семь шагов, и скриншоты летят на ваш VPS.
-
01
Подготовка VPS
Вам понадобится собственный VPS. Убедитесь, что у вас есть SSH-доступ с правами root или sudo.
-
02
Настройка SSH-доступа по ключу
Для безопасной и автоматической выгрузки скриншотов необходим доступ по SSH-ключу.
Создание ключа:
- macOS / Linux: Откройте терминал и введите
ssh-keygen -t ed25519. Нажимайте Enter до завершения. - Windows: Откройте PowerShell или командную строку и также введите
ssh-keygen -t ed25519.
Установка ключа на сервер:
Выполните команду на вашем компьютере (заменив user и ip):
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@your_server_ipЕсли
ssh-copy-idне доступен, вручную скопируйте содержимое вашего.pubфайла в файл~/.ssh/authorized_keysна сервере. - macOS / Linux: Откройте терминал и введите
-
03
Установка Nginx, PHP и Git
Выполните команды на сервере:
sudo apt update sudo apt install nginx php-fpm git -
04
Клонирование проекта
Перейдите в директорию веб-сервера и склонируйте проект. Владельцем папки
filesдолжен быть пользователь, под которым вы заходите по SSH, иначе клиент не сможет загружать в неё файлы. Группаwww-dataи права2775нужны, чтобы Nginx мог отдавать файлы, а новые файлы получали ту же группу:cd /var/www/html sudo git clone https://github.com/igoryakus/shothost.git sudo chown -R $USER:www-data /var/www/html/shothost sudo chmod 2775 /var/www/html/shothost/files -
05
Настройка Nginx
Отредактируйте конфигурацию сайта (обычно
/etc/nginx/sites-available/default):location /shothost/ { try_files $uri $uri/ /shothost/index.php?$args; location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php8.3-fpm.sock; # Проверьте вашу версию PHP } }После изменений перезапустите Nginx:
sudo systemctl restart nginx -
06
Настройка клиента (macOS)
1. Скачайте ShotHost для macOS из блока «Скачать» выше. Можно собрать приложение и самостоятельно:
./macos-app/build-app.sh(нужны Xcode Command Line Tools).2. Откройте
ShotHost.dmgи перетащитеShotHost.appв «Программы». Запустите ShotHost из «Программ». Приложение подписано без сертификата Apple, поэтому в первый раз macOS его заблокирует и покажет предупреждение: нажмите «Готово», откройте Системные настройки → Конфиденциальность и безопасность, прокрутите до раздела «Безопасность», нажмите «Все равно открыть» рядом со строкой «Файл „ShotHost“ заблокирован» и подтвердите паролем или Touch ID. Это нужно сделать один раз. Если кнопки нет, снова запустите ShotHost, чтобы она появилась.3. При первом запуске откроется окно настроек. Заполните поля:
- Папка: куда macOS сохраняет скриншоты, например
~/Pictures/Screenshots. Её можно задать в приложении «Снимок экрана» (Shift+Cmd+5) → Параметры → Сохранить в. - Сервер: IP-адрес или домен VPS.
- SSH-порт:
22, если вы не меняли порт SSH. - Пользователь: тот, под которым вы заходите по SSH (шаг 2).
- SSH-ключ: закрытый ключ из шага 2, например
~/.ssh/id_ed25519(файл без.pub). - Папка ShotHost: папка склонированного проекта на сервере. При установке по шагу 4 это
/var/www/html/shothost/. Файлы загружаются в её подпапкуfiles. Если проект лежит в другом месте, узнайте путь на сервере командойcd путь/к/shothost && pwd. - Сайт: домен или IP, на котором открывается ShotHost, без пути, например
https://example.com. Ссылка строится из сайта и названия папки:https://example.com/shothost/имя_скриншота. Ниже полей показан пример ссылки. - Показывать окно со ссылкой после загрузки: после загрузки появляется окно, в нём кнопка «Показать» открывает скриншот в браузере. Окно закрывается само через 10 секунд. Если выключить, вместо окна будет приходить уведомление.
Нажмите «Проверить соединение». Если появилась зелёная галочка, нажмите «Сохранить». Сообщение «Соединение есть, но папка … не найдена или недоступна для записи» значит, что SSH работает, но такой папки нет или у пользователя нет прав на запись. Проверьте папку командой
ls -ld /var/www/html/shothost/filesна сервере: владельцем должен быть ваш пользователь. Если это не так, выполнитеchownиchmodиз шага 4.Окна у приложения нет, только значок в строке меню. Если значка не видно (например, он спрятан за вырезом экрана), запустите ShotHost из «Программ» ещё раз, и откроются настройки.
4. Чтобы приложение работало постоянно, включите в настройках «Запускать при входе в систему».
- Папка: куда macOS сохраняет скриншоты, например
-
07
Настройка клиента (Windows)
1. Скачайте скрипт для Windows
shothost.ps1из блока «Скачать» выше.2. Откройте его в текстовом редакторе и настройте переменные в начале файла (пути к папкам, данные сервера).
3. Для запуска откройте PowerShell и выполните скрипт. Чтобы он работал в фоне, можно создать ярлык в папке «Автозагрузка» (
Win+R→shell:startup) с командой:powershell.exe -WindowStyle Hidden -File "C:\путь\к\shothost.ps1"Примечание: Убедитесь, что у вас разрешен запуск скриптов. Проверить текущую политику можно командой:
Get-ExecutionPolicy -ListЕсли напротив
CurrentUserилиLocalMachineне указаноRemoteSignedилиUnrestricted, разрешите запуск:Set-ExecutionPolicy RemoteSigned -Scope CurrentUser