3.0 KiB
3.0 KiB
OneTake Updater
범용 프로젝트 업데이트 관리 시스템
📋 개요
OneTake Updater는 여러 프로젝트의 버전 관리와 업데이트 배포를 중앙에서 관리하는 웹 기반 시스템입니다.
🎯 주요 기능
1. 프로젝트 관리
- 다중 프로젝트 지원 (카테고리별 그룹화)
- 버전 정보 관리 (versionName, versionCode)
- 파일 업로드 (드래그 앤 드롭 지원)
- 실시간 업데이트 시간 표시
2. 파일 타입 자동 인식
- 플랫폼 배지: ANDROID (.apk), WINDOWS (.exe), ARCHIVE (.zip)
- 빌드 타입 배지: DEBUG, RELEASE, UNSIGNED
- 파일명 기반 자동 분류
3. REST API
publish_update- 새 버전 업로드check_update- 버전 확인 (Public API)version- 전체 프로젝트 정보
4. 라이선스 관리
- JWT 기반 라이선스 토큰 생성
- QR 코드 자동 생성
- 카카오톡 공유 기능
📦 프로젝트 구조
onetakeupdater/
├── README.md
└── php-portal/ # PHP 기반 웹 포털
├── README.md # 포털 상세 가이드
├── index.php # 메인 포털 파일
├── version.json # 프로젝트 버전 데이터
├── pkgs/ # 업로드된 패키지 파일
├── private_key.pem # JWT 서명 키
└── public_key.pem # JWT 검증 키
🚀 빠른 시작
서버 배포
# 1. 파일 업로드
scp -r php-portal/* user@update.onetake.best:/home/update/html/
# 2. 권한 설정
chmod 755 /home/update/html
chmod 666 /home/update/html/version.json
chmod 755 /home/update/html/pkgs
API 사용 예시
# 업데이트 발행
curl -F "api_key=YOUR_API_KEY" \
-F "id=project-id" \
-F "parent=CATEGORY" \
-F "name=Project Name" \
-F "versionName=v1.0.0" \
-F "versionCode=100" \
-F "file=@app.apk" \
"https://update.onetake.best/index.php?action=publish_update"
# 버전 확인
curl "https://update.onetake.best/index.php?action=check_update&id=project-id"
🔧 설정
관리자 계정 (index.php)
$config = [
'admin_id' => 'admin',
'admin_pw' => password_hash('your_password', PASSWORD_DEFAULT),
'api_key' => 'your_api_key',
'version_file' => 'version.json',
'upload_dir' => 'pkgs/'
];
📊 관리 중인 프로젝트 예시
프로젝트별로 자유롭게 카테고리를 생성하여 관리할 수 있습니다.
🔒 보안
- 관리자 로그인 인증
- API 키 기반 업로드 인증
- JWT 라이선스 시스템
- 세션 기반 접근 제어
📝 버전
- Portal: v8.10
- Last Updated: 2026-02-06
📖 상세 문서
자세한 사용법은 php-portal/README.md를 참조하세요.
🌐 라이브 서버
🛠️ 기술 스택
- Backend: PHP 7.4+
- Frontend: Vanilla JavaScript, HTML5, CSS3
- Storage: JSON 파일 기반
- Security: JWT, Password Hashing
- Libraries: QRCode.js, Kakao SDK