MEDIABROWSER 공개 릴리스 - 설치자/패키지 배포 전용 (소스는 별도 저장소)
Find a file
Yun Chan a5a8da7424 feat(growth): ship search registration, long-tail SEO and in-app sharing
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
2026-09-15 03:37:47 +09:00
.forgejo/workflows feat(ads/seo/release): v1.2.0 with live Google Ads, isolated ad profile, ads.txt, and SEO/AEO/GEO optimization 2026-09-14 00:39:44 +09:00
.github/workflows feat(ads/seo/release): v1.2.0 with live Google Ads, isolated ad profile, ads.txt, and SEO/AEO/GEO optimization 2026-09-14 00:39:44 +09:00
build feat(growth): ship search registration, long-tail SEO and in-app sharing 2026-09-15 03:37:47 +09:00
docs feat(growth): ship search registration, long-tail SEO and in-app sharing 2026-09-15 03:37:47 +09:00
site feat(growth): ship search registration, long-tail SEO and in-app sharing 2026-09-15 03:37:47 +09:00
src feat(growth): ship search registration, long-tail SEO and in-app sharing 2026-09-15 03:37:47 +09:00
tests/Paca.Tests feat(growth): ship search registration, long-tail SEO and in-app sharing 2026-09-15 03:37:47 +09:00
.cursorrules feat(ads/seo/release): v1.2.0 with live Google Ads, isolated ad profile, ads.txt, and SEO/AEO/GEO optimization 2026-09-14 00:39:44 +09:00
.editorconfig UI 복잡 버전 234 RED→GREEN 완료(docs/UI_USECASES.md §A~§J): 라이브 테마 전환(DynamicResource 전환+ThemeResolver+HighContrast 테마, 재시작 없음), 디자인 토큰 체계·WCAG 대비 결함 5건 수정, 설정창 카테고리 내비/검색 재구성+AppConfig 40여 속성, 다운로드 관리자(속도/ETA/세그먼트맵/전체 일시정지-이어받기/CSV 내보내기/예약 게이트/중복 확인), 라이브러리·아카이브·작업공간·재생목록·즐겨찾기 편집 뷰, 접근성(자동화 속성 30여 개·커스텀 피어·docs/ACCESSIBILITY.md), 인터랙션(휠 클릭 새 탭·XButton 탐색·F12·영역 캡처·프로필 전환), 상태/알림(토스트·알림센터·온보딩·CrashReportDialog). 보강 테스트 35건+실창 E2E 4건(StaDispatcher 기반 — 프록시 설정이 기시작 핸들러를 건드리는 크래시 실결함 수정 포함) — 453/453 GREEN. 이전 미커밋 작업(CI 워크플로·Mdns·QueueHub·UpdateChecker·AGENTS/CLAUDE·빌드 스크립트) 일괄 포함 2026-08-17 15:54:53 +09:00
.env.example feat(ads/seo/release): v1.2.0 with live Google Ads, isolated ad profile, ads.txt, and SEO/AEO/GEO optimization 2026-09-14 00:39:44 +09:00
.gitattributes UI 복잡 버전 234 RED→GREEN 완료(docs/UI_USECASES.md §A~§J): 라이브 테마 전환(DynamicResource 전환+ThemeResolver+HighContrast 테마, 재시작 없음), 디자인 토큰 체계·WCAG 대비 결함 5건 수정, 설정창 카테고리 내비/검색 재구성+AppConfig 40여 속성, 다운로드 관리자(속도/ETA/세그먼트맵/전체 일시정지-이어받기/CSV 내보내기/예약 게이트/중복 확인), 라이브러리·아카이브·작업공간·재생목록·즐겨찾기 편집 뷰, 접근성(자동화 속성 30여 개·커스텀 피어·docs/ACCESSIBILITY.md), 인터랙션(휠 클릭 새 탭·XButton 탐색·F12·영역 캡처·프로필 전환), 상태/알림(토스트·알림센터·온보딩·CrashReportDialog). 보강 테스트 35건+실창 E2E 4건(StaDispatcher 기반 — 프록시 설정이 기시작 핸들러를 건드리는 크래시 실결함 수정 포함) — 453/453 GREEN. 이전 미커밋 작업(CI 워크플로·Mdns·QueueHub·UpdateChecker·AGENTS/CLAUDE·빌드 스크립트) 일괄 포함 2026-08-17 15:54:53 +09:00
.gitignore feat(ads/seo/release): v1.2.0 with live Google Ads, isolated ad profile, ads.txt, and SEO/AEO/GEO optimization 2026-09-14 00:39:44 +09:00
AGENTS.md feat(ads/seo/release): v1.2.0 with live Google Ads, isolated ad profile, ads.txt, and SEO/AEO/GEO optimization 2026-09-14 00:39:44 +09:00
CLAUDE.md feat(ads/seo/release): v1.2.0 with live Google Ads, isolated ad profile, ads.txt, and SEO/AEO/GEO optimization 2026-09-14 00:39:44 +09:00
design.md feat(ads/seo/release): v1.2.0 with live Google Ads, isolated ad profile, ads.txt, and SEO/AEO/GEO optimization 2026-09-14 00:39:44 +09:00
Directory.Build.props feat(ads/seo/release): v1.2.0 with live Google Ads, isolated ad profile, ads.txt, and SEO/AEO/GEO optimization 2026-09-14 00:39:44 +09:00
Paca.slnx feat(ads/seo/release): v1.2.0 with live Google Ads, isolated ad profile, ads.txt, and SEO/AEO/GEO optimization 2026-09-14 00:39:44 +09:00
README.md feat(growth): ship search registration, long-tail SEO and in-app sharing 2026-09-15 03:37:47 +09:00

Paca

홈페이지 · 다운로드 · 사용 안내

브라우저를 내장한 데스크톱 영상 다운로더와, 같은 엔진을 공유하는 모바일 컴패니언 앱.

앱 안의 브라우저로 사이트를 열면 재생되는 미디어(HLS .m3u8 / DASH .mpd / MP4 직링크)를 자동으로 감지해 목록에 띄우고, 쿠키·Referer 를 그대로 물려 받아 내려받는다. 받은 영상은 내장 서버를 통해 같은 네트워크의 휴대폰에서 바로 재생하거나 저장할 수 있다.

저장소 구조

프로젝트 TFM 역할
Paca.Core net8.0 다운로드 엔진. HLS/DASH 파싱, AES-128 복호화, 병렬·이어받기, 미디어 감지, ffmpeg 리먹스, 플랫폼 추상화
Paca.Browser net8.0-windows WebView2 탭 컴포넌트 (응답 가로채기·쿠키 공급)
Paca.App net8.0-windows 메인 WPF 앱. 브라우저 셸 + 다운로드 UI + 서버 호스팅
Paca.Server net8.0 ASP.NET 라이브러리. App 안에서 기동되어 모바일/웹 컴패니언에 라이브러리·스트리밍 API 제공
Paca.Mobile net10.0-android (+ios on macOS) MAUI 컴패니언 앱
Paca.Mobile.Core net8.0 모바일 공용 로직. UI 없이 테스트 가능하도록 분리
Paca.Avalonia net8.0 macOS/Linux 크로스플랫폼 셸 (진행 중 — docs/DEPLOYMENT_PLAN.md Gate #1' 참고)
Paca.Cli net8.0 엔진 검증용 개발 도구 (--dashparse 등)
Paca.Tests net8.0-windows xUnit 전체 테스트 (Core/App/Server/Mobile.Core + E2E)

그 밖에:

  • build/ — 배포 스크립트. publish.ps1(Windows 설치자), installer.iss(Inno Setup), remote/(맥·리눅스 원격 빌드)
  • docs/ — 기획·감사 문서
  • .env.example — 배포/원격빌드 자격 증명 템플릿. .env 로 복사해 채운다 (.env 는 커밋되지 않음)

개발 환경

  • .NET 8 SDK + .NET 10 SDK (모바일 및 Avalonia 12 가 10 을 요구)
  • Windows 11 (데스크톱 앱은 WPF + WebView2 기반이라 Windows 전용)
  • ffmpeg — PATH 에 있으면 자동 인식. 없으면 리먹스 단계에서 실패
  • 모바일 빌드 시: dotnet workload install maui-android (iOS 는 macOS 빌드머신에서만)

자주 쓰는 명령

# 테스트 — 가장 먼저 이걸로 상태 확인 (Mobile 제외 전 영역 커버)
dotnet test Paca.Tests

# 데스크톱 앱 빌드 / 실행
dotnet build Paca.App
dotnet run   --project Paca.App

# 엔진 단독 검증
dotnet run --project Paca.Cli -- --dashparse "https://.../manifest.mpd"

# 모바일 (Android 워크로드 필요)
dotnet build Paca.Mobile -f net10.0-android

솔루션 전체 빌드(dotnet build Paca.slnx)는 MAUI 워크로드가 설치돼 있어야 통과한다. 워크로드 없이 작업할 때는 프로젝트를 개별 지정한다.

배포

# Windows 설치자 (x64 + arm64) → out/Paca-Setup-{arch}.exe
./build/publish.ps1 -Config Release -Version 1.0.0

# macOS / Linux 원격 빌드 (.env 의 빌드머신 자격 증명 사용) → out/remote/<rid>/
bash build/remote/build-remote.sh all

out/, publish/ 는 산출물 디렉터리라 커밋되지 않는다.

CI (GitHub 공개 후)

.github/workflows/release.yml — 태그(v*) 푸시 시 테스트 관문 통과 후 Windows 설치자(x64/arm64)·Linux/macOS tar.gz·Android APK 를 빌드해 Draft Release 로 올린다 (QA 후 수동 Publish). macOS 서명·공증(D4)과 iOS TestFlight(D5)는 Apple Developer Program 가입 + 시크릿 등록 후 활성화한다 — 상세는 docs/DEPLOYMENT_PLAN.md §5·§7.

Android 자동 업데이트는 Obtainium 을 지원한다: 저장소 공개 후 build/obtainium.json 의 <owner>/<repo> 를 치환하고, 폰에서 obtainium://add/https://github.com/<owner>/<repo> 링크 한 번으로 등록된다.

앱 내 업데이트 확인(데스크톱)은 설정 → "앱 업데이트"에 GitHub 저장소(owner/repo)를 넣으면 GitHub Releases 최신 태그와 비교해 릴리스 페이지를 열어 준다.

문서

문서 내용
AGENTS.md AI 코딩 에이전트 작업 계약 — 명령·규약·완료 기준 (사람이 읽어도 온보딩 문서)
docs/HARNESS.md 개발 하네스 운영법 — 자동 검증 게이트, 규칙/스킬 구조
docs/BROWSER_FEATURES_PLAN.md 데스크톱 브라우저 기능 계획 (v2)
docs/MOBILE_PLAN.md 모바일 앱 + PC↔모바일 연동 계획 (v1)
docs/DEPLOYMENT_PLAN.md Win/macOS/Linux/모바일 배포 체계
docs/IMPLEMENTATION_AUDIT.md 계획 대비 구현 감사
docs/BACKLOG.md 작업 이력 및 백로그
docs/GROWTH_PLAN.md 성장·홍보·바이럴 실행 계획 (검색/AEO/GEO 심화, 런치 시퀀스)
docs/promo/ 사이트 홍보 키트 — 채널별 게시문·디렉터리 제출 데이터