Files
netrunner-proxy/Makefile
T
2026-03-22 12:46:51 +07:00

73 lines
2.3 KiB
Makefile

# Настройки
SERVER_IP = 147.45.43.70
REMOTE_USER = root
REMOTE_PATH = /root/netr-core
SERVICE_NAME = netrunner-server
.PHONY: debug-client debug-server build-android build-server deploy-server logs
debug-client:
@echo "--- Сборка клиента (Debug) ---"
cargo build --bin netrunner-client
@echo "--- Применение прав ---"
sudo setcap cap_net_admin,cap_net_raw,cap_dac_override=eip ./target/debug/netrunner-client
@echo "--- Запуск клиента ---"
sudo ./target/debug/netrunner-client
debug-server:
@echo "--- Сборка сервера (Debug) ---"
cargo build --bin netrunner-server
@echo "--- Запуск сервера локально ---"
sudo ./target/debug/netrunner-server --port=4443 --host=0.0.0.0
ABIS = arm64-v8a armeabi-v7a x86_64 x86
build-android:
@for abi in $(ABIS); do \
echo "Building for $$abi..."; \
cargo ndk -t $$abi -o ./gen build --bin netrunner-client --release; \
done
cargo run --bin bindgen-tool generate \
--library gen/arm64-v8a/libnetrunner_client.so \
--language kotlin \
--no-format \
--out-dir gen; \
build-server:
cargo build --bin netrunner-server --release
setup-server:
@echo "--- Обновление системы и установка зависимостей ---"
ssh $(REMOTE_USER)@$(SERVER_IP) "\
apt-get update && \
apt-get upgrade -y && \
apt-get install -y build-essential libssl-dev pkg-config && \
mkdir -p $(REMOTE_PATH)"
# Деплой
deploy-server:
@echo "--- Останавливаем старый сервер ---"
ssh $(REMOTE_USER)@$(SERVER_IP) "systemctl stop $(SERVICE_NAME)" || true
@echo "--- Копируем бинарник ---"
ssh $(REMOTE_USER)@$(SERVER_IP) "mkdir -p $(REMOTE_PATH)"
scp target/release/netrunner-server $(REMOTE_USER)@$(SERVER_IP):$(REMOTE_PATH)/
@echo "--- Копируем файл сервиса ---"
scp server/netrunner-server.service $(REMOTE_USER)@$(SERVER_IP):/etc/systemd/system/$(SERVICE_NAME).service
@echo "--- Запускаем сервис ---"
ssh $(REMOTE_USER)@$(SERVER_IP) "\
systemctl daemon-reload && \
systemctl enable $(SERVICE_NAME) && \
systemctl start $(SERVICE_NAME)"
# Логи
logs:
ssh $(REMOTE_USER)@$(SERVER_IP) "journalctl -u $(SERVICE_NAME) -f"
# Вход на сервер
ssh:
ssh $(REMOTE_USER)@$(SERVER_IP)