RDP 관련 파일들을 RDP 폴더로 정리하고 API 시스템 추가 주요 변경사항: - FastAPI 기반 RDP/Shell 모드 전환 API 서버 추가 - venv 환경을 사용하는 자동 설치 스크립트 - requirements.txt로 패키지 의존성 관리 - systemd 서비스로 자동 시작 설정 - CORS 지원으로 외부 프론트엔드 연동 가능 - 실시간 상태 모니터링 API - 웹 기반 컨트롤 패널 포함 파일 구성: - rdp-toggle-api.py: FastAPI REST API 서버 - install-rdp-api.sh: venv 환경 자동 설치 - requirements.txt: Python 패키지 의존성 - rdp-toggle-web.html: 웹 컨트롤 패널 - README.md: 사용 가이드 API 기능: - GET /status: 현재 모드 확인 - POST /toggle: RDP/Shell 모드 전환 - GET /config: 설정 확인 - PUT /config: 설정 업데이트 리액트 프론트엔드에서 토글로 화면 모드 제어 가능 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
62 lines
1.6 KiB
Bash
Executable File
62 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# RDP Toggle API 설치 스크립트
|
|
|
|
set -e
|
|
|
|
echo "RDP Toggle API 설치 시작..."
|
|
|
|
# 설치 디렉토리 설정
|
|
INSTALL_DIR="/opt/rdp-toggle-api"
|
|
VENV_DIR="$INSTALL_DIR/venv"
|
|
|
|
# Python 및 venv 설치
|
|
apt update
|
|
apt install -y python3 python3-venv python3-pip
|
|
|
|
# 설치 디렉토리 생성
|
|
mkdir -p "$INSTALL_DIR"
|
|
|
|
# 가상환경 생성
|
|
echo "가상환경 생성 중..."
|
|
python3 -m venv "$VENV_DIR"
|
|
|
|
# 가상환경에서 패키지 설치
|
|
echo "패키지 설치 중..."
|
|
"$VENV_DIR/bin/pip" install --upgrade pip
|
|
"$VENV_DIR/bin/pip" install -r requirements.txt
|
|
|
|
# API 파일 복사
|
|
cp rdp-toggle-api.py "$INSTALL_DIR/"
|
|
chmod +x "$INSTALL_DIR/rdp-toggle-api.py"
|
|
|
|
# systemd 서비스 생성
|
|
cat > /etc/systemd/system/rdp-toggle-api.service << EOF
|
|
[Unit]
|
|
Description=RDP Toggle API Service
|
|
After=network.target
|
|
|
|
[Service]
|
|
Type=simple
|
|
User=root
|
|
WorkingDirectory=$INSTALL_DIR
|
|
ExecStart=$VENV_DIR/bin/python $INSTALL_DIR/rdp-toggle-api.py
|
|
Restart=always
|
|
RestartSec=5
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
EOF
|
|
|
|
# 서비스 활성화 및 시작
|
|
systemctl daemon-reload
|
|
systemctl enable rdp-toggle-api.service
|
|
systemctl start rdp-toggle-api.service
|
|
|
|
echo "RDP Toggle API 설치 완료!"
|
|
echo "API 서버가 포트 8090에서 실행 중입니다."
|
|
echo ""
|
|
echo "사용 방법:"
|
|
echo " 상태 확인: curl http://localhost:8090/status"
|
|
echo " RDP 모드: curl -X POST http://localhost:8090/toggle -H 'Content-Type: application/json' -d '{\"mode\":\"rdp\"}'"
|
|
echo " Shell 모드: curl -X POST http://localhost:8090/toggle -H 'Content-Type: application/json' -d '{\"mode\":\"shell\"}'" |