123panNextGen/123pan
Python0 / 0
Python3·PyQt6 기반의 123 云盘 비공식 GUI 클라이언트로 대용량 다운로드 최적화와 로컬 암호화 저장을 제공
TL;DR
123pan은 Python3와 PyQt6로 만든 비공식 123 云盘 데스크톱 클라이언트로, 병렬 세그먼트 다운로드와 세션 레벨 조작으로 트래픽 제한 완화에 초점을 맞추고 있습니다. 자격증명은 AES-256-GCM으로 로컬에 암호화 저장하며, uv 기반의 개발 워크플로와 61개의 테스트 케이스로 핵심 로직을 검증할 수 있게 구성되어 있습니다. 바이너리 릴리스로 바로 사용하거나 소스에서 uv로 환경을 맞춰 실행할 수 있으나, 서비스 약관과 법적 책임은 사용자가 부담해야 합니다.
핵심 포인트
- 비공식 클라이언트 특성상 트래픽 제한을 우회하기 위한 여러 기술을 병행하며, 내부적으로 requests 세션과 병렬 HTTP 스트림을 조합해 세그먼트별 동시 다운로드를 처리합니다. 개발자는 토큰 버킷 형태의 속도 제어 모듈을 포함해 다운로드 안정성을 높였고, 이로 인해 대형 파일 전송 시 더 높은 평균 대역폭 활용을 기대할 수 있습니다. 공식 클라이언트와 달리 사용자가 멀티스레드 설정과 프록시를 직접 조정할 수 있게 설계되어 환경별 튜닝이 용이합니다.
- 데이터 보관 측면에서는 AES-256-GCM을 사용한 암호화 저장 구조와 머신 식별자 기반 키 파생을 사용해 로컬 자격증명 노출 위험을 낮추는 아키텍처를 채택했습니다. 키 파일은 ~/.config/123pan/.keyfile 경로에 권한 600으로 저장되며, 테스트 스위트는 임시 키파일을 사용해 암복호 동작을 검증하도록 구성되어 있습니다. 이러한 설계는 로컬 설정 파일이 탈취되는 상황에서 공격 표면을 줄이려는 목적을 가지고 있습니다.
- 개발·배포 워크플로에서는 uv를 사용해 의존성 그룹을 분리하고 테스트와 빌드 환경을 재현 가능하게 구성했습니다. README에 명시된 uv sync 및 uv run 명령으로 개발자 환경을 빠르게 맞출 수 있으며, 61개의 테스트 케이스로 핵심 로직을 자동 검증할 수 있게 되어 코드 안정성 확보에 도움이 됩니다. 이 점은 소스에서 직접 빌드하거나 커스터마이징하려는 개발자에게 실전적인 장점을 제공합니다.
- Python3 + PyQt6 기반의 크로스플랫폼 GUI 클라이언트로 Windows·Linux용 실행 파일 제공
이미지 분석

351
Stars
15
Forks
+204
Trending
0
조회수
351 watchers1 open issuesGNU General Public License v3.0
관련 토론
아직 관련 토론이 없습니다.
댓글
댓글을 작성하려면 로그인이 필요합니다.