웹 콘솔 기반 다중 프로토콜 프록시 관리 플랫폼 Lunel
ArasTey/lunel
GitHubLunel은 웹 콘솔 하나에서 VLESS, Trojan 등 다양한 프로토콜의 프록시 인스턴스를 배포하고 관리하는 다중 프로토콜 플랫폼입니다.
- 기존 시스템을 재구축하여 아키텍처를 개선했으며, 세션 하이재킹 방지 및 메모리 과부하 제한 등 주요 보안 취약점을 보완했습니다.
- 서버에 직접 접근할 필요 없이 웹 콘솔만으로 격리된 환경에서 프록시를 관리하여 운영의 안정성과 편의성을 극대화했습니다.
- 배포를 위해서는 PostgreSQL 데이터베이스와 공용 도메인이 필수적이며, 시스템 구축 시 기술적인 이해가 요구됩니다.
Lunel은 단일 웹 콘솔을 통해 격리된 프록시 인스턴스를 배포, 모니터링 및 관리하는 다중 프로토콜 프록시 플랫폼입니다. 이 시스템은 세 가지 주요 구성 요소로 이루어져 있습니다. 프록시 런타임인 Lunel Core는 VLESS, Trojan(WebSocket + xHTTP), Shadowsocks AEAD 등 다양한 프로토콜을 지원하며, 웹 제어 평면 역할을 하는 Console은 OAuth 로그인과 배포 마법사 등을 제공합니다. 또한, 노드 인 Worker가 격리된 컨테이너 환경에서 Core 인스턴스를 실행하고 상태를 보고합니다.
플랫폼 리팩터링 과정에서는 여러 보안 개선 사항이 적용되었습니다. 주요 업데이트로는 xHTTP 세션 하이재킹 방지(세션을 `(link, session_id)`로 키 지정), 메모리 과부하 제한 설정, 그리고 모든 전송에 대한 통합된 QuotaGate 엔진 도입 등이 있습니다. 또한 로그 기록 시 자격 증명이나 등의 민감 정보가 노출되지 않도록 처리하는 보안 조치도 포함되었습니다.
Lunel을 배포하려면 PostgreSQL 데이터베이스와 공용 도메인이 필수적입니다. 사용자는 레포지토리를 포크한 후, 루트 디렉터리에서 `python main.py` 명령어로 서비스를 시작하고 도메인을 생성하여 배포할 수 있습니다. 초기 설정 시 별도의 변수가 요구되지 않으며, 기본 관리자 계정(`admin`/`admin`)을 사용하여 웹 콘솔에 접속한 뒤 인스턴스를 생성하고 배포하는 과정을 거칩니다.
용어 풀이
- 에이전트
- 목표를 받으면 스스로 계획을 세우고 도구를 써서 여러 단계의 작업을 해내는 AI.
- 토큰
- AI 모델이 글을 처리하는 단위. 단어보다 작은 조각이며 사용량과 요금을 셀 때 기준이 돼요.