Linux-user-friendly console utility that provides terminal access to remote file storage with different user modes
В последнее время наш вуз активно переходит на семейство ОС Linux, однако распространенных решений для удаленного хранения файлов для них не существует. Помимо этого, многие существующие решения требуют обязательную регистрацию, что является проблемой для пользователей, не имеющих с собой паролей. Также возможна утечка личной информации в случае, если пользователь забывает выйти из аккаунта.
Решением этой проблемы является создание продукта, который будет максимально простым в использовании и предусматривать работу с неавторизованными пользователями.
Наш проект удовлетворяет этим требованиям. Он имеет Linux-friendly синтаксис команд, что также упрощает пользование продуктом. Помимо этого, для удобства пользования используется отправка уведомлений на почту, указанную пользователем. Это помогает ему не хранить код извне, а получить его в удобной пользователю момент через почту.
- Установка PostgreSQL & LibPQXX:
sudo apt install postgresql postgresql-contrib
sudo apt install libpqxx-dev
- Установка fmt:
sudo add-apt-repository universe
sudo apt update
sudo apt install libfmt-dev
- Установка Boost:
sudo apt-get install libboost-all-dev
- Установка Mailio:
git clone git://github.com/karastojko/mailio
cd mailio
mkdir build
cd build
cmake ..
sudo make install
- Установка OpenSSL & JWT:
sudo apt install nlohmann-json3-dev
sudo apt install libgtest-dev
sudo apt install libssl-dev
mkdir build
cd build
cmake ..
cmake --build . -j
sudo make install
Пошаговая инструкция, как запустить приложение у себя
Введите команду для клонирования репозитория приложения:
git clone [email protected]:yutfut/VVT-i.git
Через терминал зайдите в директорию сервера и выполните следующие команды:
sudo ./server.sh build
sudo ./server.sh create --config
Теперь сервер готов к работе, остается только заполнить конфигурационный файл, указав в нем количество процессов-воркеров, пути для логов, порт и адрес сервера, а также заполнить блочную директиву database, и простую fs_root с путем до корня файловой системы.
Запуск сервера:
sudo ./server.sh start
Запуск клиента:
./vvti_client
Для получения информации о командах введите в терминале:
help
Используя наш сервис, можно не заботиться о наличии с собой переносного носителя или данных своего аккаунта, к тому же сервис исключает утечку личных данных в случае если пользователь выходит, забывая выйти из своего аккаунта.
Пользователь может с любого компьютера, на котором есть 5-7Мб свободного места, отправить и получить свои файлы максимально быстро и безопасно без лишних действий. Для работы с клиентским приложением достаточно установить пару легковесных библиотек и более ни о чем не заботиться, сервис все сделает сам.
PostgreSQL - Database
LibPQXX - The C++ connector for PostgreSQL
Boost - Multiprocessing Logging & gzip file compression
Epoll - Asynchronous Multiplex Technology
JWT - JWT Authorization Technology
Mailio - Send Emails Module
LIBMAGIC - Getting file type for compression
@And_Dayk - Дьяконов Андрей [Team Lead, Database development]
@kirill555101 - Каташинский Кирилл [Server development]
@yut_fut - Голубев Сергей [Team Lead, Client development]
@skvortsova_na - Скворцова Наталья [Filesystem development & Integration Db and FS to server]
Наш ментор:
@znjuko - Никита Черных
Преподаватели:
@Ciberst - Александр Жиров
И вся команда Технопарк VK!
Ссылка на презентацию: Презентация