add README.md

This commit is contained in:
gandc 2025-03-16 00:08:02 +03:00
parent 27b09ad75d
commit 403bdba4f6
Signed by: gandc
GPG Key ID: 9F77B03D43C42CB4

104
REAME.md Normal file
View File

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