Register both Paca domains on Naver Search Advisor, Google Search Console and
Bing Webmaster Tools so the site can be indexed by every major engine, add
DASH and AES-128 how-to pages to capture protocol-specific searches, and let a
finished download share a UTM-tagged landing link from the completion shelf.
Package-manager manifests (winget, Chocolatey, Scoop) now carry verified
v1.2.0 hashes and product codes instead of placeholders. All 2,757 tests pass.
💘 Generated with Crush
Assisted-by: Crush:deepseek-v4.1-flash
76 lines
6.1 KiB
Markdown
76 lines
6.1 KiB
Markdown
# Paca 배포·유통 키트 (Distribution Kit)
|
|
|
|
> **목적**: PACA를 패키지 매니저·다운로드 포털·대안 사이트에 등재해 **영구(evergreen) 유입 채널**을 확보한다.
|
|
> **배경/근거**: `docs/GROWTH_PLAN.md` §2. 런치 스파이크는 48시간이면 사라지지만, 이 계층은 수년간 설치를 누적한다.
|
|
> **상태**: winget / Chocolatey / Scoop 매니페스트 값을 **v1.2.0 공개 릴리스 기준으로 채움 완료**(해시·ProductCode·UpgradeCode·iconUrl). 저장소 제출(PR/push)만 계정 작업으로 남음.
|
|
|
|
## 0. 공통 전제 (모든 채널의 관문)
|
|
- [ ] **무인(silent) 설치 가능**: winget/Chocolatey/Scoop/포털 모두 사용자 상호작용 없는 설치를 요구하거나 테스트한다.
|
|
- [ ] **PUP(애드웨어) 없음**: winget 은 PUA 자동 거부, FileHorse/Snapfiles 은 즉시 삭제. 번들·툴바 금지.
|
|
- [ ] **설치자 코드 서명(Authenticode)**: AV 오탐을 줄이고 포털 심사를 통과한다.
|
|
- [ ] **VirusTotal 청정** 확인 후 제출.
|
|
- [ ] **버전 고정 URL**: `.../latest` 금지. 해시가 버전마다 바뀌므로 고정 경로를 쓴다.
|
|
|
|
현재 릴리스 자산(Forgejo): `https://git.chanpaca.net/Video-Downloader/releases/releases/download/v{VERSION}/Paca-Setup-{arch}.{ext}`
|
|
|
|
---
|
|
|
|
## 1. winget (Windows Package Manager) — 최고 ROI
|
|
`winget install Paca.Paca` 한 줄로 모든 Windows 11 에 배포된다.
|
|
- 매니페스트 위치(리포지토리): `microsoft/winget-pkgs` → `manifests/p/Paca/Paca/{VERSION}/`
|
|
- 제출 파일 3종(멀티파일 필수, singleton 금지):
|
|
- `Paca.Paca.yaml` (version)
|
|
- `Paca.Paca.installer.yaml` (installer)
|
|
- `Paca.Paca.locale.en-US.yaml` (defaultLocale)
|
|
- 템플릿: `build/distribution/winget/`
|
|
- 절차: `wingetcreate new <installer-url>` 로 초안 생성 → `winget validate` → PR 1개(패키지 1버전) → Microsoft CLA 서명.
|
|
- 필수 채움: `InstallerSha256`(`winget hash <file>`), MSI `ProductCode`, `InstallerLocale`, `ElevationRequirement`(Program Files 설치 시 `elevationRequired`).
|
|
- 주의: `.ps1`/`.bat` 설치는 불가. MSI/MSIX/EXE/zip 만. URL 은 HTTPS 필수.
|
|
|
|
## 2. Chocolatey — 커뮤니티 저장소
|
|
- 템플릿: `build/distribution/chocolatey/` (`paca.nuspec`, `tools/chocolateyInstall.ps1`, `tools/chocolateyUninstall.ps1`)
|
|
- 절차: `choco new paca` 로 구조 생성 후 템플릿 대체 → `choco pack` → `choco push paca.{VERSION}.nupkg --source https://push.chocolatey.org/`
|
|
- 규칙: `licenseUrl`/`projectUrl` 필수, `iconUrl` 은 PNG(제어 가능한 호스트), `raw.githubusercontent.com` 금지(CPMR0076), `tools` 스크립트는 헬퍼(`Install-ChocolateyPackage`) 사용 + **BOM 포함 UTF-8**.
|
|
- 모더레이션: Pending→Ready→Approved. 35일 무응답 시 자동 거절.
|
|
|
|
## 3. Scoop Extras — 포터블/개발자 채널
|
|
- 템플릿: `build/distribution/scoop/paca.json`
|
|
- 절차: `ScoopInstaller/Extras` 이슈로 신규 앱 제안(필수) → PR → `/verify` 코멘트.
|
|
- 필수: `architecture`(64bit/arm64), `hash`(SHA256), SPDX `license`, 그리고 **`checkver`+`autoupdate`**(없으면 대개 거절).
|
|
- 설치자가 EXE/MSI 뿐이면 `#/dl.7z` 추출 트릭 또는 `innosetup: true` 사용.
|
|
|
|
## 4. 다운로드 포털 (대중 유입층)
|
|
모더레이션에 **2~3주** 걸리므로 런치 3~4주 전 제출한다.
|
|
- **Softpedia**: `softpedia.com/submit_pad.php` (PAD 권장). 봇 차단이 강하므로 실제 브라우저로 제출.
|
|
- **FileHorse**: `filehorse.com/contact/` 로 10개 항목(이름·버전·사이트·설치링크·라이선스·256px 아이콘·스크린샷·설명·YouTube·PAD) 전달. VirusTotal/Safe Browsing 검사 통과 필수.
|
|
- **Snapfiles**: `snapfiles.com/dev/` 개발자센터 로그인 후 제출. 직접 설치·테스트, AV 다중 검사.
|
|
- **MajorGeeks**: `mgnews AT majorgeeks.com` (파일), `marketing@majorgeeks.com` (PR). VMware 설치 테스트, 4점 이상이어야 등재.
|
|
|
|
## 5. AlternativeTo — "IDM 대안" 검색 흡수
|
|
- 계정 생성 후 **7일 aging** 필요(+이메일 인증). 무료 큐는 수개월, **$5 priority** 는 1~2영업일.
|
|
- 등재 후 **핵심은 "Suggest Alternatives"**: IDM, 4K Video Downloader, JDownloader, yt-dlp, Xtreme Download Manager, Free Download Manager, VideoProc 을 대안으로 연결해야 비교 페이지에 노출된다.
|
|
- 필수 필드: Name(공식명만), Short Description, Website, Pricing, Tags, Platforms, Author(회사), 128px+ 정사각 아이콘.
|
|
|
|
## 6. 런치 채널 (스파이크)
|
|
- **Product Hunt**: 화/수 00:01 PST, 코어 200~400명 확보, 첫 3시간 집중. 6개월 쿨다운.
|
|
- **Show HN**: 화/수 07:30 ET, 다운로드 가능한 빌드 + 첫 댓글에 개발 배경 상세. 투표 요청 금지.
|
|
- **Reddit**: `r/software`, `r/opensource`, `r/foss`, `r/selfhosted`, `r/DataHoarder`, `r/privacy` — 링크 도배 금지, 개발자 자기소개 필수.
|
|
- **awesome 리스트 PR**: `awesome-selfhosted`, `awesome-windows`, `awesome-video`.
|
|
- **뉴스레터 핏치**: TLDR(47만), selfh.st(자체호스팅 3만+).
|
|
|
|
## 7. 확정 값 (v1.2.0)
|
|
| 항목 | 값 |
|
|
|---|---|
|
|
| `VERSION` | `1.2.0` |
|
|
| 릴리스 자산 URL | `https://git.chanpaca.net/Video-Downloader/releases/releases/download/v1.2.0/` |
|
|
| `SHA256_X64_MSI` | `56f305290656e636360bcf70377f3b83327149a3ae925f8350d90402f8ed43e3` |
|
|
| `SHA256_ARM64_MSI` | `51c7a3d97cb5f52ed319c9c9be8aa5c6e403273f296369befbd01cd1a27e3f00` |
|
|
| `SHA256_X64_EXE` | `2e963e1a5bd9d1a8faa186d2629bc137e46e26d10bfa8f3702b9f7e97619bdd7` |
|
|
| `SHA256_ARM64_EXE` | `c9d566ecdd2890bb367195c805e042345f0c9f121c66bd0dd63bc87c08e597db` |
|
|
| `MSI_PRODUCTCODE` (x64) | `{02433E35-4DD8-4816-A1FD-2587DDCFEBF8}` |
|
|
| `MSI_UPGRADECODE` (x64) | `{65393C7D-17DC-4B9F-9D0B-F9911092C449}` |
|
|
| x64 EXE/MSI 크기 | `67,836,807` / `73,552,796` |
|
|
| arm64 EXE/MSI 크기 | `61,835,054` / `68,166,544` |
|
|
|
|
> x64 MSI 는 공개 릴리스에서 내려받아 로컬 해시와 **바이트 일치를 검증**했다. 나머지 자산은 크기가 릴리스와 정확히 일치해 동일 빌드임을 확인했다(해시 재산출 없이 신뢰).
|
|
> 버전이 올라가면 `README §7` 값과 각 매니페스트의 버전·URL·해시를 함께 갱신한다.
|