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
Description
No description provided
Readme 68 KiB
Languages
PHP 100%