Fedya's File Server: Професионален файлов сървър за минути с Go

Наскоро ми се наложи да направя файлов сървър на няколко сървъра и реших да напиша един универсален скрипт, който да е лесен за инсталация, с модерен интерфейс и пълна функционалност. Резултатът е Fedya's File Server – професионален файлов сървър на Go, който може да се инсталира за минути.
🎯 Какво може този файлов сървър?
📁 Основни функции:
- Уеб базиран интерфейс – достъпен от всякъде
- Качване на файлове чрез drag & drop
- Миниатюри за картинки – автоматично генериране на thumbnails
- ZIP архивиране на цели папки с един клик
- Пълна навигация по директориите
- Статистики – брой файлове, папки и изображения
🎨 Визуални предимства:
- Модерен дизайн с градиенти и анимации
- Responsive интерфейс работи на телефони и таблети
- Професионално лого и фавикон
- Цветна схема с анимирани бутони
- Hover ефекти и плавни преходи
Този скрипт вече поддържа два езика (bg/en). При инсталацията ще попита за език и ще го запише в системата. Сървърът ще се компилира с поддръжка на двата езика и ще показва съответния интерфейс.
⚡ Технически характеристики:
- Лека програма – компилирана с Go
- Нулеви зависимости – работи на всяка Linux система
- Systemd услуга – автоматично стартиране
- Signal handling – коректно спиране
- Security features – защита срещу directory traversal
🚀 Как се инсталира?
Инсталацията е изключително проста – копирате скрипта, давате му права за изпълнение и го пускате:
- Свалете скрипта:
wget https://gist.fedia.eu/urocibg/c761a426cf184bb582b4fc53fd3a30cd/raw/HEAD/fedya-server.sh- Направете го изпълним:
chmod +x fedya-server.sh- Стартирайте го:
sudo ./fedya-server.shСкриптът ще ви пита за:
- 📁 Директория за файловете (по подразбиране
/var/www/files) - 🔌 Порт (по подразбиране 8080)
- 🏷️ Име на сървъра
- 🌍 Language (bg/en)
- ⚙️ Дали да се инсталира като systemd услуга
След това автоматично ще:
- Инсталира Go (ако липсва)
- Компилира програмата
- Създаде systemd услуга (ако сте избрали)
- Стартира сървъра

💻 Как се използва?
След инсталацията просто отворете браузър и навигирайте към:
http://вашия-сървър:портНапример: http://192.168.1.100:8080

🖱️ Основни операции:
- Навигиране: Кликнете на папки за да влезете в тях
- Качване: Изберете файл и кликнете "Качи файл"
- Сваляне: Кликнете на файл за да го свалите
- ZIP: Кликнете "Изтегли като ZIP" за цяла папка
- Миниатюри: Картинките се показват автоматично
🛠️ Управление на услугата
Ако сте инсталирали като услуга:
# Статус
systemctl status fedya-server
# Рестартиране
systemctl restart fedya-server
# Спиране
systemctl stop fedya-server
# Логове в реално време
journalctl -u fedya-server -f🔧 Персонализация
Можете лесно да персонализирате сървъра:
- Промяна на порт – редактирайте systemd услугата
- Смяна на директория – променете FILE_DIR променливата
- Персонализиране на името – чрез SERVER_NAME променлива
📊 Защо да го използвате?
✅ Предимства:
- Бърза инсталация – 2 минути от нулата до работещ сървър
- Няма зависимости – не се нуждае от сложни пакети
- Лека програма – използва малко памет и CPU
- Безопасен – няма известни уязвимости
- Отворен код – можете да го променяте според нуждите
🎯 Идеално за:
- 🏢 Фирмени мрежи – споделяне на файлове между колеги
- 🏠 Домашни мрежи – достъп до файлове от различни устройства
- 🔧 Системни администратори – бърз достъп до файлове на сървъри
- 💻 Разработчици – споделяне на билдове и ресурси
🔐 Сигурност
Сървърът включва:
- Защита срещу directory traversal
- Валидация на файлови имена
- Лимитиране на големина на файлове (500MB)
- Сигурна обработка на заявки
📈 Бъдещи подобрения
Планирани функции за следващи версии:
- 👥 Потребителска система с права за достъп
- 🔐 SSL поддръжка за сигурна комуникация
- 📁 Папка за споделяне с временни линкове
- 🔍 Търсене на файлове по име и тип
- 📊 Подробни статистики за използване
💡 Заключение
Fedya's File Server решава един често срещан проблем – бързо и лесно споделяне на файлове в мрежа. С минимални изисквания и максимална функционалност, той е идеалното решение когато се нуждаете от файлов сървър "за вчера".
Инсталацията отнема минути, а ползването е интуитивно за всички потребители. Независимо дали сте системен администратор или обикновен потребител, този сървър ще ви спести време и главоболия.



