2025-03-16 17:16:23 +03:00
2025-03-15 23:47:56 +03:00
2025-03-16 17:11:45 +03:00
2025-03-15 23:49:02 +03:00
2025-03-16 17:12:18 +03:00
2025-03-16 00:14:44 +03:00
2025-03-16 17:16:23 +03:00

myRPC

Описание

Проект myRPC представляет собой систему удалённого выполнения команд через RPC (Remote Procedure Call). Проект включает клиентское приложение myRPC-client и серверное приложение-демон myRPC-server, которые взаимодействуют через сокеты.

Структура проекта

myrpc/
├── libmysyslog/
│   ├── libmysyslog.c
│   └── libmysyslog.h
├── libmysyslog/
│   ├── 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-client
  • build/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

Очистка

Очистка временных файлов и папок:

make clean
Description
No description provided
Readme 88 KiB
Languages
C 70.8%
Makefile 29.2%