add README.md
This commit is contained in:
104
REAME.md
Normal file
104
REAME.md
Normal 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
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user