myRPC
Описание
Проект myRPC представляет собой систему удалённого выполнения команд через RPC (Remote Procedure Call). Проект включает клиентское приложение myRPC-client и серверное приложение-демон myRPC-server, которые взаимодействуют через сокеты.
Структура проекта
myrpc/
├── libmysyslog/
│ ├── libmysyslog.c
│ └── libmysyslog.h
├── systemd/
│ └── myrpc-server.service
├── myRPC-client.c
├── myRPC-server.c
└── Makefile
Требования
- gcc
- libconfig (
sudo apt-get install libconfig-dev) - dpkg-deb
Сборка проекта
Для сборки проекта выполните команду:
make all
Сборка производится в директории build. Там же будут размещены исполняемые файлы:
build/myRPC-clientbuild/myRPC-server
Использование
Настройка сервера
Создайте конфигурационный файл /etc/myRPC/myRPC.conf со следующим содержимым:
port = 1234;
socket_type = "stream";
Создайте файл со списком разрешенных пользователей /etc/myRPC/users.conf:
username1
username2
Запустите сервер:
sudo ./build/myRPC-server
Использование клиента
./build/myRPC-client -h <адрес_сервера> -p <порт> -s -c "команда bash"
Пример:
./build/myRPC-client -h 127.0.0.1 -p 1234 -s -c "ls -la"
Создание deb-пакетов
Для сборки deb-пакетов выполните:
make deb
Создание локального репозитория
Для создания локального репозитория APT выполните:
make repo
После этого вы сможете устанавливать пакеты через apt:
sudo apt-get install myrpc-client myrpc-server
systemd unit
make systemd_install
Очистка
Очистка временных файлов и папок:
make clean
Description
Languages
C
70.8%
Makefile
29.2%