# SS-Releases SS 프로그램들의 배포 저장소입니다. 각 앱의 업데이트 확인 기능이 이 저장소를 직접 바라봅니다. ## 구조 ``` <제품>/<버전>/ ├─ <제품>-<버전>-<플랫폼>.zip ├─ checksums.sha256 └─ release.json ``` - 버전 폴더 이름은 SemVer(`1.0.0`)입니다. **`channel`이 `stable`인 것 중 가장 높은 버전이 최신판**입니다. - `release.json`이 그 버전의 정보를 담습니다. 앱은 이 파일만 읽고 내려받을 대상을 정합니다. - `checksums.sha256`은 `sha256sum` 형식이라 `sha256sum -c`로도 검증됩니다. ## release.json | 필드 | 뜻 | |---|---| | `product` | 제품 식별자(폴더 이름과 같음) | | `version` | 이 릴리스의 버전 | | `channel` | `stable`이면 자동 업데이트 대상. 그 밖의 값(`beta` 등)은 건너뜁니다 | | `releasedAt` | 배포 시각(ISO 8601, UTC) | | `notes` | 변경 요약. 앱이 사용자에게 그대로 보여 줍니다 | | `assets[].platform` | `win-x64`, `macOS-arm64` 등 | | `assets[].file` | 같은 폴더에 있는 내려받을 파일 이름 | | `assets[].sha256` | 그 파일의 SHA-256 | | `assets[].installer` | zip 안에서 실행할 설치 파일(없으면 압축을 풀어 쓰는 배포본) | | `assets[].silentArgs` | 설치 파일에 넘길 무인 설치 인자 | ## 새 버전 올리기 버전 폴더를 만들고 위 세 파일을 넣어 푸시하면 끝입니다. 별도의 인덱스 파일은 없습니다 — 앱이 제품 폴더의 하위 목록을 읽어 버전을 스스로 찾습니다.