СВОЙ СЕРВЕР ДЛЯ СКРИНШОТОВYOUR OWN SCREENSHOT SERVER
Звучит страшно, а на деле — минут пятнадцать. Нужны всего две вещи: доступ по SSH и папка, которую сервер отдаёт наружу по HTTP. Дальше программа всё делает сама. It sounds harder than it is — about fifteen minutes. You need exactly two things: SSH access and a folder the server publishes over HTTP. ScreenZilla handles the rest.
// как это работает// how it works
ScreenZilla подключается по SFTP поверх SSH — это не FTP, отдельный доступ заводить не нужно: подойдёт обычный SSH-логин. Порт по умолчанию 22. ScreenZilla connects over SFTP on top of SSH — not FTP. No separate account needed: a regular SSH login works. Default port 22.
Программа сама создаёт папки групп на сервере, если их нет. Вам нужно подготовить только корневую папку. The app creates group folders on the server itself if they are missing. You only prepare the root folder.
После загрузки она собирает ссылку так: публичный адрес + папка группы + имя файла. Значит веб-сервер должен отдавать ту же папку, куда идёт загрузка. After upload it builds the link as public URL + group folder + file name. So the web server must publish the very folder you upload into.
// вариант А — у вас уже есть хостинг// option A — you already have hosting
Если у вас есть сайт на обычном хостинге, скорее всего всё уже готово. Проверьте в панели управления, что доступен SSH — у большинства провайдеров он включается одной галочкой. If you already run a site on shared hosting, you are probably set. Check the control panel for SSH access — most providers enable it with one switch.
Дальше создайте папку внутри той, что уже раздаётся по HTTP: Then create a folder inside the one already served over HTTP:
mkdir -p ~/public_html/shots
Путь у разных провайдеров называется по-своему: public_html, www, httpdocs или /var/www/имя-сайта/public. Посмотрите в панели, где лежит корень сайта. The path differs by provider: public_html, www, httpdocs or /var/www/site/public. Check where your site root is.
Всё. Переходите к настройкам программы. That's it. Move on to the app settings.
// вариант Б — VPS с нуля// option B — a VPS from scratch
Берёте самый дешёвый VPS с Ubuntu. Для скриншотов хватит минимальной конфигурации — это нагрузка на диск, а не на процессор. Take the cheapest Ubuntu VPS. The minimum tier is plenty — screenshots load the disk, not the CPU.
1. Отдельный пользователь и папка1. A separate user and folder
adduser shots mkdir -p /var/www/shots chown -R shots:www-data /var/www/shots chmod 755 /var/www/shots
2. Раздача по HTTP2. Serving over HTTP
С Caddy — сертификат он получит сам: With Caddy, the certificate is obtained automatically:
shots.example.com {
root * /var/www/shots
encode gzip
header X-Content-Type-Options "nosniff"
file_server
}
С nginx:With nginx:
server {
listen 80;
server_name shots.example.com;
root /var/www/shots;
autoindex off;
add_header X-Content-Type-Options "nosniff";
}
// а домен обязательно покупать?// do I need to buy a domain?
Нет. Есть три способа обойтись без покупки. No. There are three ways around it.
У вас уже есть сайтYou already have a site
Значит есть и домен. Заведите поддомен вроде shots.вашсайт.ру — это бесплатно и делается в панели хостинга за минуту.
Then you already have a domain. Add a subdomain like shots.yoursite.com — free, and takes a minute in the control panel.
Технический поддомен хостингаThe host's technical subdomain
Большинство хостингов выдают бесплатный адрес сразу при регистрации — искать в панели раздел «технический домен». У Beget это ваш-логин-от-панели.beget.tech, по одному на аккаунт. Для скриншотов такого адреса достаточно: покупать ничего не нужно. SSL к нему подключается там же в панели, бесплатно.
Most hosts hand out a free address at signup — look for "technical domain" in the panel. At Beget it is your-panel-login.beget.tech, one per account. That is enough for screenshots — nothing to buy. SSL is enabled from the same panel, free.
Просто IP-адресJust the IP address
Работает: в поле публичного адреса пишете http://123.45.67.89. Но есть подвох — HTTPS на голом IP не получить: Let's Encrypt сертификаты для IP-адресов не выдаёт. Ссылки будут по http://, браузер пометит их как незащищённые, а часть мессенджеров такие ссылки не разворачивает в превью.
It works: put http://123.45.67.89 as the public URL. The catch — you cannot get HTTPS for a bare IP: Let's Encrypt does not issue certificates for IP addresses. Links will be plain http://, browsers mark them as not secure, and some messengers will not show a preview.
Свой домен стоит недорого — порядка пары сотен рублей в год за .ru. Если скриншотами делитесь с заказчиками или коллегами, короткий свой адрес выглядит заметно солиднее, чем набор цифр. Но начать можно и без него. Your own domain is cheap — a couple of dollars a year for most zones. If you share screenshots with clients or colleagues, a short address of your own looks far better than a string of digits. But you can start without one.
// что вписать в программе// what to fill in the app
Настройки → раздел SFTP:Settings → SFTP section:
Хост — IP сервера или доменserver IP or domain
Порт — 22
Логин / пароль — от созданного пользователя. Надёжнее — SSH-ключ, поле для него рядомof the user you created. An SSH key is safer — there's a field for it
Папка на сервере — /var/www/shots
Публичный адрес — https://shots.example.com
Сделайте пробный скриншот. Ссылка попадёт в буфер обмена — откройте её в браузере. Take a test screenshot. The link lands in your clipboard — open it in a browser.
// если не заработало// if it doesn't work
Ссылка отдаёт 403The link returns 403
Веб-сервер не может прочитать папку. Чаще всего дело в правах на родительские каталоги: если папка лежит в домашней директории с правами 700, снаружи её не видно. Проверьте цепочку namei -l /var/www/shots.
The web server cannot read the folder. Usually the parent directories are at fault: a folder inside a 700 home directory is invisible from outside. Check the chain with namei -l /var/www/shots.
Ссылка отдаёт 404, хотя файл загрузился404, though the file uploaded fine
Папка загрузки и папка раздачи — разные. Это самая частая ошибка: программа кладёт файл в одно место, а веб-сервер смотрит в другое.
The upload folder and the served folder are not the same. This is the most common mistake.
Не подключается вовсеIt won't connect at all
Проверьте, что это именно SSH-доступ, а не FTP — программе нужен SFTP. И что порт 22 открыт: некоторые провайдеры вешают SSH на другой порт.
Make sure it is SSH access, not FTP — the app needs SFTP. And that port 22 is open: some providers move SSH elsewhere.
Браузер скачивает картинку вместо показаThe browser downloads the image instead of showing it
Веб-сервер отдаёт неверный Content-Type. Для nginx проверьте, что подключён mime.types.
The web server sends the wrong Content-Type. For nginx, check that mime.types is included.
// где взять хостинг// where to get hosting
Россия, простой хостингRussia, shared hosting
Beget ·
Timeweb ·
Reg.ru
Подходит, если уже есть сайт. Убедитесь, что в тарифе есть SSH.
Good if you already run a site. Make sure the plan includes SSH.
Россия, VPSRussia, VPS
Beget ·
Timeweb Cloud ·
Selectel ·
VDSina
Полный контроль. Оплата в рублях, поддержка на русском.
Full control, roubles, Russian-speaking support.
Зарубежные VPSInternational VPS
Hetzner ·
DigitalOcean ·
Vultr ·
Contabo
Дешевле за гигабайт, но оплата картой не из России.
Cheaper per gigabyte; payment needs a non-Russian card.
Застряли? Напишите на support@screenzilla.app — разберёмся. Если в инструкции чего-то не хватает, тем более напишите: допишем. Stuck? Write to support@screenzilla.app. If something is missing here, tell us and we'll add it.