pve9-repo-fix/RDP
thug0bin c6919abf1c Add RDP Toggle API with venv support
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>
2025-11-17 09:14:41 +09:00
..
install-rdp-api.sh Add RDP Toggle API with venv support 2025-11-17 09:14:41 +09:00
proxmox_auto_rdp_setup_korean.md Add RDP Toggle API with venv support 2025-11-17 09:14:41 +09:00
proxmox-auto-rdp-setup.sh Add RDP Toggle API with venv support 2025-11-17 09:14:41 +09:00
RDP_TOGGLE_API.md Add RDP Toggle API with venv support 2025-11-17 09:14:41 +09:00
rdp-toggle-api.py Add RDP Toggle API with venv support 2025-11-17 09:14:41 +09:00
rdp-toggle-web.html Add RDP Toggle API with venv support 2025-11-17 09:14:41 +09:00
README.md Add RDP Toggle API with venv support 2025-11-17 09:14:41 +09:00
requirements.txt Add RDP Toggle API with venv support 2025-11-17 09:14:41 +09:00

RDP Toggle API

Proxmox VE 호스트에서 RDP/Shell 모드를 API로 전환할 수 있는 시스템

개요

외부에서 API 호출을 통해 Proxmox 호스트의 물리적 화면을 Shell 모드와 RDP 모드로 전환할 수 있습니다. 프론트엔드에서 토글 버튼으로 화면 모드를 실시간으로 제어할 수 있습니다.

구성 파일

  • rdp-toggle-api.py - FastAPI 기반 REST API 서버
  • install-rdp-api.sh - 자동 설치 스크립트 (venv 환경)
  • requirements.txt - Python 패키지 의존성
  • RDP_TOGGLE_API.md - API 상세 문서
  • rdp-toggle-web.html - 웹 기반 컨트롤 패널
  • proxmox-auto-rdp-setup.sh - Proxmox RDP 초기 설정 스크립트
  • proxmox_auto_rdp_setup_korean.md - 초기 설정 가이드

빠른 시작

# 1. 설치
chmod +x install-rdp-api.sh
./install-rdp-api.sh

# 2. 서비스 확인
systemctl status rdp-toggle-api

# 3. API 테스트
curl http://localhost:8090/status

API 엔드포인트

GET /status

현재 상태 확인

curl http://localhost:8090/status

POST /toggle

모드 전환

# RDP 모드
curl -X POST http://localhost:8090/toggle \
  -H 'Content-Type: application/json' \
  -d '{"mode":"rdp"}'

# Shell 모드
curl -X POST http://localhost:8090/toggle \
  -H 'Content-Type: application/json' \
  -d '{"mode":"shell"}'

리액트 연동 예시

const [status, setStatus] = useState(null);
const API_URL = 'http://your-proxmox-ip:8090';

// 상태 확인
const fetchStatus = async () => {
  const res = await fetch(`${API_URL}/status`);
  const data = await res.json();
  setStatus(data);
};

// 모드 전환
const toggleMode = async (mode) => {
  await fetch(`${API_URL}/toggle`, {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({ mode })
  });
};

설치 위치

  • API 서버: /opt/rdp-toggle-api/
  • Python 가상환경: /opt/rdp-toggle-api/venv/
  • systemd 서비스: /etc/systemd/system/rdp-toggle-api.service

기능

  • RDP ↔ Shell 모드 전환
  • 실시간 상태 모니터링
  • CORS 지원 (외부 접근 가능)
  • venv 환경 (패키지 충돌 방지)
  • systemd 서비스 (자동 시작)

포트

기본 포트: 8090