2025-05-16 01:02:10 +03:00
2025-05-16 01:02:10 +03:00
2025-03-16 21:03:58 +03:00
2025-04-14 01:32:28 +03:00
2025-03-15 23:49:02 +03:00
2025-03-16 00:14:44 +03:00
2025-04-14 01:25:19 +03:00

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-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

systemd unit

make systemd_install

Очистка

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

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