마지막 갱신 2026-07-26 · Chrome 확장 “Everyric - Synced Lyrics”
아래 내용은 확장 소스 코드를 직접 읽고 확인한 사실만 담았습니다. 확인하지 못한 것은 “확인하지 못했다”고 그대로 적었습니다.
Everyric은 YouTube/YouTube Music에서 재생 중인 곡의 시간 동기화 가사(발음 표기·번역 포함)를 찾아 화면에 보여줍니다. 그 기능을 위해 곡 정보와 가사 텍스트를 서버 및 공개 가사 데이터베이스에 전송합니다. 무엇을 어디로 왜 보내는지 전부 아래에 나열했습니다.
https://everyric.moref.co, 설정에서 변경 가능)| 보내는 것 | 왜 |
|---|---|
| YouTube 영상 ID | 어떤 영상의 싱크 가사를 조회·생성할지 지정 |
| 곡 제목·아티스트명 (각 최대 256자·128자로 자름) | 서버가 곡을 식별하고 같은 곡의 기존 싱크를 찾는 데 사용 |
| 가사 텍스트 전문 (자동으로 찾은 것 또는 이용자가 붙여넣은 것) | 음성 정렬로 시간 동기화를 생성할 때 필요. 이 확장의 핵심 기능이 가사와 오디오를 맞추는 것이므로 가사 본문 없이는 동작할 수 없습니다 |
| 발음 표기·번역 메타데이터 | 가사 위키 등에서 가져온 사람이 쓴 발음·번역을 서버에 함께 저장해 다음 이용자가 재사용할 수 있게 |
| 번역할 텍스트와 목표 언어 | “가사 번역 표시”를 켰을 때만 |
API 키 (X-API-Key 헤더) | 이용자가 설정에 직접 입력했을 때만 서버 인증용으로 전송합니다. 입력하지 않으면 헤더 자체를 보내지 않습니다 |
서버 주소는 설정에서 이용자가 직접 구동하는 서버로 바꿀 수 있습니다(자체 호스팅). 바꾸면 위 데이터는 그 주소로 전송됩니다.
확장이 보내지는 않지만 서버가 보게 되는 것 — 접속 IP. 위 표는 확장이 담아 보내는 것이고, 그와 별개로 인터넷 요청에는 접속 IP가 따라옵니다 (이 확장뿐 아니라 모든 웹 요청이 그렇습니다). Everyric 서버는 남용을 막기 위해 그 IP로부터 되돌릴 수 없는 해시를 만들어 사용량 제한 단위로만 씁니다.
CDN 사업자를 거칩니다. 기본 서버 주소는 Cloudflare를 통해 연결되므로, 확장의 요청은 우리 서버에 닿기 전에 그 사업자를 지나갑니다. 그 과정에서 사업자가 접속 IP를 보게 되며 자체 로그를 남길 수 있습니다 — 우리가 통제하지 않는 영역이고, 그쪽 처리 방침은 Cloudflare의 정책을 따릅니다. 자체 호스팅 서버로 바꾸면 이 경로를 거치지 않습니다.
이 처리 때문에 확장이 새로 보내는 데이터는 없습니다 — 이용자를 구분하기 위해 확장이 식별자를 만들어 심는 방식(설치 ID·기기 지문 등)을 쓰지 않기로 한 결과입니다.
lrclib.net) — 공개 가사 데이터베이스| 보내는 것 | 왜 |
|---|---|
| 곡 제목, 아티스트명, 재생시간, 직접 입력한 검색어 | 이미 존재하는 시간 동기화 가사를 찾기 위해 |
vocaro.wikidot.com)이용자 데이터를 담아 보내지 않습니다. 위키 페이지를 읽어오는 GET 요청만 보내며, 요청에 실리는 것은 확장이 스스로 계산한 페이지 경로뿐입니다.
확장이 이 페이지들로 별도 데이터를 보내지 않습니다. 페이지에서 현재 재생 중인 곡의 제목·아티스트·영상 ID를 읽기만 합니다(위 서버 요청에 쓰기 위해). YouTube 자체가 페이지 방문으로 수집하는 정보는 이 확장과 무관하며 Google의 정책 영역입니다.
아래는 코드에서 해당 경로가 없음을 확인한 것입니다.
가사 패널의 설정(⚙)에서 직접 켜고 끌 수 있습니다.
그리고 서버에 저장된 자기 데이터를 직접 삭제할 수 있습니다 — 검색 화면의 “이 영상 싱크 초기화(서버 저장 삭제)”를 누르면 그 영상의 정렬·발음·번역 저장본이 서버에서 삭제됩니다.
아래는 이용자의 브라우저 안에만 저장되며 그 자체로는 외부로 전송되지 않습니다 (2번 항목의 값들이 요청 시점에 서버로 나가는 것과는 별개입니다).
| 항목 | 내용과 용도 |
|---|---|
| 설정 | 4번의 모든 설정값(서버 주소, API 키 포함). 확장을 다시 열어도 유지되도록 |
| 패널 위치·크기 | youtube.com과 music.youtube.com 각각 기억 |
| 진행 중 작업 | 싱크 생성이 진행 중인 영상과 작업 번호. 여러 탭에서 진행률을 보기 위해 |
| 위키 연결·목록 캐시 | 영상과 가사 위키 페이지의 연결, 위키 목록 페이지 캐시(24시간) |
API 키를 포함한 설정값은 암호화되지 않은 평문으로 저장됩니다. 브라우저 확장 저장소의 일반적인 동작이며 이 확장만의 특이사항은 아닙니다.
가사의 저작권은 원저작자 및 관련 권리자에게 있습니다. Everyric은 가사에 대한 어떠한 권리도 주장하지 않으며, 소유하거나 독점하지 않습니다. 이 서비스가 하는 일은 이용자가 보고 있는 곡의 가사를 오디오와 맞추어 표시 시각을 계산하는 것입니다.
이 확장의 소스 코드는 공개되어 있으며, 문의·삭제 요청·저작권 관련 연락은 perion5679@naver.com으로 받습니다.
Last updated 2026-07-26 · Chrome extension “Everyric - Synced Lyrics”
Everything below was verified by reading the extension's source code directly. Anything that could not be verified is stated as such.
Everyric shows time-synced lyrics (with pronunciation and translation) for the song currently playing on YouTube/YouTube Music. To do that it sends song information and lyrics text to a backend server and to public lyrics databases. Everything sent is listed below.
https://everyric.moref.co, changeable in settings)| Sent | Why |
|---|---|
| YouTube video ID | Identifies which video's synced lyrics to fetch or generate |
| Song title / artist (truncated to 256 / 128 chars) | Lets the server identify the song and find an existing sync for it |
| Full lyrics text (auto-found or pasted by the user) | Required to generate the time-sync by audio alignment. The core function of this extension is matching lyrics to audio, so it cannot work without the lyrics body |
| Pronunciation / translation metadata | Stores human-written pronunciation and translation (e.g. from a lyrics wiki) alongside the sync so the next user can reuse it |
| Text to translate and target language | Only when “show translation” is enabled |
API key (X-API-Key header) | Sent only if the user entered one in settings. Otherwise no such header is sent at all |
The server address can be pointed at a server the user runs themselves (self-hosting). If changed, the data above goes to that address instead.
Not sent by the extension, but visible to the server — the connecting IP. The table above lists what the extension puts into its requests. Separately from that, every internet request carries the connecting IP (true of all web requests, not just this extension). To prevent abuse, the Everyric server derives a non-reversible hash from that IP and uses it solely as a rate-limiting key.
Requests pass through a CDN provider. The default server address is served via Cloudflare, so requests traverse that provider before reaching our server. In doing so the provider sees the connecting IP and may keep its own logs — that is outside our control and governed by Cloudflare's own policies. Pointing the extension at a self-hosted server avoids this path entirely.
Because of this design the extension sends no additional data — a deliberate choice not to mint an identifier (install ID, device fingerprint) to tell users apart.
lrclib.net) — public lyrics database| Sent | Why |
|---|---|
| Track name, artist name, duration, user-typed search query | Looking up an existing time-synced lyrics entry |
vocaro.wikidot.com)No user data is sent. Only GET requests to fetch wiki pages; the only thing in the request is a page path the extension computes itself.
The extension sends no separate data to these pages. It only reads the currently playing song's title, artist and video ID from the page (to use in the server requests above). What YouTube itself collects from a page visit is unrelated to this extension and is covered by Google's policies.
Each item below was verified as having no such code path.
All of the following can be toggled in the lyrics panel settings (⚙).
Users can also delete their own stored data on the server — the search screen's “reset this video's sync (delete server copy)” action deletes that video's stored alignment, pronunciation and translation from the server.
These stay in the browser and are not transmitted by themselves (separate from the values in section 2, which are sent to a server at request time).
| Item | Content and purpose |
|---|---|
| Settings | Everything from section 4, including server address and API key. Persisted across sessions |
| Panel position / size | Remembered separately for youtube.com and music.youtube.com |
| In-progress jobs | Which videos have a sync being generated, to show progress across tabs |
| Wiki link and index cache | Which wiki page is linked to a video; cached wiki index pages (24h) |
Settings — including the API key, if set — are stored in plain text, since browser extension storage does not encrypt data. This is standard behaviour, not specific to this extension.
Copyright in the lyrics belongs to the original authors and rights holders. Everyric claims no rights in any lyrics and neither owns nor licenses them. What this service does is compute display timings by matching the lyrics of the song you are listening to against its audio.
The source code for this extension is public. For questions, deletion requests, or copyright matters, please contact perion5679@naver.com.