Skip to content

Latest commit

Β 

History

History
87 lines (57 loc) Β· 4.05 KB

File metadata and controls

87 lines (57 loc) Β· 4.05 KB

πŸ› οΈ Resonance Stream λΉŒλ“œ κ°€μ΄λ“œ

이 λ¬Έμ„œλŠ” Resonance Stream의 μ†ŒμŠ€ μ½”λ“œλ₯Ό μ»΄νŒŒμΌν•˜κ³  배포용 νŒ¨ν‚€μ§€λ‘œ λ§Œλ“œλŠ” 전체 ν”„λ‘œμ„ΈμŠ€λ₯Ό μ•ˆλ‚΄ν•©λ‹ˆλ‹€. 이 ν”„λ‘œμ νŠΈλŠ” Rust(Tauri) λ°±μ—”λ“œμ™€ Python(AI Engine) μ‚¬μ΄λ“œμΉ΄κ°€ κ²°ν•©λœ κ΅¬μ‘°μ΄λ―€λ‘œ 각 λ‹¨κ³„μ˜ μˆœμ„œκ°€ μ€‘μš”ν•©λ‹ˆλ‹€.

πŸ“‹ 1. 사전 μš”κ΅¬ 사항

λΉŒλ“œ μ „, λ‹€μŒ 도ꡬ듀이 μ‹œμŠ€ν…œμ— μ„€μΉ˜λ˜κ³  경둜(PATH)에 λ“±λ‘λ˜μ–΄ μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€.

  • Rust: 버전 1.70+ (2021 μ—λ””μ…˜).
  • Node.js & Trunk: Leptos ν”„λ‘ νŠΈμ—”λ“œ λΉŒλ“œ 및 λ²ˆλ“€λ§μš©.
  • Python 3.10+: ctranslate2, pykakasi, argparse, pyinstaller μ„€μΉ˜ ν•„μˆ˜.
  • CUDA Toolkit: NVIDIA GPU 가속을 μ‚¬μš©ν•˜λ €λ©΄ 11.x λ˜λŠ” 12.x 버전이 ν•„μš”ν•©λ‹ˆλ‹€.

βš™οΈ 2. 라이브러리 및 μ˜μ‘΄μ„± μ„€μ • (μžλ™ν™”)

이전 버전과 달리, WinDivert와 Npcap SDKλ₯Ό μˆ˜λ™μœΌλ‘œ λ‹€μš΄λ‘œλ“œν•˜κ±°λ‚˜ .env에 경둜λ₯Ό μ§€μ •ν•  ν•„μš”κ°€ μ—†μŠ΅λ‹ˆλ‹€. ν”„λ‘œμ νŠΈ λ£¨νŠΈμ— ν¬ν•¨λœ μ„€μ • μŠ€ν¬λ¦½νŠΈκ°€ 이λ₯Ό μžλ™μœΌλ‘œ μ²˜λ¦¬ν•©λ‹ˆλ‹€.

  1. μžλ™ μ„€μ • 슀크립트 μ‹€ν–‰: ν”„λ‘œμ νŠΈ λ£¨νŠΈμ—μ„œ setup_libs.batλ₯Ό μ‹€ν–‰ν•˜μ„Έμš”.
    setup_libs.bat
  • 이 μŠ€ν¬λ¦½νŠΈλŠ” lib/ 폴더λ₯Ό μƒμ„±ν•˜κ³  ν•„μš”ν•œ SDK(Npcap, WinDivert)λ₯Ό μžλ™μœΌλ‘œ λ‹€μš΄λ‘œλ“œ 및 μ••μΆ• ν•΄μ œν•©λ‹ˆλ‹€.
  • .gitignore에 μ˜ν•΄ lib/ ν΄λ”λŠ” 버전 κ΄€λ¦¬μ—μ„œ μ œμ™Έλ©λ‹ˆλ‹€.

πŸš€ 3. 컴파일 νŒŒμ΄ν”„λΌμΈ (단계별 μ•ˆλ‚΄)

package.batλ₯Ό μ‚¬μš©ν•˜μ§€ μ•Šκ³  μˆ˜λ™μœΌλ‘œ λΉŒλ“œν•  경우, λ‹€μŒ μˆœμ„œλ₯Ό λ°˜λ“œμ‹œ μ€€μˆ˜ν•΄μ•Ό ν•©λ‹ˆλ‹€.

단계 1: 라이브러리 경둜 μ„€μ •

Rust 링컀가 Npcap 라이브러리λ₯Ό 찾을 수 μžˆλ„λ‘ ν™˜κ²½ λ³€μˆ˜λ₯Ό μž„μ‹œλ‘œ μ„€μ •ν•©λ‹ˆλ‹€.

set LIB=%CD%\lib\npcap-sdk\Lib\x64;%LIB%

단계 2: AI μ‚¬μ΄λ“œμΉ΄ λΉŒλ“œ (Python)

PyInstallerλ₯Ό μ‚¬μš©ν•˜μ—¬ AI 엔진을 독립 μ‹€ν–‰ 파일둜 λ§Œλ“­λ‹ˆλ‹€. TauriλŠ” μ‚¬μ΄λ“œμΉ΄ 파일λͺ…에 **Target Triple(ν”Œλž«νΌ μ‹λ³„μž)**이 ν¬ν•¨λ˜μ–΄ μžˆμ–΄μ•Όλ§Œ μΈμ‹ν•©λ‹ˆλ‹€.

  • λͺ…λ Ήμ–΄: .spec νŒŒμΌμ„ μ‚¬μš©ν•˜μ—¬ μ΅œμ ν™”λœ 섀정을 μ μš©ν•©λ‹ˆλ‹€.
pyinstaller --noconfirm --clean --distpath src-tauri\bin translator.spec
  • κ²°κ³Όλ¬Ό: src-tauri/bin/translator-x86_64-pc-windows-msvc.exe 생성.

단계 3: λ“œλΌμ΄λ²„ 배치

lib 폴더에 λ‹€μš΄λ‘œλ“œλœ WinDivert λ“œλΌμ΄λ²„λ₯Ό μ‹€ν–‰ 파일 μœ„μΉ˜λ‘œ λ³΅μ‚¬ν•©λ‹ˆλ‹€.

  • lib\WinDivert\x64\WinDivert.dll -> src-tauri\bin\
  • lib\WinDivert\x64\WinDivert64.sys -> src-tauri\bin\

단계 4: 메인 μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λΉŒλ“œ (Rust/Tauri)

ν”„λ‘ νŠΈμ—”λ“œ μžμ‚°μ„ λ²ˆλ“€λ§ν•˜κ³  Rust λ°±μ—”λ“œλ₯Ό μ»΄νŒŒμΌν•˜μ—¬ μ„€μΉ˜ νŒŒμΌμ„ μƒμ„±ν•©λ‹ˆλ‹€.

  • λͺ…λ Ήμ–΄:
cargo tauri build

πŸ“¦ 4. μžλ™ νŒ¨ν‚€μ§• 및 배포 (ꢌμž₯)

λͺ¨λ“  μˆ˜λ™ 단계λ₯Ό μƒλž΅ν•˜κ³  μ¦‰μ‹œ λ°°ν¬νŒμ„ λ§Œλ“€λ €λ©΄ **package.bat**λ₯Ό μ‚¬μš©ν•˜μ„Έμš”. 이 μŠ€ν¬λ¦½νŠΈλŠ” λ‹€μŒ μž‘μ—…μ„ μˆ˜ν–‰ν•©λ‹ˆλ‹€:

  1. μ˜μ‘΄μ„± 검사: lib/ 폴더 확인 ν›„, μ—†μœΌλ©΄ setup_libs.bat μžλ™ μ‹€ν–‰.
  2. μ‚¬μ΄λ“œμΉ΄ λΉŒλ“œ: translator.spec을 톡해 AI μ—”μ§„ 컴파일 및 배치.
  3. λ¦¬μ†ŒμŠ€ 배치: WinDivert λ“œλΌμ΄λ²„ μžλ™ 볡사.
  4. μ„€μΉ˜ 파일 생성: Tauri λΉŒλ“œ(NSIS) μ‹€ν–‰.
  5. 배포 정리 (Move & Organize): μƒμ„±λœ μ„€μΉ˜ 파일(*-setup.exe)을 ν”„λ‘œμ νŠΈ 루트의 dist ν΄λ”λ‘œ μ΄λ™ν•˜μ—¬ μ¦‰μ‹œ 배포 κ°€λŠ₯ν•œ μƒνƒœλ‘œ λ§Œλ“­λ‹ˆλ‹€.

⚠️ 5. 주의 사항

  • λͺ¨λΈ 관리: μ•± μ„€μΉ˜ ν›„ 첫 μ‹€ν–‰ μ‹œ, models.json에 μ •μ˜λœ 링크λ₯Ό μ°Έμ‘°ν•˜μ—¬ AI λͺ¨λΈμ„ μžλ™μœΌλ‘œ λ‹€μš΄λ‘œλ“œν•©λ‹ˆλ‹€.
  • κ΄€λ¦¬μž κΆŒν•œ: λ„€νŠΈμ›Œν¬ νŒ¨ν‚· μŠ€λ‹ˆν•‘(WinDivert)을 μœ„ν•΄ 앱은 λ°˜λ“œμ‹œ κ΄€λ¦¬μž κΆŒν•œμœΌλ‘œ μ‹€ν–‰λ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€. (μƒμ„±λœ μ„€μΉ˜ νŒŒμΌμ€ 이λ₯Ό μžλ™μœΌλ‘œ μš”κ΅¬ν•˜λ„λ‘ μ„€μ •λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.)
  • μ‚¬μ΄λ“œμΉ΄ 디버깅: λ§Œμ•½ λ²ˆμ—­ κΈ°λŠ₯이 μž‘λ™ν•˜μ§€ μ•ŠλŠ”λ‹€λ©΄, translator.spec의 console=True μ˜΅μ…˜μ„ 켜고 λΉŒλ“œν•˜μ—¬ Python μ½˜μ†” μ°½μ—μ„œ 였λ₯˜ λ©”μ‹œμ§€λ₯Ό ν™•μΈν•˜μ„Έμš”.