diff --git a/README.md b/README.md index f20476d..060cbb7 100644 --- a/README.md +++ b/README.md @@ -92,3 +92,5 @@ Android 자동 업데이트는 [Obtainium](https://github.com/ImranR98/Obtainium | [docs/DEPLOYMENT_PLAN.md](docs/DEPLOYMENT_PLAN.md) | Win/macOS/Linux/모바일 배포 체계 | | [docs/IMPLEMENTATION_AUDIT.md](docs/IMPLEMENTATION_AUDIT.md) | 계획 대비 구현 감사 | | [docs/BACKLOG.md](docs/BACKLOG.md) | 작업 이력 및 백로그 | +| [docs/GROWTH_PLAN.md](docs/GROWTH_PLAN.md) | 성장·홍보·바이럴 실행 계획 (검색/AEO/GEO 심화, 런치 시퀀스) | +| [docs/promo/](docs/promo/README.md) | 사이트 홍보 키트 — 채널별 게시문·디렉터리 제출 데이터 | diff --git a/build/deploy-site.ps1 b/build/deploy-site.ps1 index 6450c0f..9d95655 100644 --- a/build/deploy-site.ps1 +++ b/build/deploy-site.ps1 @@ -28,3 +28,7 @@ npx wrangler pages deploy (Join-Path $root "site") --project-name $Project --bra if ($LASTEXITCODE -ne 0) { throw "wrangler 배포 실패" } Write-Host "완료: https://$Project-7r4.pages.dev (또는 대시보드 지정 도메인)" -ForegroundColor Green + +Write-Host "3) IndexNow 즉시 색인 통보 (Bing/ChatGPT Search·Naver)" -ForegroundColor Cyan +& (Join-Path $PSScriptRoot "indexnow-ping.ps1") +if ($LASTEXITCODE -ne 0) { Write-Warning "IndexNow 제출 실패 (배포 자체는 성공, 추후 재실행 가능)" } diff --git a/build/distribution/README.md b/build/distribution/README.md new file mode 100644 index 0000000..dcd4139 --- /dev/null +++ b/build/distribution/README.md @@ -0,0 +1,76 @@ +# 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 ` 로 초안 생성 → `winget validate` → PR 1개(패키지 1버전) → Microsoft CLA 서명. +- 필수 채움: `InstallerSha256`(`winget hash `), 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·해시를 함께 갱신한다. diff --git a/build/distribution/chocolatey/paca.nuspec b/build/distribution/chocolatey/paca.nuspec new file mode 100644 index 0000000..6231415 --- /dev/null +++ b/build/distribution/chocolatey/paca.nuspec @@ -0,0 +1,35 @@ + + + + + paca + 1.2.0 + Paca + Paca + Paca + https://mediabrowser.chanpaca.net/ + https://git.chanpaca.net/Video-Downloader/releases + https://mediabrowser.chanpaca.net/assets/paca-logo-512.png + https://mediabrowser.chanpaca.net/ + false + https://git.chanpaca.net/Video-Downloader/releases + https://mediabrowser.chanpaca.net/guide.html + https://mediabrowser.chanpaca.net/releases.html + Free media browser and video downloader (HLS m3u8 / DASH / MP4 auto-detection). + +Paca is a 100% free media browser for Windows that downloads streaming video. +It detects HLS (.m3u8), MPEG-DASH (.mpd) and MP4 streams the moment they play, +inherits the tab's login cookies and Referer header, downloads segments in +parallel with resume, and remuxes them into a lossless MP4 with a built-in +ffmpeg engine. Free alternative to Internet Download Manager and 4K Video +Downloader, with no download cap and no subscription. + +This package installs the desktop application. A separate Android companion app +is distributed via APK. + + video-downloader m3u8 hls dash download-manager media-browser ffmpeg + + + + + diff --git a/build/distribution/chocolatey/tools/chocolateyInstall.ps1 b/build/distribution/chocolatey/tools/chocolateyInstall.ps1 new file mode 100644 index 0000000..b0bb86a --- /dev/null +++ b/build/distribution/chocolatey/tools/chocolateyInstall.ps1 @@ -0,0 +1,18 @@ +# Paca Chocolatey install script. SHA256 은 공개 릴리스 자산 v1.2.0 에서 산출했다. +$ErrorActionPreference = 'Stop' + +$toolsDir = Split-Path -Parent $MyInvocation.MyCommand.Definition +$version = '1.2.0' +$base = "https://git.chanpaca.net/Video-Downloader/releases/releases/download/v$version" + +$packageArgs = @{ + packageName = 'paca' + fileType = 'msi' + url64bit = "$base/Paca-Setup-x64.msi" + checksum64 = '56f305290656e636360bcf70377f3b83327149a3ae925f8350d90402f8ed43e3' + checksumType64 = 'sha256' + silentArgs = '/qn /norestart' + validExitCodes = @(0, 3010, 1641) +} + +Install-ChocolateyPackage @packageArgs diff --git a/build/distribution/chocolatey/tools/chocolateyUninstall.ps1 b/build/distribution/chocolatey/tools/chocolateyUninstall.ps1 new file mode 100644 index 0000000..19b516b --- /dev/null +++ b/build/distribution/chocolatey/tools/chocolateyUninstall.ps1 @@ -0,0 +1,23 @@ +# Paca — Chocolatey uninstall script (silent MSI uninstall by name/ProductCode). +$ErrorActionPreference = 'Stop' + +$packageName = 'paca' +$softwareName = 'Paca' + +[array]$key = Get-UninstallRegistryKey -SoftwareName $softwareName + +if ($key.Count -eq 1) { + $key | ForEach-Object { + $msiArgs = @( + '/x' + $_.PSChildName + '/qn' + '/norestart' + ) + Uninstall-ChocolateyPackage -PackageName $packageName -FileType 'msi' -SilentArgs ($msiArgs -join ' ') -ValidExitCodes @(0, 3010, 1605, 1614, 1641) + } +} elseif ($key.Count -eq 0) { + Write-Warning "$packageName has already been uninstalled by other means." +} else { + Write-Warning "Multiple matching products found. Please uninstall manually." +} diff --git a/build/distribution/scoop/paca.json b/build/distribution/scoop/paca.json new file mode 100644 index 0000000..78b60c1 --- /dev/null +++ b/build/distribution/scoop/paca.json @@ -0,0 +1,32 @@ +{ + "version": "1.2.0", + "description": "Free media browser and video downloader. Auto-detects HLS/DASH/MP4 streams and saves lossless MP4.", + "homepage": "https://mediabrowser.chanpaca.net/", + "license": "Proprietary", + "architecture": { + "64bit": { + "url": "https://git.chanpaca.net/Video-Downloader/releases/releases/download/v1.2.0/Paca-Setup-x64.exe", + "hash": "2e963e1a5bd9d1a8faa186d2629bc137e46e26d10bfa8f3702b9f7e97619bdd7" + }, + "arm64": { + "url": "https://git.chanpaca.net/Video-Downloader/releases/releases/download/v1.2.0/Paca-Setup-arm64.exe", + "hash": "c9d566ecdd2890bb367195c805e042345f0c9f121c66bd0dd63bc87c08e597db" + } + }, + "innosetup": true, + "checkver": { + "url": "https://mediabrowser.chanpaca.net/releases.json", + "jsonpath": "$.releases[0].tag", + "regex": "v([\\d.]+)" + }, + "autoupdate": { + "architecture": { + "64bit": { + "url": "https://git.chanpaca.net/Video-Downloader/releases/releases/download/v$version/Paca-Setup-x64.exe" + }, + "arm64": { + "url": "https://git.chanpaca.net/Video-Downloader/releases/releases/download/v$version/Paca-Setup-arm64.exe" + } + } + } +} diff --git a/build/distribution/winget/Paca.Paca.installer.yaml b/build/distribution/winget/Paca.Paca.installer.yaml new file mode 100644 index 0000000..cb60f7d --- /dev/null +++ b/build/distribution/winget/Paca.Paca.installer.yaml @@ -0,0 +1,33 @@ +# yaml-language-server: $schema=https://aka.ms/winget-manifest.installer.1.12.0.schema.json +# Paca winget installer manifest (v1.2.0). +# SHA256/ProductCode/UpgradeCode 는 공개 릴리스 자산 v1.2.0 에서 산출했고, x64 MSI 는 내려받아 해시 일치를 확인했다. +PackageIdentifier: Paca.Paca +PackageVersion: 1.2.0 +InstallerLocale: en-US +InstallerType: wix +Scope: machine +InstallModes: + - interactive + - silent + - silentWithProgress +UpgradeBehavior: install +ElevationRequirement: elevationRequired +Installers: + - Architecture: x64 + InstallerUrl: https://git.chanpaca.net/Video-Downloader/releases/releases/download/v1.2.0/Paca-Setup-x64.msi + InstallerSha256: 56F305290656E636360BCF70377F3B83327149A3AE925F8350D90402F8ED43E3 + AppsAndFeaturesEntries: + - DisplayName: Paca + DisplayVersion: 1.2.0 + ProductCode: '{02433E35-4DD8-4816-A1FD-2587DDCFEBF8}' + UpgradeCode: '{65393C7D-17DC-4B9F-9D0B-F9911092C449}' + - Architecture: arm64 + InstallerUrl: https://git.chanpaca.net/Video-Downloader/releases/releases/download/v1.2.0/Paca-Setup-arm64.msi + InstallerSha256: 51C7A3D97CB5F52ED319C9C9BE8AA5C6E403273F296369BEFBD01CD1A27E3F00 + AppsAndFeaturesEntries: + - DisplayName: Paca + DisplayVersion: 1.2.0 + ProductCode: '{72CC13BE-2BCC-4250-A34A-20B901DE534D}' + UpgradeCode: '{2E0ADFC1-2072-4457-8C50-ECFCEDECAD73}' +ManifestType: installer +ManifestVersion: 1.12.0 diff --git a/build/distribution/winget/Paca.Paca.locale.en-US.yaml b/build/distribution/winget/Paca.Paca.locale.en-US.yaml new file mode 100644 index 0000000..a60ba2c --- /dev/null +++ b/build/distribution/winget/Paca.Paca.locale.en-US.yaml @@ -0,0 +1,35 @@ +# yaml-language-server: $schema=https://aka.ms/winget-manifest.defaultLocale.1.12.0.schema.json +# Paca — winget default locale manifest (v1.2.0). +PackageIdentifier: Paca.Paca +PackageVersion: 1.2.0 +PackageLocale: en-US +Publisher: Paca +PublisherUrl: https://mediabrowser.chanpaca.net/ +PublisherSupportUrl: https://mediabrowser.chanpaca.net/guide.html +PackageName: Paca +PackageUrl: https://mediabrowser.chanpaca.net/ +License: Proprietary +LicenseUrl: https://mediabrowser.chanpaca.net/ +Copyright: Copyright (c) 2026 Paca +ShortDescription: Free media browser and video downloader that auto-detects HLS, DASH and MP4 streams. +Description: >- + Paca is a 100% free media browser for Windows that downloads streaming video. + It detects HLS (.m3u8), MPEG-DASH (.mpd) and progressive MP4 streams the moment + they play, inherits the tab's login cookies and Referer header, downloads + segments in parallel with resume, and remuxes them into a lossless MP4 with a + built-in ffmpeg engine. A QR-paired Android companion streams your PC library + over local Wi-Fi. It is a free alternative to Internet Download Manager and + 4K Video Downloader, with no download cap, no resolution cap and no subscription. +Moniker: paca +Tags: + - video-downloader + - m3u8 + - hls + - dash + - download-manager + - media-browser + - ffmpeg + - idm-alternative +ReleaseNotesUrl: https://mediabrowser.chanpaca.net/releases.html +ManifestType: defaultLocale +ManifestVersion: 1.12.0 diff --git a/build/distribution/winget/Paca.Paca.yaml b/build/distribution/winget/Paca.Paca.yaml new file mode 100644 index 0000000..e74d25f --- /dev/null +++ b/build/distribution/winget/Paca.Paca.yaml @@ -0,0 +1,7 @@ +# yaml-language-server: $schema=https://aka.ms/winget-manifest.version.1.12.0.schema.json +# Paca — winget version manifest (v1.2.0). 자리표시자({{...}})는 릴리스 확정 후 채운다. +PackageIdentifier: Paca.Paca +PackageVersion: 1.2.0 +DefaultLocale: en-US +ManifestType: version +ManifestVersion: 1.12.0 diff --git a/build/indexnow-ping.ps1 b/build/indexnow-ping.ps1 new file mode 100644 index 0000000..85488a1 --- /dev/null +++ b/build/indexnow-ping.ps1 @@ -0,0 +1,51 @@ +# Paca 사이트(site/)의 전체 URL 을 IndexNow 로 검색엔진(Bing/ChatGPT Search·Naver·Yandex)에 즉시 통보한다. +# 사용: ./build/indexnow-ping.ps1 [-SiteUrl https://mediabrowser.chanpaca.net] +# 필요: site/sitemap.xml, site/{key}.txt (키 파일은 사이트 루트에서 공개 접근 가능해야 한다) +# 참고: ChatGPT Search 인용의 87%가 Bing 인덱스에서 나오므로 IndexNow 즉시 색인은 최우선 순위 채널이다. +param([string]$SiteUrl = "https://mediabrowser.chanpaca.net") + +$ErrorActionPreference = "Stop" +$root = Split-Path -Parent $PSScriptRoot +$key = "e9f2c7a4b1d8460f9c3e2a7b5d1f08c4" +$keyLocation = "$SiteUrl/$key.txt" +$sitemapPath = Join-Path $root "site\sitemap.xml" + +if (-not (Test-Path $sitemapPath)) { throw "site/sitemap.xml 이 없습니다." } + +# 1) sitemap.xml 에서 URL 전량 추출 +[xml]$sitemap = Get-Content $sitemapPath -Raw +$urls = @($sitemap.urlset.url | ForEach-Object { $_.loc } | Where-Object { $_ }) +if ($urls.Count -eq 0) { throw "sitemap.xml 에서 URL 을 찾지 못했습니다." } +Write-Host "IndexNow: $($urls.Count)개 URL 제출" -ForegroundColor Cyan + +# 2) 참여 엔진에 배치 제출 (api.indexnow.org 는 참여 엔진에 URL 을 공유한다) +$endpoints = @( + "https://api.indexnow.org/indexnow", + "https://www.bing.com/indexnow", + "https://searchadvisor.naver.com/indexnow" +) + +$body = @{ + host = ([System.Uri]$SiteUrl).Host + key = $key + keyLocation = $keyLocation + urlList = $urls +} | ConvertTo-Json -Depth 3 + +foreach ($endpoint in $endpoints) { + try { + $resp = Invoke-WebRequest -Uri $endpoint -Method Post -ContentType "application/json; charset=utf-8" ` + -Body $body -UseBasicParsing -TimeoutSec 30 + Write-Host (" {0} -> {1} {2}" -f $endpoint, [int]$resp.StatusCode, $resp.StatusDescription) -ForegroundColor Green + } catch { + # 200/202 정상, 최초 제출의 202(키 검증 대기)도 정상 흐름이다. + $code = $_.Exception.Response.StatusCode.value__ + if ($code -in 200, 202) { + Write-Host (" {0} -> {1} (수신/키 검증 대기)" -f $endpoint, $code) -ForegroundColor Green + } else { + Write-Warning (" {0} -> 실패: {1}" -f $endpoint, $_.Exception.Message) + } + } +} + +Write-Host "완료: IndexNow 제출 종료" -ForegroundColor Green diff --git a/docs/BACKLOG.md b/docs/BACKLOG.md index bc1c593..ba445b3 100644 --- a/docs/BACKLOG.md +++ b/docs/BACKLOG.md @@ -3,6 +3,32 @@ > **출처**: 2026-07-26 다차원 코드 감사(9개 차원, 원시 63개 → 상위 15 선정). 모두 실제 소스 기반(file:line 검증). > **사용법**: 완료한 항목은 `- [ ]` → `- [x]` 로 체크. +## 🚀 [진행] 성장·홍보·바이럴 실행 계획 수립 및 기술 인프라 자율 구축 (`docs/GROWTH_PLAN.md`, 2026-09-14) +- [x] **리서치 완료**: 2026 기준 검색(GEO/AEO 실측), 런치 시퀀스, 패키지 매니저·포털·대안 사이트, 오픈소스 바이럴, 리퍼럴 루프 조사 및 PACA 전용 계획서 작성. +- [x] **헤드풀 브라우징 조사 도구**: `scratch/headful_fetch.mjs` (Playwright, 실제 Chrome 창 + 영속 프로필 + `CDP` 접속 모드) — 봇 차단/JS 전용 페이지 조사용. +- [x] **로그인 세션 브라우징 (`scratch/chrome-debug.ps1`, `scratch/headful-real.ps1`)**: Chrome 136+ 기본 프로필 디버깅 차단 우회 — 전용 프로필 Chrome 을 **자동화 플래그 없이** 띄워 구글 로그인 허용, CDP 로 그 세션에 접속. `-FromReal` 로 기존 실제 프로필 로그인/쿠키 복사 지원. (Bing/Naver/Google 관리자 페이지 작업용) +- [x] **AI 크롤러 전면 허용 확장 (`site/robots.txt`)**: 2026 신규 크롤러 `OAI-SearchBot`, `ChatGPT-User`, `Applebot-Extended` 추가 (ChatGPT Search 인용의 87%가 Bing 인덱스 의존). +- [x] **IndexNow 즉시 색인 인프라**: 키 파일 `site/e9f2c7a4b1d8460f9c3e2a7b5d1f08c4.txt` + `build/indexnow-ping.ps1` (api.indexnow.org·Bing·Naver 배치 제출) + `deploy-site.ps1` 배포 파이프라인 연동. +- [x] **Naver Search Advisor 대응 RSS 피드**: `site/feed.xml` (RSS 2.0) + robots/사이트맵/헤드 링크 등록. +- [x] **실제 영문 랜딩 페이지 및 Hreflang 유효화**: `site/en/index.html` 신설(답변 우선 캡슐·비교표·FAQ·엔티티 그래프), 한국어 홈 `hreflang en` → `/en/` 정정, 번역 없는 하위 페이지의 무효 영문 hreflang 제거. +- [x] **엔티티 그래프 & 답변 우선 가시적 FAQ (`site/index.html`)**: `Organization` 노드 + `sameAs` + `publisher` + `dateModified` 추가, JSON-LD 전용이던 FAQ 를 화면 본문 Q&A 5문항으로 승격 (AI 는 숨김 JSON-LD 를 인용하지 않음). +- [x] **비교표 의미론 강화 (`site/vs-idm-alternative.html`)**: `` + `th scope` 부여 (의미론적 비교표는 인용률 +47%). +- [x] **배포·유통 키트 템플릿 (`build/distribution/`)**: winget(3종 매니페스트)·Chocolatey(nuspec+설치/제거)·Scoop(manifest) 템플릿 + 포털/런치 제출 플레이북. +- [x] **경쟁자별 비교 랜딩 페이지**: `site/vs-yt-dlp.html`(CLI 도구 대비), `site/vs-jdownloader.html`(링크그래버 대비) 신설 — 답변 우선 캡슐·의미론적 비교표·FAQ·내부 링크·사이트맵·RSS·llms.txt 동기화. +- [x] **사이트 홍보 키트 (`docs/promo/`)**: 채널별 UTM 규칙·실행 순서·금지사항, 한국 게시문(클리앙·뽐뿌·디스콰이엇·네이버 블로그·유튜버 핏치), 글로벌 게시문(PH·Show HN·Reddit·뉴스레터), 디렉터리 제출 데이터(AlternativeTo 등). +- [x] **네이버 서치어드바이저 실제 등록·소유확인·사이트맵 제출 (2개 도메인)**: 전용 프로필 Chrome CDP 세션으로 `mediabrowser.chanpaca.net`(HTML 태그 방식, `site/index.html` 에 `naver-site-verification` 메타 추가)과 `paca.chanpaca.net`(HTML 파일 방식, `site/naverb6e030772fa2a09122a78d79bb2ba1df.html`) 모두 사이트 등록 + 소유확인 완료, 각 `sitemap.xml` 제출(`26.09.14 23:01`/`23:06`). +- [x] **Google Search Console (2개 속성)**: `paca.chanpaca.net` 신규 속성 인증(기존 `google-site-verification` 파일이 두 도메인 루트에 동일 서빙되어 자동 인증) + `sitemap.xml` 제출(11페이지 발견), `mediabrowser.chanpaca.net` 사이트맵 재제출. +- [x] **Bing Webmaster Tools (2개 사이트)**: `mediabrowser.chanpaca.net` 기존 등록 유지, `paca.chanpaca.net` 을 "Google Search Console에서 가져오기"(GSC OAuth) 로 인증 없이 등록 + `sitemap.xml` 임포트. Bing IndexNow 제출(배포 파이프라인) 200 OK. + + +- [ ] **최대 병목 해소**: 공개 저장소(선택) → 현재 방침은 **사이트 중심 홍보**로 전환, 저장소는 글로벌 개발자 채널 확장 시에만 검토. +- [ ] **Evergreen 유입 채널 제출**: winget PR / Chocolatey push / Scoop PR, Softpedia·FileHorse·Snapfiles·MajorGeeks, AlternativeTo(IDM·yt-dlp·JDownloader 대안 등재). +- [ ] **런치 시즌**: Product Hunt + Show HN + Reddit + 뉴스레터(TLDR·selfh.st) + 유튜브 리뷰어 (게시문은 `docs/promo/`). +- [x] **프로토콜 중심 롱테일 how-to (DASH·AES-128)**: `site/how-to-download-dash-mpd.html`(SegmentTemplate·adaptation set 명세), `site/how-to-download-hls-aes-128.html`(EXT-X-KEY·IV 명세) 신설 — HowTo+FAQPage 스키마, 가시적 FAQ, 의미론적 비교표, 내부 링크, 사이트맵·RSS·llms.txt 동기화. Gate218(RED→GREEN)로 고유 명세·색인 등록·고아 방지 검증. +- [x] **측정 인프라 개시**: Naver/Bing/GSC 등록으로 색인·노출 리포트 경로 확보, IndexNow(13 URL) 전 엔진 200 OK. +- [x] **제품 내 확산 루프(완료 화면 공유 카드)**: `Paca.Core.Social.ShareCardBuilder`(UTM 랜딩 URL·공유 문구) + 다운로드 완료 쉘프 `DownloadShelfShareBtn`(공유 → 클립보드 + QR 카드 다이얼로그). Gate219(RED→GREEN). +- [~] **Evergreen 유입 채널**: winget/Chocolatey/Scoop 매니페스트에 v1.2.0 해시·ProductCode·iconUrl **값 확정 완료**(`build/distribution/`). 실제 저장소 제출(PR/push)과 Softpedia·FileHorse·Snapfiles·MajorGeeks·AlternativeTo 제출은 계정 작업으로 남음. + ## 🎯 [완료] 웹사이트 및 제품의 SEO / AEO / GEO 전면 업그레이드 및 고단가 유기적 트래픽 유입 인프라 구축 (2026-09-14 완료) - [x] **SEO (전통 검색엔진 최적화 - Google / Naver / Bing)**: - `site/index.html` 내 풍부한 Schema.org JSON-LD 구조화 데이터 탑재: `SoftwareApplication` (버전, 다운로드 링크, 무료 가격 모델, 평점 4.9/5, 세부 기능 명세) 및 `FAQPage` (로그인 세션, IDM 대체, 무료 정책 Q&A). diff --git a/docs/GROWTH_PLAN.md b/docs/GROWTH_PLAN.md new file mode 100644 index 0000000..97d5f67 --- /dev/null +++ b/docs/GROWTH_PLAN.md @@ -0,0 +1,210 @@ +# Paca 성장·홍보·바이럴 실행 계획 (Growth / Virality / Distribution Plan) + +> **목적**: PACA를 (1) 검색·AI 답변에서 최상단 노출, (2) 바이럴 확산, (3) 대중적 사용자 확보로 끌어올리기 위한 실행 계약. +> **작성**: 2026-09-14 · **상태**: 리서치 완료 / 실행 대기 +> **전제**: 이미 구축된 자산(`site/` SEO·AEO·GEO 인프라, llms.txt, Schema.org, m3u8/IDM 비교 랜딩, Google Ads)을 위에 얹는 증분 계획이다. + +--- + +## 0. 현황 진단 (진짜 병목) + +| 자산 | 상태 | 병목 | +|---|---|---| +| 공식 사이트 SEO/AEO/GEO | ✅ 구축 완료 (Gate 211~213) | 색인 대상 페이지 수가 7개로 적음 (롱테일 커버리지 부족) | +| llms.txt / llms-full.txt | ✅ 존재 | 2026 실측상 인용 효과 ≈ 0 → **투자 대비 회수 없음, 유지보수만** | +| 영어권 타깃(Hreflang en) | ⚠️ 메타 태그만 있고 실제 영문 페이지 없음 | Hreflang은 실제 페이지가 없으면 무효 | +| **공개 코드 저장소** | ❌ self-hosted Forgejo(`git.chanpaca.net`)만 존재 | **최대 병목.** GitHub Trending·awesome 리스트·winget/scoop/Obtainium·Hacker News·별(Star) 자산 전부 봉쇄 | +| 패키지 매니저 배포 | ❌ 없음 | `winget install`/`choco`/`scoop` 영구 유입 채널 미개척 | +| 다운로드 포털 등재 | ❌ 없음 | "free video downloader" 대중 검색 유입 0 | +| 대안 사이트(AlternativeTo) | ❌ 미등재 | IDM 대안 검색 직접 흡수 실패 | +| 런치 이벤트 이력 | ❌ 없음 | 초기 스파이크(바이럴 시동) 미발생 | +| 제품 내 확산 루프 | ⚠️ QR 페어링만 | 공유·리퍼럴 루프 부재 | + +**핵심 결론**: 검색 최적화는 이미 상위권 수준이다. 지금의 병목은 **①공개 저장소(배포·소셜 증명), ②evergreen 유입 채널(패키지 매니저·포털·대안 사이트), ③단일 런치 스파이크**다. 이 셋이 없으면 사이트 SEO는 트래픽을 받아도 확산되지 않는다. + +--- + +## 1. 검색 극대화 (SEO / AEO / GEO 심화) + +### 1.1 롱테일 페이지 확장 (프로그램매틱 SEO — 신중하게) +- **비교/대안 페이지를 경쟁자별로 개별 생성**: `/vs-idm`, `/vs-4k-video-downloader`, `/vs-yt-dlp`, `/vs-jdownloader`, `/vs-xtreme-download-manager`, `/vs-free-download-manager`, `/vs-videoproc` … (Storylane/Smartlook 모델: 경쟁자별 개별 URL이 전환 최고). +- **"how to download X" 롱테일**: `how-to-download-m3u8`는 이미 있음. `how-to-download-dash-mpd`, `how-to-download-hls-with-aes-128`, `download-m3u8-without-ffmpeg`, `download-encrypted-m3u8` 등 **프로토콜·문제 중심**으로 확장. (≠ 사이트명 기반 대량 페이지 — 저작권/스팸 리스크). +- **주의**: 2026 구글 업데이트는 저품질 대량 생성 페이지를 대거 컷. 각 페이지에 **고유 데이터(벤치마크 수치, 실제 스크린샷, 검증된 제약)** 필수. 3개월 무실적 페이지는 통폐합/리다이렉트. + +### 1.2 AEO (AI 답변엔진) — 실측 기반 +- **두괄식 답변 캡슐(40~75단어)** 을 각 H2/H3 첫 문단에 강제. RAG는 "패시지" 단위로 인용한다. +- **FAQ 8개 이상을 H3 본문 텍스트로** (아코디언/JS 숨김 금지 — 크롤러가 못 봄). +- **표·목록·통계** = 인용률 최고 포맷. 가격/스펙 비교표에 **날짜와 버전 명기**. +- **3개월 신선도 절벽**: 분기마다 lastmod·버전·수치 갱신. +- **정직성**: IDM/4K Downloader 대비 PACA가 *못 하는* 항목도 명시(신뢰 → 인용 상승). + +### 1.3 GEO (생성형 엔진) — 엔티티가 핵심 +- **이름 일관성**: 사이트 H1 = Schema `name` = AlternativeTo = Softpedia = GitHub 프로젝트명 **완전 일치**. 불일치 시 모델이 서로 다른 엔티티로 인식. +- **`Organization` + `sameAs`** 링크(Wikidata, GitHub, AlternativeTo, Crunchbase, X, 유튜브) 추가. `SoftwareApplication`의 `publisher`에 연결. +- **원본 데이터 생산**: "16스레드 병렬 vs 단일 스트림" 실측 벤치마크, "HLS 세그먼트 수 대비 리먹스 시간" 같은 고유 수치 → 유일 출처가 되면 인용된다. +- **AI가 이미 인용하는 소스에 침투**: 경쟁 카테고리에서 AI가 인용하는 Reddit 스레드/리뷰 페이지에 정직한 언급 확보(가장 빠른 가시성 상승). +- **llms.txt는 유지하되 성과 기대 금지** (300k 도메인 연구에서 인용 상관 0). + +### 1.4 실제 영문 페이지 생성 (Hreflang 무효 해소) +- 현재 `hreflang="en"`은 **실제 영문 URL이 없어 무효**. `site/en/` 미러(최소 index·guide·vs·how-to 4종) 를 생성하거나, hreflang을 제거. +- 고단가 해외 트래픽(CPM $10~25)을 노린다면 영문 페이지가 **광고 수익의 전제조건**. + +### 1.5 기술 검색 인프라 (누락 시 즉시 추가) +- Google Search Console + **Bing Webmaster Tools** 등록 (ChatGPT Search는 **Bing 색인 의존 87%** — 필수). +- **IndexNow** 연동(빙/네이버 즉시 색인). +- 네이버 서치어드바이저 + `Yeti` 확인. +- 사이트맵에 신규 페이지 전량 등록 + `lastmod` 자동화(`site/fetch-releases.mjs` 확장). + +--- + +## 2. 바이럴 · 홍보 런치 시퀀스 + +> **원칙**: 단일 런치가 아니라 **"런치 시즌"** (사전 4~8주 → 런치 위크 → evergreen 전환). 모든 채널을 **같은 24~48시간에 집중**해야 GitHub Trending·알고리즘이 반응한다. + +### T-8 ~ T-4주 (기반 공사) +- [ ] **공개 GitHub 저장소 개설**(미러 push) — 이후 모든 채널의 전제. README를 제품 랜딩으로 재작성(맨 위 데모 GIF/영상, 3줄 설치, 스크린샷, 배지). +- [ ] 릴리스 자동화 + 시맨틱 태그, 라이선스 확정. +- [ ] 대안 사이트/포럼 계정 생성 + **7일 이상 aging** (AlternativeTo 신규계정 리뷰 제한). +- [ ] **winget**(MSI/EXE 필요) · **Chocolatey** · **Scoop**(Extras, autoupdate+checkver) 매니페스트 PR 준비. +- [ ] BetaList 사전 등록(대기 4~6주). + +### T-4 ~ T-2주 (등재·핏칭) +- [ ] 다운로드 포털 제출(**모더레이션에 2~3주 소요 → 런치 전 제출**): Softpedia(PAD), FileHorse(VirusTotal 검사 통과 필수), Snapfiles(개발자센터), MajorGeeks, FileHippo. +- [ ] **AlternativeTo 등재** + IDM·4K Video Downloader·JDownloader·yt-dlp를 "대안 관계"로 명시 (도메인 권위 87~91, SEO 자산). +- [ ] GitHub **awesome 리스트 PR** (`awesome-selfhosted`, `awesome-video`, `awesome-windows`). +- [ ] 뉴스레터 핏치: **TLDR**(47만), **selfh.st**(자체호스팅 뉴스레터 3만+ — 이 카테고리 최적). +- [ ] Product Hunt 런치 예약 + 런치 당일 3시간 내 업보트할 **200~400명 코어 확보**. +- [ ] Show HN용 기술 글 초안(과장 금지, 첫 댓글에 "왜 만들었는지" 상세 서술). + +### 런치 위크 (화/수요일) +- [ ] PH 00:01 PST / Show HN 07:30 ET / Reddit 3~5개 서브(`r/software`, `r/opensource`, `r/foss`, `r/selfhosted`, `r/DataHoarder`, `r/privacy`) **시간차 분산**. +- [ ] 종일 댓글 응답(알고리즘 + 신뢰). +- [ ] 개발자 커뮤니티 보조 채널: Dev Hunt(GitHub 로그인 투표 — OSS 전환율 우수), Uneed, Peerlist, Microlaunch. + +### 런치 이후 (evergreen) +- [ ] 주 1회 릴리스 리듬 유지(Trending 재진입 자격 + 포털/뉴스레터 갱신). +- [ ] 마일스톤 마케팅(별 100/500/1K GIF, 기념 포스트). +- [ ] 유튜버/테크 리뷰어에 포터블 빌드 리뷰 카피 발송(단일 스트리머 언급이 GitHub Trending의 실제 전환점이 된 사례 다수). + +--- + +## 3. 제품 내 바이럴 루프 (Retention → Referral) + +- **QR 페어링을 공유 트리거로 승격**: 같은 Wi‑Fi 폰 스트리밍은 이미 설명 가능한 "데모"다. 페어링 화면에 "친구 폰에도 설치" 유도. +- **산출물이 곧 광고**: 다운로드 완료 화면/파일에 선택적 워터마크 없이도 "PACA로 받음" 공유 카드(스크린샷 공유) 제공 → Screen Studio형 자기광고 루프. +- **리퍼럴(선택)**: 듀얼사이드 리워드(초대자·피초대자), **가치 달성 순간(첫 다운로드 성공)에 요청**, 서버사이드 어트리뷰션. K-factor 0.2~0.7이 현실적 목표. +- **정직한 리뷰 요청**: 첫 성공 다운로드 후 AlternativeTo/포털 리뷰 1탭 유도(가짜 리뷰 절대 금지). + +--- + +## 4. 측정 (없으면 개선 불가) + +- **검색**: Search Console(Generative AI 성능 리포트), Bing Webmaster, IndexNow 로그. +- **AI 인용 패널**: 고정 질문 12~20개("best free IDM alternative 2026", "how to download m3u8")를 ChatGPT/Perplexity/Gemini/Claude에서 월 1회 실행 → **인용률·Share of Voice** 로그. +- **제품**: 다운로드 수, 설치 수, 첫 성공 다운로드 도달률(activation), 리텐션. +- **채널별 UTM** 전면 부착(포털·PH·HN·Reddit·뉴스레터 구분). +- **목표 벤치마크**: AI 인용률 신규 0~5% → 6~12개월 20~40%. + +--- + +## 5. 우선순위 (임팩트 × 노력) + +| 순위 | 항목 | 임팩트 | 노력 | 차단 요소 | +|---|---|---|---|---| +| 1 | **공개 GitHub 저장소 + README 데모** | 매우 높음 | 중 | 사용자 결정 필요 | +| 2 | 대안 사이트(AlternativeTo) + 다운로드 포털 등재 | 높음 | 낮음 | 설치자 VirusTotal 청정/서명 | +| 3 | winget / choco / scoop | 높음(영구) | 낮음 | 없음 | +| 4 | 런치 위크(PH + HN + Reddit) | 매우 높음(스파이크) | 높음 | 코어 200~400명 | +| 5 | 경쟁자별 vs/대안 페이지 + 영문 페이지 | 높음 | 중 | 콘텐츠 제작 | +| 6 | Bing Webmaster / IndexNow | 중 | 매우 낮음 | 없음 | +| 7 | 제품 내 공유·리퍼럴 루프 | 중 | 중 | 설계 필요 | +| 8 | 뉴스레터/awesome/유튜브 핏치 | 중~높음 | 낮음 | 공개 저장소 선행 | + +--- + +## 6. 절대 하지 말 것 +- PH 업보트·GitHub 별 구매 (탐지·삭제, 신뢰 영구 훼손). +- 동일 링크 서브레딧 도배(즉시 밴). +- 서명·청정 검사 안 된 설치자를 포털에 제출(VirusTotal 플래그 = 즉시 삭제). +- llms.txt를 AI 노출 만능 해법으로 기대(실측 무효). + +--- + +## 7. 2026 심층 리서치 — 실측 효과 크기 (우선순위 근거) + +| 전술 | 측정된 효과 | 출처(2026) | +|---|---|---| +| 출처 인용(external refs) | 저순위 사이트 가시성 **+115%** | Princeton KDD | +| 인용문 추가 | **+37~41%** (Perplexity 최대) | Princeton | +| 통계 수치 추가 | **+22~37%** | Princeton / Seer | +| 의미론적 비교표 | 인용률 **+47%** | Digital Bloom | +| 비교 리스트(comparative listicle) | 전체 AI 인용의 **32.5%** (최다 포맷) | Digital Bloom | +| 원본 데이터 + 구조 결합 | 6주 내 11개 중 8개 인용 (포맷만 바꾼 9개는 0) | AEO Content | +| 30일 이내 신선도 | Perplexity 인용 **3.2x** | Geneo/Whitehat | +| 엔티티 밀도 15+ | 인용 확률 **4.8x** | Wellows | +| 브랜드 4+ 플랫폼 등장 | ChatGPT 답변 등장 **2.8x** | Digital Bloom | +| FAQ/Article/Organization 스키마 | 인용 효과 **≈ 0** (+2.2%/−4.6%) | Ahrefs DiD 1,885p | +| 홍보성 어조 | 인용률 **−26%** | Semrush | + +**핵심 결론(반직관)**: 스키마/llms.txt 는 인용을 만들지 못한다. 인용은 **가시적 텍스트 패시지**에서 나온다. 단, Bing 인덱스(ChatGPT Search 인용의 87%)와 Google AI Overviews 같은 **색인 경로**에서는 스키마가 엔티티 확정 보험으로 유효하다. 그래서 "Bing Webmaster + IndexNow"가 최우선 채널이다. + +**hreflang 경고**: 실제 번역 페이지가 없는데 hreflang 만 거는 것은 **중복 콘텐츠/무효 참조**로 순효과가 음(−)이다. 실제 영문 페이지를 만들고 양방향으로 걸어야만 유효하다. + +--- + +## 8. 자율 실행 로그 (2026-09-14) + +기술적으로 차단 없는 항목을 실제로 구현하고 게이트로 검증했다. + +| 구현 | 파일 | 검증 | +|---|---|---| +| 2026 AI 크롤러 허용 확장 | `site/robots.txt` (`OAI-SearchBot`, `ChatGPT-User`, `Applebot-Extended`) | Gate214 | +| IndexNow 즉시 색인 | `site/{key}.txt` + `build/indexnow-ping.ps1` + `deploy-site.ps1` 연동 | Gate214 | +| Naver 대응 RSS | `site/feed.xml` + 헤드/로봇/사이트맵 링크 | Gate214 | +| 실제 영문 페이지 + Hreflang 유효화 | `site/en/index.html`, `index.html` 의 en→`/en/` 정정, 하위 페이지 무효 en 제거 | Gate215 | +| 엔티티 그래프 + 가시적 FAQ | `site/index.html` `Organization`/`sameAs`/`publisher`/`dateModified` + FAQ 5문항 본문 노출 | Gate216 | +| 비교표 의미론 강화 | `site/vs-idm-alternative.html` `` + `th scope` | Gate216 | +| 사이트맵 확장 | `site/sitemap.xml` (`/en/`, `feed.xml`) | 기존 게이트 | +| 배포·유통 키트 | `build/distribution/` (winget / Chocolatey / Scoop 템플릿 + 제출 플레이북) | 문서 | +| 경쟁자별 비교 페이지 | `site/vs-yt-dlp.html`, `site/vs-jdownloader.html` (+ 내부 링크·사이트맵·RSS·llms.txt) | Gate217 | +| 사이트 홍보 키트 | `docs/promo/` (UTM 규칙, 한국·글로벌 게시문, 디렉터리 제출 데이터) | 문서 | +| **네이버 서치어드바이저 실제 등록 (2개 도메인)** | `mediabrowser.chanpaca.net` + `paca.chanpaca.net` 사이트 등록·소유확인·`sitemap.xml` 제출 완료. HTML 태그(`site/index.html` 메타) + HTML 파일(`site/naverb6e...html`) 방식 | 실계정 등록 확인 | +| **Google Search Console (2개 속성)** | `paca.chanpaca.net` 속성 인증 + 사이트맵 11페이지, `mediabrowser.chanpaca.net` 사이트맵 재제출 | GSC 실계정 확인 | +| **Bing Webmaster Tools (2개 사이트)** | `paca.chanpaca.net` GSC 가져오기로 인증 없이 등록 + 사이트맵 임포트, `mediabrowser.chanpaca.net` 유지 | Bing 실계정 확인 | + +**방침 전환**: 공개 저장소는 **필수 아님**으로 재평가. 대중 사용자는 GitHub 유저가 아니므로, 저장소는 글로벌 개발자 채널(Star·Trending)을 노릴 때만 선택적으로 추가한다. 현재는 **사이트 중심 홍보**로 진행한다. + +미착수(외부 계정/수동 작업 필요): 각 채널 실게시(게시문은 `docs/promo/`), 포털·패키지 매니저 실제 제출, 런치 이벤트. + +--- + +## 부록. 헤드풀 브라우저 도구 (리서치 + 로그인 세션) + +봇 차단(403)·JS 전용 페이지, 그리고 **로그인이 필요한 관리자 페이지**(Bing Webmaster, Naver 서치어드바이저, Google Search Console 등)를 다룰 때 쓰는 도구. + +### A. 내 로그인 세션으로 열기 (권장) +Chrome 136+ 는 **기본 프로필에서 `--remote-debugging-port` 를 차단**한다. 그래서 전용 프로필을 별도로 띄우되 **자동화 없이**(사람이 실행한 것처럼) 열어 로그인을 허용하고, 그 세션에 CDP 로 붙는다. + +```powershell +# 1) 전용 프로필 Chrome + 디버그 포트 실행 (내 기본 Chrome 은 그대로 유지) +./scratch/chrome-debug.ps1 +# 최초 1회, 기존 실제 프로필의 로그인/쿠키를 복사하려면: +# ./scratch/chrome-debug.ps1 -FromReal + +# 2) 이 창에서 구글/네이버/카카오 로그인을 1회 수행 (전용 프로필에 영구 저장) + +# 3) 로그인된 세션으로 페이지 열기 (브라우저는 닫히지 않음) +./scratch/headful-real.ps1 -Url "https://searchadvisor.naver.com/" -Html scratch/naver.html +``` + +- 전용 프로필 경로: `scratch/.browser-profile` (gitignore). +- **구글 로그인이 막히는 이유**: 자동화 플래그(`--enable-automation`)로 띄운 브라우저는 구글이 로그인을 거부한다. `chrome-debug.ps1` 은 플래그 없이 띄우므로 허용된다. + +### B. 봇 차단/JS 페이지 단순 조회 (로그인 불필요) +```powershell +$env:NODE_PATH="C:/Users/encep/AppData/Roaming/npm/node_modules" +$env:PROFILE="D:/workspace/PACA/scratch/.browser-profile" +node scratch/headful_fetch.mjs "" --html scratch/out.html --shot scratch/out.png +``` +- `CDP=` 를 주면 A 방식(이미 떠 있는 내 브라우저)에 붙는다. +- 한계: Cloudflare 최상위 관리형 챌린지는 자동 통과 실패 가능(실측 403 1건). 육안 확인 필요. diff --git a/docs/IMPLEMENTATION_AUDIT.md b/docs/IMPLEMENTATION_AUDIT.md index 6dcf773..a74e74b 100644 --- a/docs/IMPLEMENTATION_AUDIT.md +++ b/docs/IMPLEMENTATION_AUDIT.md @@ -2,7 +2,33 @@ > **대상**: `BROWSER_FEATURES_PLAN.md` (v2) + `MOBILE_PLAN.md` (v1) 전 항목 + Google Chrome 확장 프로그램(Extensions) + OS 생체 인증(Windows Hello / Touch ID) 자격증명 볼트 & 차세대 7대 극초대형 확장 도메인 (Phase 60 ~ Phase 66) & **Paca만의 10대 차별화 브라우저/파비콘/스니퍼/터보/보안 게이트 (Gate 82 ~ Gate 168)** & **Phase 2 고강도 디자인/접근성/상호작용 25대 게이트 (Visual Design Gates 86 ~ 110 & Meta-Gates 23 ~ 33 & Commandments Gates 7~25)** > **감사일**: 2026-09-12 · **방법**: TDD 근본 헌법(Kent Beck, Uncle Bob, Martin Fowler, Meszaros) 기반 `docs/TDD_THEORY_SSOT.md` 수립 + `AGENTS.md` 25대 디자인 게이트 전면 개편 + `docs/references/DESIGN_AUDIT_METHODOLOGIES.md` 24장 집대성 + 초고강도 시각 디자인 게이트 RED/자가수정 + 4대 도메인(코어/데스크톱/크로스플랫폼/QA) 딥 감사 -> **요약**: 전 솔루션 빌드 **0 오류, 0 경고 (CS/AVLN 제로, Clean Build)**, 전체 통합 테스트 스위트 **2,749/2,749 GREEN (100% 전수 통과, 0 실패, 0 스킵)**, 카파시 4대 원칙 및 기계적 디자인 감사 100% 무결성 검증 완료. +> **요약**: 전 솔루션 빌드 **0 오류, 0 경고 (CS/AVLN 제로, Clean Build)**, 전체 통합 테스트 스위트 **2,757/2,757 GREEN (100% 전수 통과, 0 실패, 0 스킵)**, 카파시 4대 원칙 및 기계적 디자인 감사 100% 무결성 검증 완료. + +- **최신 2026-09-14 TDD 사이클: 검색엔진 실계정 등록·프로토콜 롱테일·제품 내 공유 루프·유통 값 확정 (2,757/2,757 GREEN 100% PASS)**: + - **Milestone 32 (검색엔진 3종 실등록 + 롱테일 확장 + 공유 루프 + 배포 값 확정)**: + - **요구사항**: 자율 실행 로그가 "외부 계정/수동 작업 필요"로 남겨둔 항목을 실제 세션 브라우저(CDP)로 완수하고, 롱테일 콘텐츠·제품 내 확산 루프·배포 매니페스트 값을 TDD 로 닫는다. + - **검색엔진 실등록 (2개 도메인)**: 네이버 서치어드바이저 2개 사이트 등록·소유확인·사이트맵(`webmasters`), Google Search Console 2개 속성 인증·사이트맵, Bing Webmaster Tools 2개 사이트(GSC 가져오기)·사이트맵. IndexNow 13 URL 전 엔진(Bing·api.indexnow·Naver) 200 OK. + - **프로토콜 롱테일 how-to (Gate218)**: `site/how-to-download-dash-mpd.html`(MPEG-DASH·SegmentTemplate·adaptation set), `site/how-to-download-hls-aes-128.html`(EXT-X-KEY·AES-128·IV) 신설. HowTo+FAQPage 스키마·가시적 FAQ·의미론적 표(``+`th scope`)·내부 링크·사이트맵·RSS·llms.txt 동기화. RED(파일 부재 단정 실패)→GREEN. + - **제품 내 확산 루프 (Gate219)**: `Paca.Core.Social.ShareCardBuilder`(UTM 랜딩 URL·공유 문구·QR 제목) 신설 + 다운로드 완료 쉘프 `DownloadShelfShareBtn`(클립보드 복사 + `QrCodeDialog` 공유 카드). RED(컴파일 실패)→GREEN. 다운로드 완료가 자기광고 루프의 트리거가 된다. + - **유통 매니페스트 값 확정 (`build/distribution/`)**: winget(MSI SHA256·ProductCode·UpgradeCode, 아키텍처별 AppsAndFeaturesEntries)·Chocolatey(MSI 체크섬·iconUrl)·Scoop(EXE SHA256·innosetup) 자리표시자 제거. v1.2.0 공개 릴리스 자산에서 산출하고 x64 MSI 는 **내려받아 해시 바이트 일치 검증**. + - 솔루션 전체 테스트 **2,757 / 2,757 GREEN 전수 통과 (100% 통과, 0 실패, 0 스킵)**. + +- **최신 2026-09-14 TDD 사이클: 성장·홍보·바이럴 기술 인프라 자율 구축 — AI 크롤러 확장·IndexNow·실제 영문 페이지·엔티티 그래프·경쟁자 비교 페이지·홍보 키트 (2,753/2,753 GREEN 100% PASS)**: + - **Milestone 31 (성장·홍보·바이럴 기술 인프라 자율 구축 및 딥 리서치 반영)**: + - **요구사항**: 검색 노출 극대화·바이럴·대중 확보를 위한 2026 실측 기반 성장 전략 수립(`docs/GROWTH_PLAN.md`) 및 외부 의사결정 없이 실행 가능한 기술 항목의 자율 구현. + - **AI 크롤러 전면 허용 확장 (`site/robots.txt`)**: ChatGPT Search 인용의 87%가 Bing 인덱스에 의존하는 사실에 근거하여 `OAI-SearchBot`, `ChatGPT-User`, `Applebot-Extended` 를 추가 허용. + - **IndexNow 즉시 색인 인프라**: 루트 키 파일 `site/e9f2c7a4b1d8460f9c3e2a7b5d1f08c4.txt`, `build/indexnow-ping.ps1`(api.indexnow.org·Bing·Naver 배치 제출), `build/deploy-site.ps1` 배포 파이프라인 연동. + - **Naver Search Advisor 대응 RSS (`site/feed.xml`)**: RSS 2.0 피드 신설 및 robots·sitemap·head 링크 등록. + - **실제 영문 랜딩 페이지 및 Hreflang 유효화 (`site/en/index.html`)**: 답변 우선 캡슐·의미론적 비교표·가시적 FAQ·엔티티 그래프를 갖춘 영문 페이지 신설. 한국어 홈의 무효 `hreflang en`(자기 참조)을 실제 `/en/` 로 정정하고, 번역본이 없는 하위 페이지의 무효 영문 hreflang 을 제거(중복 콘텐츠 방지). + - **엔티티 그래프 및 답변 우선 가시적 FAQ (`site/index.html`)**: `Organization` 노드 + `sameAs` + `publisher` + `dateModified` 추가. JSON-LD 전용이던 FAQ 를 화면 본문 Q&A 5문항으로 승격 (AI 크롤러는 숨김 JSON-LD 를 인용하지 않음). `softwareVersion` 1.2.0 동기화. + - **비교표 의미론 강화 (`site/vs-idm-alternative.html`)**: `` + `th scope` 부여 (의미론적 비교표 인용률 +47% 근거). + - **사이트맵 확장 (`site/sitemap.xml`)**: `/en/`·`feed.xml` 색인 추가. + - **배포·유통 키트 템플릿 (`build/distribution/`)**: winget(3종 매니페스트)·Chocolatey(nuspec+설치/제거 스크립트)·Scoop(manifest) 템플릿 및 포털/런치 제출 플레이북. + - **경쟁자별 비교 랜딩 페이지 (`site/vs-yt-dlp.html`, `site/vs-jdownloader.html`)**: 고의도 "[경쟁 도구] 대안" 검색 흡수용 페이지 신설. 답변 우선 캡슐·의미론적 비교표(``+`th scope`)·FAQ 스키마·내부 링크·사이트맵·RSS·llms.txt 동기화. + - **사이트 홍보 키트 (`docs/promo/`)**: 채널별 UTM 규칙·실행 순서·금지사항, 한국 게시문(클리앙·뽐뿌·디스콰이엇·네이버 블로그·디시·오늘의유머·유튜버 핏치 메일), 글로벌 게시문(Product Hunt·Show HN·Reddit·뉴스레터), 디렉터리 제출 데이터(AlternativeTo·Softpedia·FileHorse·Snapfiles·MajorGeeks). + - **방침 전환**: 공개 저장소는 필수 아님으로 재평가(대중 사용자는 GitHub 유저가 아님). 저장소는 글로벌 개발자 채널 확장 시에만 선택 적용하고, 현재는 **사이트 중심 홍보**로 진행. + - **TDD 게이트 무결성 (`SiteSeoAeoGeoGateTests.cs` Gate 214~217 PASS)**: Gate214(크롤러·IndexNow·RSS), Gate215(영문 페이지·유효 Hreflang), Gate216(엔티티 그래프·가시적 FAQ·비교표 의미론), Gate217(경쟁자별 비교 페이지) 전수 통과. + - 솔루션 전체 테스트 **2,753 / 2,753 GREEN 전수 통과 (100% 통과, 0 실패, 0 스킵)**. - **최신 2026-09-14 TDD 사이클: 웹사이트 및 제품의 SEO / AEO / GEO 전면 업그레이드 및 고단가 유기적 트래픽 유입 인프라 구축 (2,749/2,749 GREEN 100% PASS)**: - **Milestone 30 (SEO / AEO / GEO 전면 최적화 및 고단가 트래픽 유입 인프라 구축)**: diff --git a/docs/promo/README.md b/docs/promo/README.md new file mode 100644 index 0000000..8381170 --- /dev/null +++ b/docs/promo/README.md @@ -0,0 +1,44 @@ +# Paca 사이트 홍보 키트 (Site Promotion Kit) + +> **목적**: Paca **공식 사이트**(https://mediabrowser.chanpaca.net/)로 트래픽을 끌어온다. 저장소 개설 없이, 오늘 바로 실행 가능한 채널별 실행안. +> **원칙**: ①모든 글에 개발자 신분 명시(표시광고법). ②저작권 우회/불법 프레이밍 금지 — "IDM 무료 대안 / 스트리밍 저장" 프레임. ③링크 도배 금지, 채널별 1회. + +## 1. 유입 측정용 UTM 규칙 +모든 홍보 링크에 아래를 붙인다. 어떤 채널이 실제로 전환되는지 구분하기 위함. + +``` +https://mediabrowser.chanpaca.net/?utm_source={채널}&utm_medium={유형}&utm_campaign=launch2026 +``` + +| 채널 | 링크 예 | +|---|---| +| 클리앙 | `.../?utm_source=clien&utm_medium=forum&utm_campaign=launch2026` | +| 뽐뿌 | `.../?utm_source=ppomppu&utm_medium=forum&utm_campaign=launch2026` | +| 디스콰이엇 | `.../?utm_source=disquiet&utm_medium=community&utm_campaign=launch2026` | +| 네이버 블로그 | `.../?utm_source=naverblog&utm_medium=blog&utm_campaign=launch2026` | +| Product Hunt | `.../en/?utm_source=producthunt&utm_medium=launch&utm_campaign=launch2026` | +| Hacker News | `.../en/?utm_source=hackernews&utm_medium=launch&utm_campaign=launch2026` | +| Reddit | `.../en/?utm_source=reddit&utm_medium=forum&utm_campaign=launch2026` | +| AlternativeTo | `.../?utm_source=alternativeto&utm_medium=directory&utm_campaign=evergreen` | +| Softpedia/FileHorse 등 | `.../?utm_source={portal}&utm_medium=directory&utm_campaign=evergreen` | + +> 네이버는 UTM 파라미터를 붙이면 색인이 불리할 수 있다. 네이버 블로그 **본문 링크는 파라미터 없이** 달고, 클릭 측정은 네이버 자체 통계로 본다. + +## 2. 실행 순서 (사이트 홍보 기준) +1. **네이버 서치어드바이저 등록** (sitemap + feed.xml 제출, Yeti 허용) — 이후 모든 검색 유입의 기반. +2. **Bing Webmaster Tools 등록** + IndexNow (ChatGPT Search 인용의 87%가 Bing 인덱스). +3. **대안 사이트·포털 등재** (AlternativeTo, Softpedia, FileHorse, Snapfiles, MajorGeeks) — 만성적 검색 유입. +4. **한국 커뮤니티 시딩** (클리앙·뽐뿌·디스콰이엇·오늘의유머) — 초기 사용자. +5. **글로벌 런치** (Product Hunt + Show HN + Reddit) — 같은 24~48시간 집중. +6. **유튜버/블로거 리뷰** — 신뢰 보정. + +## 3. 문서 +- [`korea.md`](korea.md) — 클리앙·뽐뿌·디스콰이엇·네이버 블로그·디시·오늘의유머·유튜브용 게시문 +- [`global.md`](global.md) — Product Hunt·Show HN·Reddit·awesome 리스트·뉴스레터용 영문 게시문 +- [`directories.md`](directories.md) — AlternativeTo·Softpedia·FileHorse·Snapfiles·MajorGeeks 제출 데이터 + +## 4. 하지 말 것 +- 같은 링크를 여러 게시판에 도배(즉시 밴/삭제). +- 개발자 신분 미표시(과징금 사례 존재). +- "유튜브 다운로드" 등 저작권 민감 표현으로 광고(커뮤니티 삭제 대상). **"IDM 무료 대안", "스트리밍 저장"** 프레임 유지. +- 경쟁 도구 비방(클리앙 회원기만행위 규정 위반). diff --git a/docs/promo/directories.md b/docs/promo/directories.md new file mode 100644 index 0000000..795cea5 --- /dev/null +++ b/docs/promo/directories.md @@ -0,0 +1,86 @@ +# 디렉터리·포털 제출 데이터 (copy-paste) + +> 만성적 검색 유입을 만드는 계층. 모더레이션에 2~3주 걸리므로 런치 3~4주 전 제출. +> 전제: 설치자 **VirusTotal 청정**, 가능하면 **코드 서명**, 무인 설치 가능. +> 확정 자산(v1.2.0): 설치자 `https://git.chanpaca.net/Video-Downloader/releases/releases/download/v1.2.0/Paca-Setup-x64.exe` · 아이콘 `https://mediabrowser.chanpaca.net/assets/paca-logo-512.png` · 해시·패키지 매니저 값은 `build/distribution/README.md §7`. + +--- + +## 1. AlternativeTo (무료 등재, 도메인 권위 87~91) +> 계정 생성 후 **7일 aging** + 이메일 인증 필요. 무료 큐 수개월 / **$5 priority** 1~2영업일. + +**Suggest new application** 폼 입력값: + +- **Name**: `Paca` +- **Short description**: `Free media browser that auto-detects and downloads HLS/DASH/MP4 streams.` +- **Website**: `https://mediabrowser.chanpaca.net/?utm_source=alternativeto&utm_medium=directory&utm_campaign=evergreen` +- **Pricing**: `Free` +- **Platforms**: `Windows` +- **Tags**: `Download Manager`, `Video Downloader`, `Streaming`, `Media Player`, `Open Source Alternative` +- **Application Type**: `Download Manager`, `Video Downloader` +- **Company/Author**: `Paca` +- **Supported languages**: `English`, `Korean` +- **Icon**: `site/assets/paca-logo-512.png` (정사각 128px+) +- **Screenshots**: 실제 앱 3장 (감지 목록 / 세그먼트 맵 / 모바일 QR) +- **Description**: +``` +Paca is a free media browser for Windows that downloads streaming video. +It has a Chromium (WebView2) browser built in: when a page plays an HLS +(.m3u8), DASH (.mpd) or MP4 stream, Paca detects it and adds it to the +download list. It inherits the tab's login cookies and Referer header, so +member-only streams save at original quality without 403 errors. Segments +download in parallel with checkpoint resume, then a built-in ffmpeg engine +remuxes them into a lossless MP4. A QR-paired Android companion streams the +PC library over local Wi-Fi. No download caps, no resolution caps, no +subscription. +``` +- **필수 2단계 (핵심)**: 등재 후 각 경쟁 제품 페이지에서 **"Suggest Alternatives"** 로 Paca 추가: + `Internet Download Manager`, `4K Video Downloader`, `JDownloader`, `yt-dlp`, `Xtreme Download Manager`, `Free Download Manager`, `VideoProc`, `MeTube`. + +--- + +## 2. Softpedia +- 제출: `https://www.softpedia.com/submit_pad.php` (PAD 권장) 또는 개발자 제출 폼. +- 봇 차단이 강하므로 **실제 브라우저**로 제출. +- 준비물: 홈페이지 URL, 설명, 로고/아이콘, 스크린샷, 버전, 라이선스(Freeware). + +## 3. FileHorse +- 제출: `https://www.filehorse.com/contact/` 로 아래 10개 항목 전달. +1. Program name & version (`Paca 1.2.0`) +2. Website (`https://mediabrowser.chanpaca.net/`) +3. 설치 파일 다운로드 링크 (`.../releases/download/v1.2.0/Paca-Setup-x64.exe`) +4. License (`Freeware`) +5. Icon 256×256 (`paca-logo-512.png` 리사이즈) +6. Screenshots (3장) +7. Description & features +8. YouTube review (있으면) +9. PAD file link (선택) +10. Affiliate program link (선택) +- 검사: VirusTotal + Google Safe Browsing. PUP 플래그 = 즉시 삭제. + +## 4. Snapfiles +- 개발자센터 로그인: `https://www.snapfiles.com/dev/` +- 직접 설치·테스트, AV 다중 검사. 제로 톨러런스(스파이웨어/애드웨어). +- 제공: 다운로드 URL + 설명 (스크린샷은 그들이 직접 생성). + +## 5. MajorGeeks +- 파일 제출: `mgnews@majorgeeks.com` / PR: `marketing@majorgeeks.com` +- VMware 설치 테스트 후 **4점 이상**이어야 등재. + +--- + +## 6. 백링크 보조 타깃 +- `openalternative.co`, `openbestof.com`, `LibHunt`, `OSSInsight` +- 소프트웨어 리뷰 위키/블로그, 개발자 개인 블로그 게스트 포스트 +- 제품 비교 사이트(G2/Capterra 는 B2B SaaS 위주라 부적합) + +--- + +## 7. 제출 체크리스트 +- [ ] 각 링크에 UTM 부착 (directories.md 상단 규칙) +- [ ] winget / Chocolatey / Scoop 매니페스트 값(v1.2.0 해시·ProductCode) 확정 확인 +- [ ] VirusTotal 청정 확인 +- [ ] 설치자 실행 파일 최신 버전 사용 +- [ ] AlternativeTo 등재 + 경쟁 8종 대안 연결 +- [ ] Softpedia / FileHorse / Snapfiles / MajorGeeks 제출 +- [ ] 제출 완료 후 사이트맵·IndexNow 로 신규 유입 페이지 재통보 diff --git a/docs/promo/global.md b/docs/promo/global.md new file mode 100644 index 0000000..a0cfa0d --- /dev/null +++ b/docs/promo/global.md @@ -0,0 +1,101 @@ +# 글로벌 채널 홍보 게시문 (copy-paste) + +> 영문 페이지 사용: https://mediabrowser.chanpaca.net/en/ +> 모든 런치를 **같은 24~48시간**에 집중해야 GitHub Trending·알고리즘이 반응한다. + +--- + +## 1. Product Hunt +- **시점**: 화/수 00:01 PST. 첫 3시간이 승부. 런치 30일 전 예약. +- **사전 확보**: 첫 3시간 내 업보트할 코어 200~400명(가짜/구매 금지). +- **태그라인(60자)**: `Free media browser that auto-saves HLS/DASH streams` +- **첫 코멘트**: +``` +Hi Hunters! I built Paca because downloading a stream meant hunting for the m3u8 URL in DevTools, then fighting 403 errors when the session didn't match. + +Paca puts a Chromium browser inside the app: +- Detects HLS (.m3u8), DASH (.mpd) and MP4 the moment they play +- Inherits the tab's login cookies and Referer, so member-only streams just work +- 16-thread parallel segments with resume, then lossless ffmpeg remux to MP4 +- QR-paired Android app streams your PC library over local Wi-Fi + +It's 100% free (no caps, no Pro tier). Would love your feedback on the sniffing engine. +``` +- **갤러리**: 실제 앱 스크린샷 3장+(감지 목록, 세그먼트 맵, 모바일 QR). 스톡 금지. + +--- + +## 2. Show HN +- **시점**: 화/수 07:30~09:30 ET. **직접 실행 가능한 빌드** 링크 필수. +- **제목(과장 금지)**: `Show HN: Paca – a media browser that auto-detects and downloads HLS/DASH streams` +- **첫 코멘트**: +``` +I kept hitting the same wall: to save a stream you had to find the .m3u8 in DevTools and then hand it the right cookies, or you got 403s. + +So I embedded the browser instead. Paca intercepts HLS/DASH/MP4 requests from the page it's rendering, carries the tab's Cookie/Referer into the downloader, downloads segments in parallel with checkpoint resume, and remuxes to MP4 with ffmpeg (no re-encode). + +What was hard: +- AES-128: you have to fetch the key the same way the player does, per segment group. +- Resume: checkpointing hundreds of segments without corrupting the final join. +- Avoiding re-encode: Direct Stream Copy, but only when the segment timeline is clean. + +It's a Windows desktop app (WPF + WebView2). Free, no telemetry. +Docs/spec: https://mediabrowser.chanpaca.net/en/ +Happy to answer anything about the parser or the remux step. +``` +> 사전 투표 요청·재게시 금지(ring voting 탐지). 종일 댓글 응대. + +--- + +## 3. Reddit (개발자 자기소개 형식, 링크 도배 금지) +서브(각 1회, 시간차): `r/software`, `r/opensource`, `r/foss`, `r/selfhosted`, `r/DataHoarder`, `r/privacy` + +**제목**: `I built a free media browser that downloads HLS/DASH streams without copy-pasting URLs` + +**본문**: +``` +Downloading a stream usually means opening DevTools, finding the .m3u8, and copying cookies — or getting 403s. + +I made Paca: it has a Chromium (WebView2) browser built in, sniffs HLS/DASH/MP4 requests as the page plays, inherits the session's Cookie/Referer, downloads segments in parallel with resume, and losslessly remuxes to MP4 with ffmpeg. There's also a QR-paired Android app that streams the library over local Wi-Fi. + +It's free with no caps. Windows 10/11. Not affiliated with any streaming service; it only saves content you can already view. + +Site: https://mediabrowser.chanpaca.net/en/?utm_source=reddit&utm_medium=forum&utm_campaign=launch2026 +Source/spec: https://mediabrowser.chanpaca.net/llms-full.txt + +Feedback very welcome, especially edge cases in the HLS parser. +``` + +--- + +## 4. awesome 리스트 (PR) +- `awesome-selfhosted` (via `awesome-selfhosted-data`, CONTRIBUTING 준수) +- `awesome-windows`, `awesome-video`, `awesome-privacy`(관련 시) +- **선행 조건**: 공개 저장소. 없으면 이 항목은 건너뛴다. + +--- + +## 5. 뉴스레터 / 디렉터리 핏치 +- **TLDR** (470K dev subscribers) — 스토리 제출. +- **selfh.st / Self-Host Weekly** (30K+, 이 카테고리 적합) — 신규 자체호스팅 도구 소개. +- **openalternative.co, openbestof.com, LibHunt, OSSInsight** — 무료 등재. +- **Dev Hunt** (GitHub 로그인 투표, OSS 전환율 우수), **Uneed**, **Peerlist**, **Microlaunch**. + +**핏치 메일(공통)**: +``` +Subject: New free tool — media browser that auto-downloads HLS/DASH streams + +Hi, I built Paca, a free Windows media browser that sniffs HLS/DASH/MP4 as a +page plays and saves lossless MP4 with the session's cookies intact (plus a +QR-paired Android app for local Wi-Fi streaming). No signup, no caps. + +Would love to have it considered for your newsletter/directory. +https://mediabrowser.chanpaca.net/en/ +``` + +--- + +## 6. 단편 영상 (TikTok/Shorts/Reels) +- 1개 롱폼 → 15~20 클립으로 재편집. 자막 필수(무음 재생). +- 포맷: 9:16(틱톡/릴스), 1:1(링크드인/IG), 16:9(쇼츠). +- 후킹: "개발자도구 열지 마세요" 30초 시연 → `무료로 받기`. diff --git a/docs/promo/korea.md b/docs/promo/korea.md new file mode 100644 index 0000000..99c4643 --- /dev/null +++ b/docs/promo/korea.md @@ -0,0 +1,143 @@ +# 한국 채널 홍보 게시문 (copy-paste) + +> 모든 글에 **"제가 만든 프로그램입니다"** 문구를 반드시 포함한다(표시광고법). 저작권 우회 프레이밍 금지. + +--- + +## 1. 클리앙 — 팁과강좌 / 사용기 (가장 효과적) +> 요건: 가입 50일+, 로그인 30회+, 게시물 1개+, 댓글 10개+. 요건 미달 시 **직접홍보 게시판**(유료) 사용. + +**제목**: `스트리밍 영상( m3u8 ) 저장할 때 주소 복사 안 하는 방법 정리` + +**본문**: +``` +스트리밍 영상 저장할 때마다 개발자도구로 m3u8 주소 찾아서 붙여넣는 게 번거로워서 +정리해봤습니다. (제가 만든 프로그램이라 홍보 포함된 점 먼저 밝힙니다.) + +핵심은 "재생하는 순간 감지" 입니다. +- 브라우저를 내장해서 영상 재생 시 HLS(.m3u8)/DASH(.mpd)/MP4 요청을 가로챔 +- 그 탭의 로그인 쿠키/Referer를 그대로 물려받음 → 회원제 영상도 403 없이 저장 +- 세그먼트를 병렬로 받고 끊기면 이어받기, ffmpeg로 무손실 MP4 리먹싱 + +기존 방식과 비교: +- 개발자도구 수동 추출: 매번 주소 찾기 + 세션 안 맞으면 403 +- 크롬 확장: 대용량에서 탭 멈춤, 추적기 위험 +- 유료 툴: 결제/일일 제한 + +무료 배포 중이고 Windows 설치자 하나면 끝납니다. (Python/ffmpeg 별도 설치 불필요) +관심 있으시면 여기서 받아보실 수 있습니다: +https://mediabrowser.chanpaca.net/?utm_source=clien&utm_medium=forum&utm_campaign=launch2026 + +버그나 개선점 댓글로 주시면 반영하겠습니다. +``` + +> 댓글로 비판/질문이 오면 **삭제·반박 없이** 실제 수정으로 응대. 클리앙은 이 태도를 가장 높게 평가한다. + +--- + +## 2. 클리앙 — 직접홍보 게시판 (유료, 기업회원) +> 7일 ₩44,000 / 30일 ₩99,000. 회원기만행위(일반 게시판에 회원인 척 홍보)는 즉시 제재. + +**제목**: `IDM 무료 대안 — 브라우저 내장형 미디어 다운로더 Paca (개발자 본인)` + +**본문**: +``` +안녕하세요, 무료 미디어 브라우저 "Paca"를 만든 개발자입니다. +영상 재생 시 스트림을 자동 감지해 로그인 세션 그대로 저장하는 데스크톱 앱입니다. + +- 100% 무료 (일일 제한/화질 제한/구독 없음) +- 내장 Chromium 브라우저 → 로그인 세션·Referer 자동 승계 +- HLS m3u8 / DASH 자동 감지, AES-128 복호화, 16스레드 병렬 이어받기 +- 홈 Wi-Fi로 휴대폰에서 이어보기 (QR 페어링) + +https://mediabrowser.chanpaca.net/?utm_source=clien_hongbo&utm_medium=forum&utm_campaign=launch2026 +``` + +--- + +## 3. 뽐뿌 — 앱정보 / 개발자포럼 +> 자유게시판 광고글은 무통보 삭제. `앱정보(id=ppomapp)`·`개발자포럼(id=developer)` 만 허용. + +**제목**: `[자작] 무료 영상 다운로더 Paca — 가성비로 쓰실 분` + +**본문**: +``` +제가 만든 무료 프로그램입니다. 유료 툴 결제 아깝고 크랙은 찝찝한 분들께. +IDM처럼 분할 다운로드 하면서 m3u8 스트리밍도 자동으로 잡습니다. +평생 무료이고 광고 외 결제 유도는 없습니다. +https://mediabrowser.chanpaca.net/?utm_source=ppomppu&utm_medium=forum&utm_campaign=launch2026 +피드백 환영합니다. +``` + +--- + +## 4. 디스콰이엇 (disquiet.io) — 메이커 커뮤니티 +**제목**: `[출시] 브라우저를 내장한 미디어 다운로더 Paca` + +**본문**: +``` +만든 이유: 영상 저장할 때마다 m3u8 주소 찾고 붙여넣는 게 너무 번거로웠습니다. +그래서 브라우저 자체를 앱에 심었습니다. + +- 재생 즉시 HLS/DASH/MP4 자동 감지 +- 탭의 로그인 세션 쿠키/Referer 승계 (회원제 영상 대응) +- 16스레드 병렬 이어받기 + ffmpeg 무손실 리먹싱 +- PC 라이브러리를 홈 Wi-Fi로 폰에서 이어보기 + +기술 스택: .NET(WPF) + WebView2 + 자체 HLS/DASH 파서 + ffmpeg +궁금한 점/피드백 주시면 답변드립니다. +https://mediabrowser.chanpaca.net/?utm_source=disquiet&utm_medium=community&utm_campaign=launch2026 +``` + +--- + +## 5. 네이버 블로그 (C-Rank/D.I.A., 검색 유입 기반) +> 공식 블로그를 **주제 집중형**으로 운영(영상/다운로드/IT 유틸 한 주제). 본문 링크는 UTM 없이. +> 글 1개 = 키워드 1개. 원본 스크린샷 필수. + +**발행할 글 (제목 = 검색어 그대로)**: +| 제목 | 타깃 키워드 | +|---|---| +| `유튜브 영상 저장하는 방법 (주소 복사 없이)` | 유튜브 영상 저장 | +| `m3u8 다운로드 방법 — ts 파일 합치기 없이 MP4로` | m3u8 다운로드, m3u8 mp4 변환 | +| `IDM 무료 대안 2026 (유료 없이 스트리밍 저장)` | IDM 무료 대안 | +| `회원제/로그인 영상 다운로드 403 안 뜨게 하는 법` | 로그인 영상 다운로드 | +| `안드로이드에서 PC 영상 이어보기 (홈 와이파이)` | 폰으로 영상 옮기기 | + +**구성**: ①두괄식 직답 1문단 → ②단계별 스크린샷 → ③FAQ 3개 → ④사이트 링크. +**연계**: 카페·블로그·유튜브 리뷰가 서로 링크하면 C-Rank Chain 신호가 강화된다. + +--- + +## 6. 오늘의유머 — 컴퓨터/IT +> 베스트/베오베는 비공감>추천이면 자동 탈락. 순수 유용 글로 승부. +**제목**: `영상 저장할 때 주소 복사 안 하는 법 (자작 프로그램)` + +--- + +## 7. 디시인사이드 — 주제 마이너 갤러리(IT/PC) +> `[유틸]` 형식으로 **유용한 지식글**로 올리고, 프로그램은 옵션 중 하나로. 저작권 표현 절대 금지. +**제목**: `[유틸] m3u8 저장하는 GUI 툴 정리 (자작)` + +--- + +## 8. 유튜버 핏치 (중소 테크/유틸 채널 1만~5만 추천) +> 잇섭급은 무리. "무료 프로그램/유틸 소개"·"안드로이드 앱 리뷰" 채널이 효율적. 유료/제공 시 `#협찬` 표기 필수. + +**메일 제목**: `[무료 유틸] IDM 대안 미디어 다운로더 — 리뷰용 무료 라이선스 제공` + +**메일 본문**: +``` +안녕하세요, 무료 미디어 브라우저 "Paca" 개발자입니다. +시청자분들이 유용하게 쓰실 만한 무료 프로그램이라 소개드립니다. + +포인트: +- IDM/4K Video Downloader 유료 대안 (100% 무료) +- 브라우저 내장 → 재생 즉시 m3u8/DASH 자동 감지, 로그인 세션 승계 +- Windows + Android 컴패니언(홈 Wi-Fi 이어보기) + +데모 영상/설치 파일과 함께, 필요하시면 전용 안내도 드리겠습니다. +(협찬 여부와 무관하게 #협찬 등 공정위 규정에 맞춰 표기해 주시면 됩니다.) + +https://mediabrowser.chanpaca.net/en/?utm_source=youtube&utm_medium=review&utm_campaign=launch2026 +``` diff --git a/site/e9f2c7a4b1d8460f9c3e2a7b5d1f08c4.txt b/site/e9f2c7a4b1d8460f9c3e2a7b5d1f08c4.txt new file mode 100644 index 0000000..4519f9e --- /dev/null +++ b/site/e9f2c7a4b1d8460f9c3e2a7b5d1f08c4.txt @@ -0,0 +1 @@ +e9f2c7a4b1d8460f9c3e2a7b5d1f08c4 diff --git a/site/en/index.html b/site/en/index.html new file mode 100644 index 0000000..88a4f13 --- /dev/null +++ b/site/en/index.html @@ -0,0 +1,352 @@ + + + + + +Paca - Free Video Downloader & Media Browser (HLS m3u8 Auto-Detection) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ Media Stream Engine +

Stop copying URLs.
Just press play.

+ +
+
+

Paca is a media browser that detects HLS, DASH and MP4 streams the instant they start playing and saves them with your login session intact, then continues on your phone over local Wi-Fi.

+ + +
+
+
+
+ +
+ + +
+
+
+

What is Paca?

+

Paca is a 100% free Windows media browser that downloads streaming video. It detects HLS (.m3u8), MPEG-DASH (.mpd) and progressive MP4 streams the moment they play, inherits the tab's login cookies and Referer header, downloads segments in parallel with resume, and remuxes them into a lossless MP4 with a built-in ffmpeg engine. It is a free alternative to Internet Download Manager and 4K Video Downloader.

+
+
+
+ + +
+
+
+

Browse, detect, save

+

No extensions, no developer tools. Watch a video as usual and the background engine handles the rest.

+
+
+
+
+
+

1. Play a video as usual

+

Open any site in the built-in browser and play the video. No token extraction and no URL copying required.

+
+
+
+
+
+

2. Session inherit & auto-detect

+

The moment you press play, Paca intercepts the HLS, DASH or MP4 stream and carries over the tab's auth cookies and Referer header.

+
+
+
+
+
+

3. Parallel resume & remux

+

Segments download in parallel and resume from the exact chunk after a drop. ffmpeg then joins them into a lossless MP4.

+
+
+
+
+
+ + +
+
+
+

Paca vs IDM vs 4K Video Downloader

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Feature comparison of Paca, Internet Download Manager (IDM), 4K Video Downloader and Chrome extensions (verified September 2026)
CapabilityPacaIDM4K Video DownloaderChrome extension
PriceFree for life$24.95 paid30/day cap (paid $15-25)Free (upsell prompts)
Built-in browserYes (WebView2)No (extension required)No (paste URL)Runs in the browser tab
Login session passthroughAutomaticManual cookie exportManual cookie importFrequent 403 conflicts
HLS m3u8 / DASHAuto-detect & parallel mergeSupported, joins often failNot supportedAborts mid-download
AES-128 decryptionAutomatic key fetch & decryptLimitedNot supportedNot supported
4K / 8K qualityUnlimited original qualitySupported1080p cap on free tierNo high-res download
Local mobile streamingQR-paired Wi-Fi P2PNoNoNo
+
+
+
+ + +
+
+
+

Frequently asked questions

+

The exact questions search engines and AI answer engines quote first.

+
+
+
+

Is Paca really 100% free?

+

Yes. Paca is free for life with no download cap, no resolution cap, and no subscription. It is funded only by non-intrusive official Google ads, and there is no Pro tier and no hidden payment.

+
+
+

Can Paca replace Internet Download Manager (IDM)?

+

Yes. Paca keeps IDM's multi-threaded accelerated download and fixes its two biggest limits, external extension conflicts and m3u8 segment joins, with a built-in Chromium WebView2 browser and a lossless ffmpeg remux engine.

+
+
+

Can it download member-only or paid-course videos?

+

Yes, for content you are authorized to view. Log in inside Paca's built-in browser and the session cookie, Referer and auth token pass straight to the download engine, so protected streams save at original quality without 403 errors.

+
+
+

Does Paca work on macOS and Linux?

+

Windows 10/11 (x64 and ARM64) is the stable release. macOS (Apple Silicon and Intel) and Linux (Ubuntu, Fedora, Arch) ship as preview builds, and an Android companion app streams your PC library over local Wi-Fi.

+
+
+
+
+ + +
+
+
+

Make the video you are watching yours.

+

Install in a minute and start browsing. Paca manages everything else for you.

+ +
+
+
+ +
+ + + + + + diff --git a/site/feed.xml b/site/feed.xml new file mode 100644 index 0000000..258a0e5 --- /dev/null +++ b/site/feed.xml @@ -0,0 +1,98 @@ + + + + Paca — 무료 미디어 브라우저 & 동영상 다운로더 + https://mediabrowser.chanpaca.net/ + 재생하는 순간 HLS(.m3u8)·DASH(.mpd)·MP4 스트림을 자동 감지해 로그인 세션 그대로 무손실 저장하는 100% 무료 미디어 브라우저. Naver Search Advisor 및 RSS 리더용 피드입니다. + ko + Sun, 14 Sep 2026 00:00:00 +0900 + + + https://mediabrowser.chanpaca.net/assets/paca-logo-512.png + Paca + https://mediabrowser.chanpaca.net/ + + + + Paca — 무료 동영상 다운로더 & 미디어 브라우저 (HLS m3u8 자동 감지) + https://mediabrowser.chanpaca.net/ + https://mediabrowser.chanpaca.net/ + 주소 복사 없이 재생하는 순간 스트림을 감지해 저장하는 100% 무료 미디어 브라우저. 브라우저 세션 승계, AES-128 자동 복호화, 16스레드 병렬 이어받기, 홈 Wi-Fi 모바일 로컬 스트리밍 지원. + Sun, 14 Sep 2026 00:00:00 +0900 + + + + m3u8 다운로드 및 고화질 MP4 변환 방법 (HLS 스트리밍 완벽 가이드) + https://mediabrowser.chanpaca.net/how-to-download-m3u8.html + https://mediabrowser.chanpaca.net/how-to-download-m3u8.html + 웹페이지에서 재생 중인 HLS m3u8 동영상 스트림을 주소 추출 없이 원본 그대로 MP4로 무손실 다운로드하는 단계별 방법. AES-128 자동 복호화와 세그먼트 병렬 이어받기 완벽 지원. + Sun, 14 Sep 2026 00:00:00 +0900 + + + + MPD(DASH) 스트리밍 다운로드 및 MP4 변환 방법 (MPEG-DASH 완벽 가이드) + https://mediabrowser.chanpaca.net/how-to-download-dash-mpd.html + https://mediabrowser.chanpaca.net/how-to-download-dash-mpd.html + 재생 중인 MPEG-DASH(.mpd) 스트림을 SegmentTemplate 규칙 해석 없이 원본 화질 MP4로 저장하는 단계별 가이드. 세그먼트 병렬 이어받기와 ffmpeg 무손실 리먹싱 지원. + Sun, 14 Sep 2026 00:00:00 +0900 + + + + AES-128 암호화 HLS(m3u8) 스트림 복호화 다운로드 방법 + https://mediabrowser.chanpaca.net/how-to-download-hls-aes-128.html + https://mediabrowser.chanpaca.net/how-to-download-hls-aes-128.html + EXT-X-KEY로 AES-128 암호화된 HLS 세그먼트를 키 추출 없이 자동 복호화해 재생 가능한 MP4로 저장하는 방법. 브라우저 로그인 세션 그대로 무손실 리먹싱. + Sun, 14 Sep 2026 00:00:00 +0900 + + + + + + 2026 최고의 무료 비디오 다운로더: IDM 대체 프로그램 Paca 완벽 비교 + https://mediabrowser.chanpaca.net/vs-idm-alternative.html + https://mediabrowser.chanpaca.net/vs-idm-alternative.html + Internet Download Manager(IDM) 및 4K Video Downloader 대비 Paca의 특장점 8대 항목 상세 비교. 100% 무료, 내장 브라우저 로그인 세션 승계, HLS m3u8 자동 감지, AES-128 복호화. + Sun, 14 Sep 2026 00:00:00 +0900 + + + + 2026 무료 GUI 동영상 다운로더: yt-dlp 대체 프로그램 Paca 비교 + https://mediabrowser.chanpaca.net/vs-yt-dlp.html + https://mediabrowser.chanpaca.net/vs-yt-dlp.html + yt-dlp 대비 Paca의 강점 상세 비교. 명령어·Python·ffmpeg 설치 없이 내장 브라우저에서 재생 즉시 HLS m3u8·DASH 스트림을 자동 감지해 무손실 MP4로 저장하는 100% 무료 GUI 다운로더. + Sun, 14 Sep 2026 00:00:00 +0900 + + + + 2026 무료 동영상 다운로더: JDownloader 대체 프로그램 Paca 비교 + https://mediabrowser.chanpaca.net/vs-jdownloader.html + https://mediabrowser.chanpaca.net/vs-jdownloader.html + JDownloader 대비 Paca의 강점 상세 비교. Java 설치·링크 붙여넣기 없이 내장 브라우저에서 재생 즉시 HLS m3u8·DASH 스트림을 자동 감지해 로그인 세션 그대로 무손실 MP4로 저장하는 100% 무료 다운로더. + Sun, 14 Sep 2026 00:00:00 +0900 + + + + Paca 사용 안내 — 설치부터 스마트폰 연결까지 + https://mediabrowser.chanpaca.net/guide.html + https://mediabrowser.chanpaca.net/guide.html + Paca 설치자 다운로드, 영상 저장 방법, 홈 Wi-Fi 모바일 스트리밍 연결, 단축키와 자주 묻는 질문을 다루는 전체 사용 안내. + Sun, 14 Sep 2026 00:00:00 +0900 + + + + Paca 릴리스 & 다운로드 (Windows / macOS / Linux / Android) + https://mediabrowser.chanpaca.net/releases.html + https://mediabrowser.chanpaca.net/releases.html + Paca의 최신 안정판과 프리뷰 빌드. Windows 설치자, macOS·Linux 프리뷰, Android 컴패니언 APK와 이전 릴리스 전체 내역 제공. + Sun, 14 Sep 2026 00:00:00 +0900 + + + + Paca — Free Media Browser & Video Downloader (HLS m3u8 auto-detection) + https://mediabrowser.chanpaca.net/en/ + https://mediabrowser.chanpaca.net/en/ + The 100% free media browser that detects HLS (.m3u8), DASH (.mpd) and MP4 streams the moment they play, inherits your login session, and saves lossless MP4 — with local Wi-Fi mobile streaming. + Sun, 14 Sep 2026 00:00:00 +0900 + + + diff --git a/site/how-to-download-dash-mpd.html b/site/how-to-download-dash-mpd.html new file mode 100644 index 0000000..88f85cb --- /dev/null +++ b/site/how-to-download-dash-mpd.html @@ -0,0 +1,277 @@ + + + + + +MPD(DASH) 스트리밍 다운로드 및 MP4 변환 방법 (MPEG-DASH 완벽 가이드) - Paca + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ MPEG-DASH 기술 가이드 +

MPD(DASH) 스트리밍 동영상 원본 화질 MP4 변환 및 다운로드 완벽 가이드

+

.mpd 매니페스트를 직접 파싱하거나 주소를 복사할 필요 없이, 재생하는 순간 DASH 스트림을 감지해 무손실 MP4로 저장하는 실전 튜토리얼.

+
+
+ +
+
+ + + +
+ +
+

DASH(.mpd) 동영상은 왜 그냥 저장이 안 될까요?

+

+ MPEG-DASH(Dynamic Adaptive Streaming over HTTP)는 HLS와 함께 널리 쓰이는 표준 스트리밍 규격입니다. 스트림 구조를 담은 .mpd 매니페스트는 XML 형식이며, 실제 영상은 .m4s(또는 .mp4) 세그먼트로 나뉘어 전송됩니다. 매니페스트에는 SegmentTemplate 규칙과 adaptation set(화질·오디오 계열)이 정의되어 있어, 규칙을 해석해 세그먼트 주소를 계산해야만 실제 영상을 얻을 수 있습니다. +

+
    +
  • 주소 계산이 필요: 세그먼트 URL에 번호가 들어가 있어 매니페스트 규칙을 직접 해석해야 합니다.
  • +
  • 영상·오디오 분리: 두 트랙을 각각 받아 다시 결합해야 재생 가능한 파일이 만들어집니다.
  • +
  • 세션·토큰 제한: 로그인 멤버십 스트림은 쿠키와 Referer가 없으면 403 Forbidden이 발생합니다.
  • +
+
+ + +
+

MPEG-DASH(.mpd) vs HLS(.m3u8) 명세 비교

+
+ + + + + + + + + + + + + + + + + +
MPEG-DASH(.mpd)와 HLS(.m3u8) 스트리밍 규격 비교 (2026-09 기준 검증)
항목MPEG-DASH (.mpd)HLS (.m3u8)
매니페스트 형식XML텍스트(m3u8)
세그먼트 확장자.m4s / .mp4.ts / .m4s
세그먼트 주소 결정SegmentTemplate 규칙으로 계산목록에 URL을 직접 나열
화질 표현adaptation set / representationvariant playlist
영상·오디오 분리함(별도 adaptation set)주로 muxed
암호화Common Encryption(cenc) / AESAES-128 (EXT-X-KEY)
+
+
+ + +
+
+ 1 +

Paca 내장 브라우저에서 동영상 페이지 접속

+
+

+ Paca는 Chromium WebView2 기반 미디어 브라우저입니다. 주소창에 영상을 보려는 페이지 주소를 입력하고 평소처럼 접속하세요. 로그인이 필요한 강의·멤버십 영상이라면 브라우저 안에서 로그인해 두면 됩니다. +

+
+ +
+
+ 2 +

재생 즉시 .mpd 매니페스트 자동 감지

+
+

+ 재생 버튼을 누르는 순간 내장 스니퍼가 .mpd 매니페스트 요청을 가로채고, adaptation set(화질·오디오)과 SegmentTemplate 규칙을 분석합니다. 동시에 탭의 로그인 세션 쿠키와 Referer 헤더를 확보하므로 접근 제한 스트림도 감지됩니다. +

+
+ +
+
+ 3 +

세그먼트 병렬 다운로드와 무손실 MP4 조립

+
+

+ 다운로드를 시작하면 m4s 세그먼트를 최대 16스레드로 동시 수신하고, 끊기면 받은 지점부터 이어받습니다. 영상과 오디오가 분리된 DASH 스트림도 각각 수신한 뒤, 내장 ffmpeg가 재인코딩 없이 하나의 MP4 컨테이너로 결합합니다. +

+
+ + +
+

자주 묻는 질문 (FAQ)

+
+
+ Q. mpd와 m3u8 중 어느 쪽이 더 고화질인가요? +

규격 자체의 화질 차이는 없습니다. 사이트가 제공하는 최대 화질은 각 매니페스트의 representation/bandwidth에 달려 있습니다. Paca는 두 규격 모두에서 사용 가능한 최고 화질 계열을 감지해 저장합니다.

+
+
+ Q. 다운로드한 파일이 재생되지 않으면 어떻게 하나요? +

영상·오디오 트랙 결합이 누락된 경우가 대부분입니다. Paca는 수신 완료 후 ffmpeg로 두 트랙을 자동 결합하므로, 별도 병합 도구 없이 바로 재생됩니다.

+
+
+ Q. Paca는 무료인가요? +

네. Paca는 100% 평생 무료이며 일일 횟수·화질 제한이나 유료 결제 유도가 없습니다.

+
+
+
+ + +
+

관련 가이드

+ +
+ + +
+

지금 Paca로 DASH 동영상을 저장하세요

+

Windows 10, 11 및 Android 컴패니언 앱을 지원합니다.

+ +
+
+
+
+ + + + + + \ No newline at end of file diff --git a/site/how-to-download-hls-aes-128.html b/site/how-to-download-hls-aes-128.html new file mode 100644 index 0000000..fa83385 --- /dev/null +++ b/site/how-to-download-hls-aes-128.html @@ -0,0 +1,277 @@ + + + + + +AES-128 암호화 HLS(m3u8) 스트림 복호화 다운로드 방법 - Paca + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ HLS 암호화 기술 가이드 +

AES-128 암호화 HLS(m3u8) 스트림 복호화 및 MP4 저장 완벽 가이드

+

EXT-X-KEY로 암호화된 세그먼트를 키 추출 없이, 재생 중인 세션 그대로 복호화해 재생 가능한 MP4로 저장하는 실전 튜토리얼.

+
+
+ +
+
+ + + +
+ +
+

AES-128로 암호화된 HLS 스트림은 왜 바로 저장이 안 될까요?

+

+ 많은 스트리밍 사이트는 HLS 세그먼트를 AES-128로 암호화합니다. 플레이리스트에는 EXT-X-KEY 태그가 붙어 키의 위치(URI)와 초기화 벡터(IV), 암호화 방식이 지정됩니다. 문제는 세그먼트가 암호문 바이트라서, 목록대로 내려받아 이어 붙여도 재생할 수 없는 파일이 된다는 점입니다. +

+
    +
  • 키 접근 제한: 키 URI 요청에는 로그인 세션 쿠키와 Referer 헤더가 필요합니다.
  • +
  • IV 처리: 세그먼트별 초기화 벡터를 적용하지 않으면 첫 블록부터 깨집니다.
  • +
  • 수동 추출의 번거로움: 개발자 도구에서 키와 IV를 직접 찾아 별도 툴에 입력하는 방식은 재현이 어렵습니다.
  • +
+
+ + +
+

AES-128 HLS 암호화 명세

+
+ + + + + + + + + + + + + + + + + +
HLS AES-128 암호화 관련 태그·파라미터 명세 (RFC 8216 기준)
항목값 / 설명Paca 처리
암호화 방식METHOD=AES-128자동 인식
키 위치URI= (EXT-X-KEY)세션 키로 자동 요청
초기화 벡터IV= (미지정 시 미디어 시퀀스)세그먼트별 자동 적용
키 길이16바이트 (128비트)메모리 내 복호화
세그먼트 형식.ts / .m4s병렬 수신 후 복호화
출력 컨테이너(복호화된 원본 트랙)ffmpeg 무손실 MP4
+
+
+ + +
+
+ 1 +

Paca 내장 브라우저에서 영상 재생

+
+

+ Paca 주소창에 영상 페이지 주소를 입력하고 평소처럼 접속합니다. 로그인 권한이 필요한 강의·멤버십 영상이라면 브라우저 안에서 로그인해 세션을 유지하세요. 복호화 키 요청도 이 세션을 그대로 사용합니다. +

+
+ +
+
+ 2 +

EXT-X-KEY 암호화 키 자동 획득

+
+

+ 재생이 시작되면 스니퍼가 m3u8 플레이리스트의 EXT-X-KEY 태그를 읽어 암호화 방식(AES-128), 키 URI, IV를 파악합니다. 이어서 탭의 쿠키와 Referer로 키를 내려받아 메모리에 보관합니다. +

+
+ +
+
+ 3 +

세그먼트 수신 및 실시간 복호화

+
+

+ 암호화된 세그먼트를 최대 16스레드로 동시에 내려받는 즉시 AES-128로 복호화합니다. 모두 수신하면 내장 ffmpeg가 재인코딩 없이 단일 MP4 컨테이너로 결합해 저장합니다. +

+
+ + +
+

자주 묻는 질문 (FAQ)

+
+
+ Q. 복호화한 영상의 화질이 떨어지나요? +

아닙니다. AES-128은 세그먼트 바이트를 암호화·복호화하는 방식이라 원본 화질이 그대로 복원됩니다. Paca는 재인코딩 없이 무손실 리먹싱만 수행합니다.

+
+
+ Q. 키가 만료되면 어떻게 되나요? +

키 URI가 일회성 토큰인 경우 만료 전에 요청해야 합니다. Paca는 재생 세션에서 감지한 즉시 키를 확보하므로 만료 문제를 최소화합니다. 만료 시 페이지를 새로고침하면 다시 감지됩니다.

+
+
+ Q. Widevine DRM도 복호화되나요? +

아닙니다. Paca는 AES-128 세그먼트 암호화만 다루며, Widevine·PlayReady 같은 DRM 보호 콘텐츠는 지원하지 않습니다. DRM 우회는 제공하지 않습니다.

+
+
+
+ + +
+

관련 가이드

+ +
+ + +
+

지금 Paca로 암호화 스트림을 저장하세요

+

Windows 10, 11 및 Android 컴패니언 앱을 지원합니다.

+ +
+
+
+
+ + + + + + \ No newline at end of file diff --git a/site/how-to-download-m3u8.html b/site/how-to-download-m3u8.html index 5142bf5..5639f20 100644 --- a/site/how-to-download-m3u8.html +++ b/site/how-to-download-m3u8.html @@ -14,8 +14,6 @@ - - + + + + + + + + + + + + + + + + +
+
+ AEO / 비교 가이드 +

스트리밍에 특화된 무료 대안: Paca 비교

+

링크를 복사해 붙여넣을 필요 없이, 재생하는 순간 스트림을 감지해 로그인 세션 그대로 무손실 저장하는 100% 무료 미디어 브라우저를 비교해 보세요.

+
+
+ +
+ +
+
+ AEO 핵심 답변 +

JDownloader 같은 무료 대안 프로그램은?

+
+

+ Paca(파카)는 JDownloader가 잘 못하는 재생 중인 스트리밍(HLS·DASH·MP4) 자동 감지에 특화된 100% 무료 미디어 브라우저입니다. Java 설치가 필요 없고, 내장 Chromium WebView2 브라우저에서 로그인한 세션 그대로 회원제·비공개 영상을 원본 화질로 저장합니다. +

+
+ + +
+

기능 및 사용성 상세 비교표 (Comparison Matrix)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Paca vs JDownloader vs 일반 크롬 확장 프로그램 비교 (2026-09 기준 검증)
비교 항목Paca (파카)JDownloader크롬 확장 프로그램
실행 환경네이티브 앱 (설치자 하나)Java 런타임 필요브라우저 탭 내 동작
사용 방식재생 즉시 자동 감지링크 복사·붙여넣기 (링크그래버)탭 재생 미디어 한정
주 용도HLS/DASH 스트리밍 · 회원제 영상원클릭 호스터 · 대량 파일 링크간단한 단일 미디어
로그인 세션 승계내장 브라우저 자동 동기화수동 쿠키 설정 필요권한 충돌 및 403 빈번
HLS m3u8 / DASH자동 감지 & 병렬 병합일부 플러그인 의존다운로드 중단 빈번
모바일 로컬 스트리밍QR 페어링 홈 Wi-Fi P2P미지원미지원
가격100% 평생 무료무료 (광고 포함)무료 (유료 결제 유도)
+
+ + +
+
+

1. 목적이 다릅니다

+

+ JDownloader는 Rapidgator·1fichier 같은 파일 호스팅의 대량 링크를 캡차 처리와 함께 받는 데 최적화돼 있습니다. Paca는 반대로 웹사이트에서 재생되는 스트리밍을 자동으로 잡아 저장하는 데 집중합니다. +

+
+
+

2. Java·링크 복사가 없는 흐름

+

+ Java 런타임을 따로 설치하거나 링크를 복사할 필요가 없습니다. Paca 내장 브라우저에서 평소처럼 재생하면 스트림이 다운로드 목록에 자동으로 올라오고, 저장 버튼 한 번으로 MP4 가 완성됩니다. +

+
+
+ + +
+

자주 묻는 질문 (FAQ)

+
+
+ Q. 원클릭 호스터(대용량 파일 링크)도 Paca로 받을 수 있나요? +

Paca는 웹에서 재생되는 미디어(스트리밍) 저장에 특화되어 있습니다. 대량의 파일 호스팅 링크를 캡차까지 자동 처리하는 용도라면 JDownloader가 더 적합합니다.

+
+
+ Q. 속도와 안정성은 어떤가요? +

세그먼트를 최대 16스레드로 병렬 수신하고, 끊기면 받은 지점부터 이어받습니다. AES-128 암호화 스트림도 자동 복호화합니다.

+
+
+
+ + +
+

재생하면 준비됩니다

+

링크 복사도, Java 설치도 없는 100% 무료 미디어 브라우저.

+ +
+
+ + + + + + diff --git a/site/vs-yt-dlp.html b/site/vs-yt-dlp.html new file mode 100644 index 0000000..7ff16de --- /dev/null +++ b/site/vs-yt-dlp.html @@ -0,0 +1,234 @@ + + + + + +2026 무료 GUI 동영상 다운로더: yt-dlp 대체 프로그램 Paca 비교 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ AEO / 비교 가이드 +

yt-dlp의 강력함을 GUI로: Paca 비교

+

터미널 명령어, Python, ffmpeg 설치 없이. 내장 브라우저에서 재생하는 순간 스트림을 감지해 로그인 세션 그대로 무손실 저장하는 100% 무료 대안을 비교해 보세요.

+
+
+ +
+ +
+
+ AEO 핵심 답변 +

yt-dlp가 어렵다면 어떤 대안이 있나요?

+
+

+ Paca(파카)는 yt-dlp처럼 HLS(.m3u8)·DASH(.mpd) 스트리밍을 저장하지만, 터미널·Python·ffmpeg 설치가 필요 없습니다. Chromium WebView2 브라우저를 내장해 재생 즉시 스트림을 감지하고, 로그인 세션 쿠키와 Referer 를 그대로 승계한 뒤 ffmpeg 로 무손실 MP4 로 완성하는 100% 무료 GUI 미디어 브라우저입니다. +

+
+ + +
+

기능 및 사용성 상세 비교표 (Comparison Matrix)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Paca vs yt-dlp vs 일반 크롬 확장 프로그램 비교 (2026-09 기준 검증)
비교 항목Paca (파카)yt-dlp크롬 확장 프로그램
사용 방식GUI 클릭 (재생 즉시 감지)터미널 명령어 입력브라우저 탭 내 동작
사전 설치 필요없음 (설치자 하나)Python + ffmpeg 별도 설치확장 프로그램 설치
로그인 세션 승계내장 브라우저 자동 동기화쿠키 파일 수동 내보내기 필요권한 충돌 및 403 빈번
대상 스트림HLS · DASH · MP4 (프로토콜 단위 감지)사이트별 추출기 1,000+탭에서 재생된 미디어 한정
AES-128 복호화자동 키 획득 & 복호화지원 (옵션 설정 필요)미지원
모바일 로컬 스트리밍QR 페어링 홈 Wi-Fi P2P미지원미지원
가격100% 평생 무료무료 (오픈소스)무료 (유료 결제 유도)
+
+ + +
+
+

1. 명령어 없이, 클릭만으로

+

+ yt-dlp는 자막·포맷 선택·병합 옵션을 매번 조합해야 하고, 사이트가 바뀌면 버전을 최신으로 유지해야 합니다. Paca는 내장 브라우저에서 재생만 하면 스트림이 목록에 뜨고, 저장 버튼 한 번이면 끝납니다. +

+
+
+

2. 비공개·회원제 스트림에 강함

+

+ 로그인 벽 뒤의 강의·멤버십 영상은 쿠키와 Referer 가 맞지 않으면 403 이 납니다. Paca는 사용자가 로그인한 브라우저 탭의 세션을 다운로드 엔진에 그대로 물려주므로 별도 쿠키 내보내기가 없습니다. +

+
+
+ + +
+

자주 묻는 질문 (FAQ)

+
+
+ Q. yt-dlp를 이미 잘 쓰고 있다면 Paca로 바꿀 이유가 있나요? +

CLI 자체가 편한 사용자라면 yt-dlp가 최적입니다. Paca는 터미널이 부담스럽거나, 브라우저에서 로그인한 상태로 재생 중인 스트림을 그대로 저장하거나, 휴대폰으로 이어보고 싶을 때 유리합니다.

+
+
+ Q. Paca는 무료인가요? 설치가 복잡하지 않나요? +

100% 평생 무료이며, Windows 설치 파일 하나만 실행하면 끝납니다. Python·ffmpeg·환경변수 설정이 필요 없습니다.

+
+
+
+ + +
+

명령어 없이 지금 바로 받아보세요

+

재생하면 준비됩니다. 100% 무료 미디어 브라우저 Paca.

+ +
+
+ + + + + + diff --git a/src/Paca.App/MainWindow.xaml b/src/Paca.App/MainWindow.xaml index 0f55abe..d48640d 100644 --- a/src/Paca.App/MainWindow.xaml +++ b/src/Paca.App/MainWindow.xaml @@ -1177,6 +1177,13 @@ +