Item logo image for nost Bridge

nost Bridge

ExtensionWorkflow & Planning
Item media 1 (screenshot) for nost Bridge

Overview

nost ๋ฐ์Šคํฌํ†ฑ ๋Ÿฐ์ฒ˜์™€ ๋ธŒ๋ผ์šฐ์ € ํƒญ์„ ๋กœ์ปฌ ๋ฃจํ”„๋ฐฑ์œผ๋กœ ์—ฐ๋™. ํƒญ ๊ฒ€์ƒ‰ยทํฌ์ปค์Šคยท๋ถ„ํ•  ๋ฐฐ์น˜ ์ง€์›. ์™ธ๋ถ€ ์ „์†ก ์—†์Œ.

# nost Bridge โ€” Chrome ์›น ์Šคํ† ์–ด ๊ฒŒ์‹œ ๊ฐ€์ด๋“œ > **๋ชฉ์ **: ์ด ๋ฌธ์„œ๋ฅผ ๋”ฐ๋ผ๊ฐ€๋ฉด ์ฒ˜์Œ ๊ฒŒ์‹œ๊นŒ์ง€ ์•ฝ 1์‹œ๊ฐ„(์Šคํฌ๋ฆฐ์ƒท ์ดฌ์˜ ํฌํ•จ), ์‹ฌ์‚ฌ ํ†ต๊ณผ๊นŒ์ง€ 1โ€“7์ผ ์•ˆ์— ๋๋‚ฉ๋‹ˆ๋‹ค. > ๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ: 2026-04-27 --- ## 0. TL;DR โ€” ํ•œ๋ˆˆ์— ๋ณด๋Š” ํ๋ฆ„ ``` [1] ๊ฐœ๋ฐœ์ž ๊ณ„์ • ๋“ฑ๋ก ($5 1ํšŒ) โ† ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ (10๋ถ„) โ†“ [2] PRIVACY.md๋ฅผ ๊ณต๊ฐœ URL์— ํ˜ธ์ŠคํŒ… โ† ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ (5๋ถ„, GitHub Pages ์ถ”์ฒœ) โ†“ [3] ์Šคํฌ๋ฆฐ์ƒทยทํ”„๋กœ๋ชจ์…˜ ์ด๋ฏธ์ง€ ๋งŒ๋“ค๊ธฐ โ† ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ (20โ€“40๋ถ„) โ†“ [4] zip ๋งŒ๋“ค๊ธฐ โ† ์Šคํฌ๋ฆฝํŠธ ํ•œ ์ค„ (1๋ถ„) โ†“ [5] ๋Œ€์‹œ๋ณด๋“œ์—์„œ ์—…๋กœ๋“œ + ์Šคํ† ์–ด ๋“ฑ๋ก์ •๋ณด ์ž…๋ ฅ (์ด ๋ฌธ์„œ์˜ ยง6 ๋ณต๋ถ™) โ†“ [6] "๊ฒ€ํ†  ์ œ์ถœ" โ†“ [7] 1โ€“7์ผ ํ›„ ์Šน์ธ (or ๊ฑฐ๋ถ€ โ†’ ยง8 ์ฐธ๊ณ ) ``` --- ## 1. ๊ฐœ๋ฐœ์ž ๊ณ„์ • ๋“ฑ๋ก ($5) 1. https://chrome.google.com/webstore/devconsole ์ ‘์† 2. Google ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธ 3. **๊ณ„์ • ๋“ฑ๋ก๋น„ $5 USD 1ํšŒ ๊ฒฐ์ œ** (์˜๊ตฌ, ํ™˜๋ถˆ ๋ถˆ๊ฐ€) 4. ๋ณธ์ธ ์ธ์ฆ (์ „ํ™”๋ฒˆํ˜ธ) ํ›„ ๋Œ€์‹œ๋ณด๋“œ ์ ‘์† > **์œ ์˜**: ์ด ๊ณ„์ •์œผ๋กœ ๊ฒŒ์‹œํ•œ ํ™•์žฅ์€ ๋ชจ๋‘ ๋ณธ์ธ ๋ช…์˜๋กœ ๊ณต๊ฐœ๋ฉ๋‹ˆ๋‹ค. ์ด๋ฆ„/์ด๋ฉ”์ผ์ด ์Šคํ† ์–ด์— ๋…ธ์ถœ๋จ. --- ## 2. PRIVACY.md ๊ณต๊ฐœ ํ˜ธ์ŠคํŒ… (ํ•„์ˆ˜) Chrome ์›น ์Šคํ† ์–ด๋Š” ๊ฐœ์ธ์ •๋ณด ์ฒ˜๋ฆฌ๋ฐฉ์นจ **๊ณต๊ฐœ URL**์„ ์š”๊ตฌํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ [PRIVACY.md](../PRIVACY.md)๋ฅผ ๊ทธ๋Œ€๋กœ ์“ฐ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ### ๊ฐ€์žฅ ์‰ฌ์šด ๋ฐฉ๋ฒ• โ€” GitHub raw URL ์ด๋ฏธ ์ €์žฅ์†Œ๊ฐ€ public์ด๋ฉด ์ฆ‰์‹œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ: ``` https://raw.githubusercontent.com/HwigwanJi/nost/main/PRIVACY.md ``` raw URL์€ plain text๋ผ ์Šคํ† ์–ด์—๋Š” ๋ฐ›์•„๋“ค์—ฌ์ง€์ง€๋งŒ ๋ณด๊ธฐ์—” ๋ณ„๋กœ ์•ˆ ์ข‹์Œ. ๋” ๋‚˜์€ ๋ฐฉ๋ฒ•: ### ์ถ”์ฒœ โ€” GitHub Pages 1. ์ €์žฅ์†Œ Settings โ†’ Pages โ†’ Source: `Deploy from a branch`, Branch: `main` / `(root)` 2. ์ €์žฅ ํ›„ 1โ€“2๋ถ„ ๋Œ€๊ธฐ 3. URL: `https://hwigwanji.github.io/nost/PRIVACY` (๋˜๋Š” `/PRIVACY.md`) > โ— Pages๊ฐ€ ์ผœ์ง„ ๋’ค PRIVACY.md๋ฅผ stack-trace ์—†์ด ์ฝํžˆ๋Š”์ง€ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ง์ ‘ ํ™•์ธํ•˜์„ธ์š”. ์Šคํ† ์–ด๋Š” URL์„ ์ž๋™ ๊ฒ€์ฆํ•ฉ๋‹ˆ๋‹ค. ### ๋Œ€์•ˆ โ€” Gist 1. https://gist.github.com ์— PRIVACY.md ๋‚ด์šฉ ๊ทธ๋Œ€๋กœ ๋ถ™์—ฌ๋„ฃ๊ณ  public์œผ๋กœ ์ €์žฅ 2. ๊ฐ€๊ณต ์—†์ด ์‚ฌ์šฉ --- ## 3. ์‹œ๊ฐ ์ž์‚ฐ ์ค€๋น„ ### ํ•„์ˆ˜ | ์ž์‚ฐ | ํ”ฝ์…€ | ํ˜•์‹ | ์œ„์น˜/์ƒ์„ฑ ๋ฐฉ๋ฒ• | ์—…๋กœ๋“œ ๋ฐฉ์‹ | |------|------|------|--------------|------------| | **Toolbar ์•„์ด์ฝ˜** (zip ์•ˆ) | 16, 48, 128 | PNG | โœ… `chrome-extension/icons/icon{16,48,128}.png` (์ด๋ฏธ nost ๋ธŒ๋žœ๋“œ ๋กœ๊ณ ) | **zip์— ์ž๋™ ํฌํ•จ** | | **์Šคํ† ์–ด ๋“ฑ๋ก์ •๋ณด ์•„์ด์ฝ˜** | 128ร—128 (96 + 16px ํŒจ๋”ฉ) | PNG | โœ… `chrome-extension/store-assets/store-icon-128.png` | **๋Œ€์‹œ๋ณด๋“œ์—์„œ ๋ณ„๋„ ์—…๋กœ๋“œ** | | **์ž‘์€ ํ”„๋กœ๋ชจ ํƒ€์ผ** | 440ร—280 | PNG/JPEG | ์ง์ ‘ ์ œ์ž‘ (ํ”ผ๊ทธ๋งˆ/Canva) | ๋Œ€์‹œ๋ณด๋“œ์—์„œ ์—…๋กœ๋“œ | | **์Šคํฌ๋ฆฐ์ƒท** | 1280ร—800 (๋˜๋Š” 640ร—400) | PNG/JPEG | ์ง์ ‘ ์บก์ฒ˜, 1โ€“5์žฅ | ๋Œ€์‹œ๋ณด๋“œ์—์„œ ์—…๋กœ๋“œ | > **Toolbar vs ๋“ฑ๋ก์ •๋ณด ์•„์ด์ฝ˜์˜ ์ฐจ์ด**: > - **Toolbar ์•„์ด์ฝ˜** (zip): ํ’€-๋ธ”๋ฆฌ๋“œ โ€” ๋ธŒ๋ผ์šฐ์ € ํˆด๋ฐ”์˜ ์ž‘์€ ์˜์—ญ์—์„œ ์‹๋ณ„์„ฑ์„ ๋†’์ด๋ ค๊ณ  ๊ฐ€์žฅ์ž๋ฆฌ๊นŒ์ง€ ์ฑ„์›€ > - **๋“ฑ๋ก์ •๋ณด ์•„์ด์ฝ˜** (๋ณ„๋„): 96ร—96 ์•„ํŠธ + 16px ํˆฌ๋ช… ํŒจ๋”ฉ โ€” ์Šคํ† ์–ด ๊ฐค๋Ÿฌ๋ฆฌ ํŽ˜์ด์ง€์—์„œ ๋‹ค๋ฅธ ํ™•์žฅ๋“ค๊ณผ ๋‚˜๋ž€ํžˆ ๋†“์ผ ๋•Œ ์‹œ๊ฐ์  ํ˜ธํก์„ ์คŒ > - ๋‘˜ ๋‹ค nost "n" ๋ธŒ๋žœ๋“œ ๋กœ๊ณ ๋กœ ํ†ต์ผ๋จ (์ด์ „ placeholder ๋กœ์ผ“ โ†’ ๋ธŒ๋žœ๋“œ ๋กœ๊ณ ๋กœ ๊ต์ฒด ์™„๋ฃŒ) > > **์žฌ์ƒ์„ฑ**: ๋งˆ์Šคํ„ฐ ๋กœ๊ณ ๋ฅผ ๋ฐ”๊พธ๋ฉด `chrome-extension/generate-store-icon.ps1`์„ ๋‹ค์‹œ ์‹คํ–‰ํ•ด ๋“ฑ๋ก์ •๋ณด ์•„์ด์ฝ˜์„ ๊ฐฑ์‹ ํ•˜๊ณ , toolbar ์•„์ด์ฝ˜์€ `assets/icon-{16,48,128}.png`๋ฅผ `chrome-extension/icons/`๋กœ ๋‹ค์‹œ ๋ณต์‚ฌ. ### ์„ ํƒ | ์ž์‚ฐ | ํ”ฝ์…€ | ๋น„๊ณ  | |------|------|------| | ๋งˆํ‚ค ํ”„๋กœ๋ชจ | 1400ร—560 | Featured/Marquee ์˜์—ญ์— ๋“ค์–ด๊ฐ€๋ ค๋ฉด ํ•„์š” | ### ์Šคํฌ๋ฆฐ์ƒท ์ถ”์ฒœ ๊ตฌ์„ฑ (5์žฅ ์ฑ„์šฐ๊ธฐ) 1. **nost ๋ฐ์Šคํฌํ†ฑ ์•ฑ** ๋ฉ”์ธ ํ™”๋ฉด โ€” ์นด๋“œ ๊ทธ๋ฆฌ๋“œ + ์‚ฌ์ด๋“œ๋ฐ” (๋ธŒ๋žœ๋“œ ์ธ์ง€) 2. **ํ™•์žฅ ํŒ์—…** โ€” `๐Ÿš€ nost Bridge / ์„œ๋ฒ„ ์—ฐ๊ฒฐ: ์—ฐ๊ฒฐ๋จ / ์ „์†ก ์ค‘์ธ ํƒญ: 12๊ฐœ` (ํ™•์žฅ ์ž์ฒด) 3. **ํƒญ ๊ฒ€์ƒ‰ยทํฌ์ปค์Šค** โ€” ๋ฐ์Šคํฌํ†ฑ ์•ฑ์—์„œ ์นด๋“œ ํด๋ฆญ โ†’ Chrome ํƒญ ํ™œ์„ฑํ™”๋˜๋Š” ๋ฐ๋ชจ (์‚ฌ์šฉ ๊ฐ€์น˜) 4. **๋ถ„ํ•  ๋ฐฐ์น˜** โ€” ๋…ธ๋“œ ๊ทธ๋ฃน ์‹คํ–‰์œผ๋กœ ๋‘ ํƒญ์ด ์ขŒ์šฐ ๋ถ„ํ• ๋˜๋Š” ํ™”๋ฉด (๊ณ ์œ  ๊ธฐ๋Šฅ) 5. **๋กœ์ปฌ ์ „์šฉ ํ†ต์‹ ** โ€” ํŒ์—… + "127.0.0.1" ์ฃผ์„ ์˜ค๋ฒ„๋ ˆ์ด (์•ˆ์ „์„ฑ ๊ฐ•์กฐ) ์บก์ฒ˜๋Š” `Win+Shift+S`๋กœ 1280ร—800 ์˜์—ญ ์žก์œผ๋ฉด ๋จ. ๋˜๋Š” nost ์ž์ฒด ์ฐฝ ํฌ๊ธฐ๋ฅผ ์„ค์ •์—์„œ 1280px๋กœ ๋งž์ถฐ ๋„์šฐ๊ณ  ํ’€ ์บก์ฒ˜. ### ์ž‘์€ ํ”„๋กœ๋ชจ ํƒ€์ผ (440ร—280) ๋ ˆ์ด์•„์›ƒ ๊ถŒ์žฅ: ``` โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ [nost ๋กœ๊ณ ] nost Bridge โ”‚ โ”‚ โ”‚ โ”‚ ๋ธŒ๋ผ์šฐ์ € ํƒญ์„ ๋ฐ์Šคํฌํ†ฑ ๋Ÿฐ์ฒ˜๋กœ โ”‚ โ”‚ ๋กœ์ปฌ ๋ฃจํ”„๋ฐฑ ยท ์™ธ๋ถ€ ์ „์†ก ์—†์Œ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ ``` ํ”ผ๊ทธ๋งˆ/Canva์—์„œ ๋น ๋ฅด๊ฒŒ ์ œ์ž‘. nost์˜ accent ์ปฌ๋Ÿฌ(๋ณด๋ผ ๊ณ„์—ด) ํ™œ์šฉ. --- ## 4. zip ๋งŒ๋“ค๊ธฐ ```powershell cd "D:\01_๊ฐœ์ธ\06. launcher\chrome-extension" .\create-store-zip.ps1 ``` ๊ฒฐ๊ณผ: `D:\01_๊ฐœ์ธ\06. launcher\release\nost-bridge-store-1.0.0.zip` ์ด zip์—๋Š” `manifest.json`, `background.js`, `popup.html/js`, `icons/16,48,128.png`, `_locales/{en,ko}/messages.json`๋งŒ ๋“ค์–ด ์žˆ๊ณ , dev ์ „์šฉ ํŒŒ์ผ(`create-icons.js`, `generate-icons.js`, `icon.svg`, ์ด ์Šคํฌ๋ฆฝํŠธ ์ž์ฒด)์€ ์ œ์™ธ๋ฉ๋‹ˆ๋‹ค. --- ## 5. ๋Œ€์‹œ๋ณด๋“œ์— ์—…๋กœ๋“œ 1. https://chrome.google.com/webstore/devconsole ๋กœ๊ทธ์ธ 2. ์šฐ์ƒ๋‹จ **"์ƒˆ ํ•ญ๋ชฉ"** ํด๋ฆญ 3. ์œ„ zip ํŒŒ์ผ ์—…๋กœ๋“œ โ†’ ์ž๋™ ๊ฒ€์ฆ โ†’ ๋“ฑ๋ก์ •๋ณด ํ™”๋ฉด์œผ๋กœ ์ด๋™ --- ## 6. ์Šคํ† ์–ด ๋“ฑ๋ก์ •๋ณด โ€” ๊ทธ๋Œ€๋กœ ๋ณต์‚ฌํ•ด์„œ ๋ถ™์—ฌ๋„ฃ๊ธฐ ### 6.1 ํ•ญ๋ชฉ ์ •๋ณด **์–ธ์–ด**: ํ•œ๊ตญ์–ด (๊ธฐ๋ณธ) + ์˜์–ด ์ถ”๊ฐ€ #### ํ•œ๊ตญ์–ด ๋“ฑ๋ก์ •๋ณด **์ด๋ฆ„**: `nost Bridge` **์š”์•ฝ (132์ž ์ด๋‚ด, ๊ฒ€์ƒ‰ ๋…ธ์ถœ์šฉ)**: ``` nost ๋ฐ์Šคํฌํ†ฑ ๋Ÿฐ์ฒ˜์™€ ๋ธŒ๋ผ์šฐ์ € ํƒญ์„ ๋กœ์ปฌ ๋ฃจํ”„๋ฐฑ์œผ๋กœ ์—ฐ๋™. ํƒญ ๊ฒ€์ƒ‰ยทํฌ์ปค์Šคยท๋ถ„ํ•  ๋ฐฐ์น˜ ์ง€์›. ์™ธ๋ถ€ ์ „์†ก ์—†์Œ. ``` **์ž์„ธํ•œ ์„ค๋ช… (16,000์ž ์ด๋‚ด, ๋งˆํฌ๋‹ค์šด ์ผ๋ถ€ ์ง€์›)**: ``` nost Bridge๋Š” Windows์šฉ ๋ฐ์Šคํฌํ†ฑ ๋Ÿฐ์ฒ˜ ใ€Œnostใ€์™€ Chrome/Whale ๋ธŒ๋ผ์šฐ์ € ํƒญ์„ ์—ฐ๊ฒฐํ•˜๋Š” ๋ณด์กฐ ํ™•์žฅ์ž…๋‹ˆ๋‹ค. โ”โ”โ” ๋ฌด์—‡์„ ํ•˜๋‚˜์š” โ”โ”โ” โ€ข ํ˜„์žฌ ์—ด๋ฆฐ ๋ชจ๋“  ํƒญ์˜ ์ œ๋ชฉยทURL์„ nost ๋Ÿฐ์ฒ˜์— ์‹ค์‹œ๊ฐ„ ๋™๊ธฐํ™” โ€ข nost ๋Ÿฐ์ฒ˜์—์„œ ํƒญ ๊ฒ€์ƒ‰ ํ›„ ํด๋ฆญ ํ•œ ๋ฒˆ์œผ๋กœ ํ•ด๋‹น ํƒญ์œผ๋กœ ํฌ์ปค์Šค โ€ข ๋…ธ๋“œ ๊ทธ๋ฃน/๋ฑ ์‹คํ–‰ ์‹œ ์—ฌ๋Ÿฌ ํƒญ์„ ์ขŒ์šฐ/์ƒํ•˜๋กœ ์ž๋™ ๋ถ„ํ•  ๋ฐฐ์น˜ โ€ข ๋ณ„๋„ ์ฐฝ์œผ๋กœ ๋ถ„๋ฆฌ(detach) ๋˜๋Š” ์ƒˆ ์ฐฝ์œผ๋กœ ์—ด๊ธฐ ๋™์ž‘ ์ง€์› โ”โ”โ” ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ โ€” 100% ๋กœ์ปฌ โ”โ”โ” โ€ข ๋ชจ๋“  ํ†ต์‹ ์€ ์‚ฌ์šฉ์ž ๋ณธ์ธ ์ปดํ“จํ„ฐ์˜ 127.0.0.1:14502(๋ฃจํ”„๋ฐฑ)์œผ๋กœ๋งŒ ๋ฐœ์ƒ โ€ข ์™ธ๋ถ€ ์„œ๋ฒ„, ํด๋ผ์šฐ๋“œ, ๋ถ„์„ ๋„๊ตฌ ์ผ์ ˆ ์‚ฌ์šฉ ์•ˆ ํ•จ โ€ข ์ˆ˜์ง‘ยท์ €์žฅํ•˜๋Š” ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ ์—†์Œ โ€ข ์ž์„ธํ•œ ์‚ฌํ•ญ: ๊ฐœ์ธ์ •๋ณด์ฒ˜๋ฆฌ๋ฐฉ์นจ ์ฐธ๊ณ  โ”โ”โ” ๊ถŒํ•œ ์‚ฌ์šฉ ์ด์œ  โ”โ”โ” โ€ข tabs / activeTab โ€” ํƒญ ์ œ๋ชฉยทURL์„ nost ๋Ÿฐ์ฒ˜์— ๋ณด๋‚ด๊ณ , ๋Ÿฐ์ฒ˜์—์„œ ํด๋ฆญํ•œ ํƒญ์„ ํ™œ์„ฑํ™”ํ•˜๊ธฐ ์œ„ํ•จ โ€ข ํ˜ธ์ŠคํŠธ ๊ถŒํ•œ (127.0.0.1:14502) โ€” nost ๋ฐ์Šคํฌํ†ฑ ์•ฑ์ด ๋“ฃ๋Š” ๋กœ์ปฌ ํฌํŠธ๋กœ๋งŒ ํ•œ์ •. ์™ธ๋ถ€ ๋„๋ฉ”์ธ๊ณผ ํ†ต์‹ ํ•˜์ง€ ์•Š์Œ โ”โ”โ” ์‚ฌ์ „ ์š”๊ตฌ์‚ฌํ•ญ โ”โ”โ” ์ด ํ™•์žฅ์€ nost ๋ฐ์Šคํฌํ†ฑ ์•ฑ์ด ๊ฐ™์€ ์ปดํ“จํ„ฐ์—์„œ ์‹คํ–‰ ์ค‘์ผ ๋•Œ๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์Šคํฌํ†ฑ ์•ฑ์ด ์—†์œผ๋ฉด ํŒ์—…์— "์—ฐ๊ฒฐ ์•ˆ๋จ"์œผ๋กœ ํ‘œ์‹œ๋˜๋ฉฐ ๋‹ค๋ฅธ ์˜ํ–ฅ์€ ์—†์Šต๋‹ˆ๋‹ค. nost ๋ฐ์Šคํฌํ†ฑ ์•ฑ: https://github.com/HwigwanJi/nost ``` #### ์˜์–ด ๋“ฑ๋ก์ •๋ณด **Name**: `nost Bridge` **Summary**: ``` Bridge browser tabs to the nost desktop launcher over local loopback. Search, focus, and tile tabs from your launcher. No external network. ``` **Detailed description**: ``` nost Bridge connects Chromium browsers to the nost desktop launcher (Windows) on the same machine. โ”โ”โ” What it does โ”โ”โ” โ€ข Mirrors title and URL of all open tabs to nost in real time โ€ข One-click focus from the launcher's tab search โ€ข Auto-tiles multiple tabs side-by-side when launching a node group or deck from nost โ€ข Supports detach-to-window and open-in-new-window actions โ”โ”โ” Data โ€” 100% local โ”โ”โ” โ€ข All traffic stays on your machine's loopback interface (127.0.0.1:14502) โ€ข No external servers, no analytics, no telemetry โ€ข No personal data collected, stored, or transmitted โ€ข See the privacy policy for full details โ”โ”โ” Permissions โ”โ”โ” โ€ข tabs / activeTab โ€” to read tab title and URL for the launcher and to focus a tab when you click it in nost โ€ข Host permission for 127.0.0.1:14502 โ€” strictly the local port the nost desktop app listens on โ”โ”โ” Requirements โ”โ”โ” This extension requires the nost desktop app running on the same machine. Without it, the popup will show "Disconnected" โ€” no other effect. nost desktop app: https://github.com/HwigwanJi/nost ``` ### 6.2 ์นดํ…Œ๊ณ ๋ฆฌ - **๊ธฐ๋ณธ ์นดํ…Œ๊ณ ๋ฆฌ**: `์ƒ์‚ฐ์„ฑ (Productivity)` - **์–ธ์–ด**: ํ•œ๊ตญ์–ด, ์˜์–ด ### 6.3 ๊ทธ๋ž˜ํ”ฝ ์ž์‚ฐ โ€” ๋Œ€์‹œ๋ณด๋“œ ์—…๋กœ๋“œ ํ•ญ๋ชฉ ์ขŒ์ธก ๋ฉ”๋‰ด **"์Šคํ† ์–ด ๋“ฑ๋ก์ •๋ณด"** ํƒญ์—์„œ ๋‹ค์Œ ํ•ญ๋ชฉ์„ ์ฑ„์›๋‹ˆ๋‹ค: | ํ•ญ๋ชฉ | ํŒŒ์ผ (์ ˆ๋Œ€ ๊ฒฝ๋กœ) | ํ•„์ˆ˜ | |------|------------------|------| | **์Šคํ† ์–ด ์•„์ด์ฝ˜** (128ร—128) | `D:\01_๊ฐœ์ธ\06. launcher\chrome-extension\store-assets\store-icon-128.png` | โœ… | | **์ž‘์€ ํ”„๋กœ๋ชจ ํƒ€์ผ** (440ร—280) | ์ง์ ‘ ์ œ์ž‘ ํ›„ ์—…๋กœ๋“œ | โœ… | | **์Šคํฌ๋ฆฐ์ƒท** (1280ร—800) | ยง3 ๊ฐ€์ด๋“œ๋Œ€๋กœ 5์žฅ ์บก์ฒ˜ ํ›„ ์—…๋กœ๋“œ | โœ… (์ตœ์†Œ 1์žฅ) | | **๋งˆํ‚ค ํ”„๋กœ๋ชจ** (1400ร—560) | ์„ ํƒ โ€” Featured ์˜์—ญ ๋…ธ์ถœ๋˜๋ ค๋ฉด ํ•„์š” | โŒ | > โš ๏ธ **Toolbar ์•„์ด์ฝ˜์€ ์—ฌ๊ธฐ์„œ ์—…๋กœ๋“œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.** zip ์•ˆ์— ์ด๋ฏธ ๋“ค์–ด ์žˆ์–ด์„œ manifest์˜ `icons` / `action.default_icon` ํ•„๋“œ๊ฐ€ ์ž๋™์œผ๋กœ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ๋Œ€์‹œ๋ณด๋“œ์— ๋ณ„๋„ ์—…๋กœ๋“œ๋ž€์ด ์—†์Šต๋‹ˆ๋‹ค. ### 6.4 ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ ์‚ฌํ•ญ โš ๏ธ ๊ฑฐ๋ถ€ ์‚ฌ์œ  1์ˆœ์œ„ **๋‹จ์ผ ๋ชฉ์  (Single purpose)** ์ž…๋ ฅ๋ž€: ``` ๋ธŒ๋ผ์šฐ์ € ํƒญ์˜ ์ œ๋ชฉ๊ณผ URL์„ ๊ฐ™์€ ์ปดํ“จํ„ฐ์—์„œ ์‹คํ–‰ ์ค‘์ธ nost ๋ฐ์Šคํฌํ†ฑ ๋Ÿฐ์ฒ˜์— ์ „๋‹ฌํ•˜๊ณ , ๋Ÿฐ์ฒ˜์˜ ๋ช…๋ น์œผ๋กœ ํƒญ์„ ํฌ์ปค์Šคยท๋ถ„ํ•  ๋ฐฐ์น˜ํ•˜๋Š” ๋‹จ์ผ ๊ธฐ๋Šฅ. ``` **๊ถŒํ•œ ์ •๋‹นํ™”** โ€” Google์ด ์ž๋™์œผ๋กœ ๋ฌป๋Š” ํ•ญ๋ชฉ๋“ค: | ๊ถŒํ•œ | ์ •๋‹นํ™” ํ…์ŠคํŠธ | |------|--------------| | `tabs` | ์‚ฌ์šฉ์ž๊ฐ€ nost ๋Ÿฐ์ฒ˜์—์„œ ํƒญ์„ ๊ฒ€์ƒ‰ยทํฌ์ปค์Šคํ•  ์ˆ˜ ์žˆ๋„๋ก, ๋ชจ๋“  ํƒญ์˜ ์ œ๋ชฉ๊ณผ URL์„ ๋กœ์ปฌ ๋ฐ์Šคํฌํ†ฑ ์•ฑ์— ๋™๊ธฐํ™”ํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋Ÿฐ์ฒ˜ ํด๋ฆญ ์‹œ ํ•ด๋‹น ํƒญ์„ ํ™œ์„ฑํ™”ํ•˜๊ธฐ ์œ„ํ•ด chrome.tabs.update๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. | | `activeTab` | tabs์™€ ํ•จ๊ป˜ ํ˜„์žฌ ํ™œ์„ฑ ํƒญ์˜ ์ •๋ณด๋ฅผ ์•ˆ์ •์ ์œผ๋กœ ์ฝ๊ธฐ ์œ„ํ•จ์ž…๋‹ˆ๋‹ค. | | `host_permissions` (`http://127.0.0.1:14502/*`) | nost ๋ฐ์Šคํฌํ†ฑ ์•ฑ์ด ๊ฐ™์€ ์ปดํ“จํ„ฐ์—์„œ ๋“ฃ๊ณ  ์žˆ๋Š” ๋กœ์ปฌ ๋ฃจํ”„๋ฐฑ ์ฃผ์†Œ์ž…๋‹ˆ๋‹ค. SSE๋ฅผ ํ†ตํ•œ ๋‹จ๋ฐฉํ–ฅ ๋ช…๋ น ์ˆ˜์‹ ๊ณผ ํƒญ ์ •๋ณด POST๋ฅผ ์œ„ํ•จ์ด๋ฉฐ, ๋‹ค๋ฅธ ์–ด๋– ํ•œ ํ˜ธ์ŠคํŠธ์™€๋„ ํ†ต์‹ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. | | **์›๊ฒฉ ์ฝ”๋“œ ์‚ฌ์šฉ** | **์‚ฌ์šฉ ์•ˆ ํ•จ**. ๋ชจ๋“  ์ฝ”๋“œ๋Š” ํŒจํ‚ค์ง€์— ํฌํ•จ๋œ ์ •์  JavaScript์ด๋ฉฐ, eval ๋˜๋Š” ์™ธ๋ถ€ ์Šคํฌ๋ฆฝํŠธ ๋กœ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. | | **์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ** | ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ยท์ „์†กยท์ €์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋Š” ์‚ฌ์šฉ์ž ๋ณธ์ธ ์ปดํ“จํ„ฐ์˜ ๋ฃจํ”„๋ฐฑ์„ ๋ฒ—์–ด๋‚˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. | **๊ฐœ์ธ์ •๋ณด์ฒ˜๋ฆฌ๋ฐฉ์นจ URL**: ยง2์—์„œ ๋งŒ๋“  URL ๋ถ™์—ฌ๋„ฃ๊ธฐ ### 6.5 ๋ฐฐํฌ - **๊ณต๊ฐœ ๋ฒ”์œ„**: `๊ณต๊ฐœ (Public)` โ€” ๋ชจ๋“  ์‚ฌ์šฉ์ž - **์ง€์—ญ**: ๋ชจ๋“  ์ง€์—ญ - **์—ฐ๋ น ๋“ฑ๊ธ‰**: `์ „์ฒด ์ด์šฉ๊ฐ€` - **์ง€์—ฐ ๊ฒŒ์‹œ**: ์ฒซ ๊ฒŒ์‹œ๋Š” **์ฒดํฌ ํ•ด์ œ** (์Šน์ธ ์ฆ‰์‹œ ๊ณต๊ฐœ). ์ž์‹  ์žˆ์œผ๋ฉด ๋‘˜ ์ค‘ ์–ด๋А ์ชฝ์ด๋“  OK. --- ## 7. ์ œ์ถœ ์ „ ์ตœ์ข… ์ฒดํฌ๋ฆฌ์ŠคํŠธ ๊ฒŒ์‹œ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๊ธฐ ์ „์— ํ•œ ์ค„์”ฉ ํ™•์ธ: - [ ] ๊ฐœ๋ฐœ์ž ๊ณ„์ • ๋“ฑ๋ก + $5 ๊ฒฐ์ œ ์™„๋ฃŒ - [ ] PRIVACY.md ๊ณต๊ฐœ URL ์‚ด์•„์žˆ๋Š”์ง€ ๋ธŒ๋ผ์šฐ์ €์—์„œ ํ™•์ธ - [ ] manifest.json `version`์ด 1.0.0 (๋˜๋Š” ๊ทธ ์ด์ƒ์ด๊ณ  ์ด์ „ ๊ฒŒ์‹œ๋ณด๋‹ค ํฐ ๊ฐ’) - [ ] zip ์•ˆ์— `manifest.json`์ด **๋ฃจํŠธ**์— ์žˆ์Œ (ํด๋” ์•ˆ ์•„๋‹˜) โ€” `create-store-zip.ps1`์ด ๋ณด์žฅ - [ ] zip์— dev ํŒŒ์ผ(`create-icons.js`, `generate-icons.js`, `icon.svg`, README, .git ๋“ฑ) ๋ฏธํฌํ•จ โ€” ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์ž๋™ ์ œ์™ธ - [ ] ์•„์ด์ฝ˜ 128ร—128 PNG ๋“ค์–ด ์žˆ์Œ โ€” ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๊ฒ€์ฆ - [ ] ์Šคํฌ๋ฆฐ์ƒท ์ตœ์†Œ 1์žฅ (1280ร—800) ์ค€๋น„๋จ - [ ] ์ž‘์€ ํ”„๋กœ๋ชจ ํƒ€์ผ 440ร—280 ์ค€๋น„๋จ - [ ] ํ•œ/์˜ ๋“ฑ๋ก์ •๋ณด ํ…์ŠคํŠธ ยง6์—์„œ ๋ณต์‚ฌ-๋ถ™์—ฌ๋„ฃ๊ธฐ ์™„๋ฃŒ - [ ] ๊ถŒํ•œ ์ •๋‹นํ™” 4๊ฐœ ๋ชจ๋‘ ยง6.4์—์„œ ๋ณต์‚ฌ-๋ถ™์—ฌ๋„ฃ๊ธฐ ์™„๋ฃŒ - [ ] "์›๊ฒฉ ์ฝ”๋“œ ์‚ฌ์šฉ ์•ˆ ํ•จ" ๋ผ๋””์˜ค ์„ ํƒ ํ™•์ธ - [ ] ๋‹จ์ผ ๋ชฉ์  ํ…์ŠคํŠธ ์ž…๋ ฅ ํ™•์ธ - [ ] ์นดํ…Œ๊ณ ๋ฆฌ: ์ƒ์‚ฐ์„ฑ --- ## 8. ํ”ํ•œ ๊ฑฐ๋ถ€ ์‚ฌ์œ  + ์˜ˆ๋ฐฉ ์‹ฌ์‚ฌ๊ฐ€ ๊ฑฐ๋ถ€๋˜์–ด๋„ ์ˆ˜์ • ํ›„ ์žฌ์ œ์ถœ ๊ฐ€๋Šฅ. ์ž์ฃผ ๋–จ์–ด์ง€๋Š” ์ผ€์ด์Šค ๋ฏธ๋ฆฌ ๋Œ€์‘: ### 8.1 "๊ถŒํ•œ์ด ๋‹จ์ผ ๋ชฉ์ ๊ณผ ์ผ์น˜ํ•˜์ง€ ์•Š์Œ" โ†’ ยง6.4์˜ ์ •๋‹นํ™” ํ…์ŠคํŠธ๊ฐ€ **๊ฐ ๊ถŒํ•œ๋ณ„๋กœ ํ•œ ๋ฌธ์žฅ ์ด์ƒ**์ด์–ด์•ผ ํ•จ. "ํ•„์š”ํ•ด์„œ ์‚ฌ์šฉํ•จ" ๊ฐ™์€ ์งง์€ ๋‹ต๋ณ€ ๊ธˆ์ง€. ### 8.2 "๊ฐœ์ธ์ •๋ณด์ฒ˜๋ฆฌ๋ฐฉ์นจ URL ์ ‘๊ทผ ๋ถˆ๊ฐ€" โ†’ ์ต๋ช… ํƒญ์œผ๋กœ URL ์—ด์–ด๋ณด๊ธฐ. GitHub Pages๋Š” ์ฒซ ๋ฐฐํฌ ํ›„ 5๋ถ„ ์ •๋„ 404์ผ ์ˆ˜ ์žˆ์Œ. 5โ€“10๋ถ„ ๊ธฐ๋‹ค๋ฆฐ ํ›„ ์žฌ์ œ์ถœ. ### 8.3 "์‚ฌ์šฉ์ž๊ฐ€ ํ™•์žฅ๋งŒ ์„ค์น˜ํ•ด๋„ ๊ฐ€์น˜๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์–ด์•ผ ํ•จ" โ†’ ์šฐ๋ฆฌ ํ™•์žฅ์€ ๋ฐ์Šคํฌํ†ฑ ์•ฑ์ด ์žˆ์–ด์•ผ ์˜๋ฏธ๊ฐ€ ์žˆ์Œ. **์ž์„ธํ•œ ์„ค๋ช…์—์„œ "์‚ฌ์ „ ์š”๊ตฌ์‚ฌํ•ญ" ์„น์…˜์„ ๋ช…ํ™•ํžˆ ๋…ธ์ถœ**ํ•ด๋‘๋ฉด ๊ฑฐ์˜ ํ†ต๊ณผ. ์ถ”๊ฐ€ ์•ˆ์ „์žฅ์น˜๋กœ popup.html์—์„œ ๋ฐ์Šคํฌํ†ฑ ์•ฑ์ด ์—†์„ ๋•Œ ๋‹ค์šด๋กœ๋“œ ์•ˆ๋‚ด ๋งํฌ๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•ด๋ณผ ์ˆ˜ ์žˆ์Œ(ํ˜„์žฌ๋Š” "์—ฐ๊ฒฐ ์•ˆ๋จ"๋งŒ ํ‘œ์‹œ). ### 8.4 "tabs ๊ถŒํ•œ์ด ๊ณผ๋„ํ•จ" โ†’ ์šฐ๋ฆฌ๋Š” ๊ฒ€์ƒ‰ยทํฌ์ปค์Šค๋ฅผ ์œ„ํ•ด ๋ชจ๋“  ํƒญ์˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๊ฐ€ ํ•„์š”ํ•จ. **๋ชฉ์ **์„ ๋ช…ํ™•ํžˆ ์ ์œผ๋ฉด ํ†ต๊ณผ. ๋งŒ์•ฝ ๊ฑฐ๋ถ€๋˜๋ฉด `tabs` โ†’ `activeTab`๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ์˜ต์…˜ ๊ณ ๋ ค. ### 8.5 "์ฝ”๋“œ ๋‚œ๋…ํ™” / minify" โ†’ ์šฐ๋ฆฌ ์ฝ”๋“œ๋Š” ํ‰๋ฌธ ES6. ์˜ํ–ฅ ์—†์Œ. ๋งŒ์•ฝ ํ–ฅํ›„ webpack ๋“ฑ์œผ๋กœ ๋นŒ๋“œํ•œ๋‹ค๋ฉด **์†Œ์Šค๋งต ๋™๋ด‰**์ด ํ•„์ˆ˜. ### 8.6 "์›๊ฒฉ ์ฝ”๋“œ ๋กœ๋“œ" โ†’ ์šฐ๋ฆฌ๋Š” fetch๋กœ ๋ฐ์ดํ„ฐ(JSON)๋งŒ ๋ฐ›์Œ, ์ฝ”๋“œ ์‹คํ–‰ ์—†์Œ. ์ •๋‹นํ™” ์‹œ "๋™์  ์ฝ”๋“œ ์‹คํ–‰ ์—†์Œ, JSON ๋ฐ์ดํ„ฐ๋งŒ ์ˆ˜์‹ "์ด๋ผ๊ณ  ์ ์‹œ. --- ## 9. ๊ฒŒ์‹œ ํ›„ โ€” ์—…๋ฐ์ดํŠธ ๋ฐฉ๋ฒ• ์ƒˆ ๋ฒ„์ „ ์ถœ์‹œ ํ๋ฆ„: 1. `manifest.json`์˜ `version`์„ **์ด์ „๋ณด๋‹ค ํฐ ๊ฐ’**์œผ๋กœ ๋ณ€๊ฒฝ (์˜ˆ: 1.0.0 โ†’ 1.0.1) 2. `create-store-zip.ps1` ๋‹ค์‹œ ์‹คํ–‰ 3. ๋Œ€์‹œ๋ณด๋“œ โ†’ ํ•ด๋‹น ํ•ญ๋ชฉ โ†’ **"ํŒจํ‚ค์ง€ ์—…๋กœ๋“œ"** 4. ๋ณ€๊ฒฝ ๋‚ด์—ญ ๋ฉ”๋ชจ ์ž…๋ ฅ ํ›„ **"๊ฒ€ํ†  ์ œ์ถœ"** 5. ๋‹ค์‹œ 1โ€“7์ผ ์‹ฌ์‚ฌ. ๋ณดํ†ต ์ฒซ ๊ฒŒ์‹œ๋ณด๋‹ค ๋น ๋ฆ„. > ๋งˆ์ด๋„ˆ ๋ฒ„๊ทธ ์ˆ˜์ •๋„ ํ•ญ์ƒ ์ƒˆ ๋ฒ„์ „ ๋ฒˆํ˜ธ. ๊ฐ™์€ ๋ฒ„์ „ ์žฌ์—…๋กœ๋“œ๋Š” ๋ถˆ๊ฐ€. --- ## 10. ๋ฐ์Šคํฌํ†ฑ ์•ฑ๊ณผ์˜ ์—ฐ๊ณ„ โ€” ํ›„์† ๊ถŒ์žฅ์‚ฌํ•ญ ๋ฐฐํฌ ์„ฑ๊ณต ํ›„ nost ๋ฐ์Šคํฌํ†ฑ ์•ฑ ์ธก์—์„œ: - [ ] [ExtensionInstallWizard.tsx](../frontend/src/components/ExtensionInstallWizard.tsx)์— "Chrome ์›น ์Šคํ† ์–ด ์„ค์น˜" ๋ฒ„ํŠผ ์ถ”๊ฐ€ โ€” zip ๋‹ค์šด๋กœ๋“œ ์•ˆ๋‚ด ๋Œ€์‹  ์Šคํ† ์–ด ์ง๋งํฌ - [ ] ์„ค์ • โ†’ ํ™•์žฅ ํƒญ์— ์Šคํ† ์–ด ํŽ˜์ด์ง€ ๋งํฌ ๋…ธ์ถœ - [ ] ์Šคํ† ์–ด ID(์Šน์ธ ํ›„ ๋ฐœ๊ธ‰๋˜๋Š” 32์ž ID)๋ฅผ [main.js](../main.js)์˜ `openExtensionInstallHelper`์— ์ถ”๊ฐ€ํ•ด์„œ `https://chrome.google.com/webstore/detail/{ID}` ์ž๋™ ์—ด๊ธฐ ์Šคํ† ์–ด ID๋Š” ์ฒซ ๊ฒŒ์‹œ ํ›„ ๋Œ€์‹œ๋ณด๋“œ URL์— ๋‚˜ํƒ€๋‚จ: `https://chrome.google.com/webstore/devconsole/{32์ž}` --- ## ๋ถ€๋ก A. ๊ณต์‹ ๋ฌธ์„œ ๋งํฌ - ๊ฒŒ์‹œ ์ ˆ์ฐจ: https://developer.chrome.com/docs/webstore/publish?hl=ko - ๊ฒŒ์‹œ ์ „ ์ค€๋น„: https://developer.chrome.com/docs/webstore/prepare?hl=ko - ์ด๋ฏธ์ง€ ์ŠคํŽ™: https://developer.chrome.com/docs/webstore/images?hl=ko - ํ”„๋กœ๊ทธ๋žจ ์ •์ฑ…: https://developer.chrome.com/docs/webstore/program-policies?hl=ko - ์ฝ˜ํ…์ธ  ๋“ฑ๊ธ‰: https://developer.chrome.com/docs/webstore/rating?hl=ko - ์—…๋ฐ์ดํŠธ: https://developer.chrome.com/docs/webstore/update?hl=ko - ๊ฐœ๋ฐœ์ž ๋Œ€์‹œ๋ณด๋“œ: https://chrome.google.com/webstore/devconsole

Details

  • Version
    1.0.4
  • Updated
    May 11, 2026
  • Size
    41.79KiB
  • Languages
    2 languages
  • Developer
    Email
    sow232@gmail.com
  • Non-trader
    This developer has not identified itself as a trader. For consumers in the European Union, please note that consumer rights do not apply to contracts between you and this developer.

Privacy

Manage extensions and learn how they're being used in your organization
The developer has disclosed that it will not collect or use your data. To learn more, see the developerโ€™s privacy policy.

This developer declares that your data is

  • Not being sold to third parties, outside of the approved use cases
  • Not being used or transferred for purposes that are unrelated to the item's core functionality
  • Not being used or transferred to determine creditworthiness or for lending purposes
Google apps