🚀 Ускоряем раздачу файлов: Устанавливаем простейший файловый сервер на VPS за 30 секунд

Введение

Нужно быстро передать файл другу, клиенту или на другой сервер? Зачем возиться с FTP, Samba, Telegram или облаками, если можно за 1 команду раздать файл прямо со своего VPS?

В этой статье — как развернуть одноразовый файловый HTTP-сервер за секунды, автоматизировать это и сделать удобный скрипт.

📦 Подходит для:

  • Маленьких VPS (1 ГБ ОЗУ, 1 vCPU)
  • Ubuntu / Debian / Arch / Fedora
  • Python уже установлен — больше ничего не нужно

⚙️ Раздаём любой каталог в 1 строку

cd /home/user/files
python3 -m http.server 8080

Теперь можно открыть в браузере:

http://vps_ip:8080/название_файла

🔒 Безопасность: отдаём только 1 файл

mkdir -p /tmp/share
cp important.zip /tmp/share/
cd /tmp/share
python3 -m http.server 9000

🧪 Улучшаем: создаём скрипт для автозапуска

Создайте файл ~/sharefile.sh:

#!/bin/bash

PORT=9000
FILE=$1

if [ -z "$FILE" ]; then
    echo "Usage: $0 <filename>"
    exit 1
fi

mkdir -p /tmp/share
cp "$FILE" /tmp/share/
cd /tmp/share

IP=$(curl -4 -s ifconfig.me)
echo "Файл доступен по адресу: http://$IP:$PORT/$(basename "$FILE")"

python3 -m http.server $PORT

Сделайте скрипт исполняемым:

chmod +x ~/sharefile.sh

И теперь можно раздавать файл одной командой:

./sharefile.sh /Downloads/manual.pdf

🛡️ Бонус: доступ только в течении ограниченного времени (30 секунд в примере)

Чтобы удалить файл через 30 секунд (примитивно):

#!/bin/bash

PORT=9000
FILE=$1

if [ -z "$FILE" ]; then
    echo "Usage: $0 <filename>"
    exit 1
fi

BASENAME=$(basename "$FILE")

mkdir -p /tmp/share
cp "$FILE" /tmp/share/
cd /tmp/share

IP=$(curl -4 -s ifconfig.me)
echo "Файл доступен по адресу: http://$IP:$PORT/$BASENAME"

# Удалить файл через 30 секунд (в фоне)
(sleep 30 && rm -f "/tmp/share/$BASENAME") &

# Запуск HTTP-сервера
python3 -m http.server $PORT

🧠 Когда пригодится

  • Отдать клиенту архив/скриншот/бэкап без регистрации
  • Перебросить файлы между VPS и рабочим ПК
  • Показать другу файл с телефона (через VPS как хост)

✅ Заключение

Теперь у вас есть свой маленький «файлообменник» — без облаков, логинов и лишнего. Просто VPS, Python и скрипт на пару строк.