Focustop은 새 탭을 개인화된 집중 공간으로 바꾸고, 사용자가 정한 시간 동안 산만한 웹 활동을 줄이도록 돕는 오픈소스 Chrome 확장 프로그램입니다.
별도의 서버나 빌드 과정 없이 Manifest V3와 브라우저 기본 API만으로 동작합니다. 설정과 활동 기록은 사용자의 브라우저에 로컬로 저장됩니다.
- 15·30·60분 및 사용자 지정 집중 타이머
- 집중 중 현재 탭에 표시되는 타이머 오버레이
- 사이트 차단, 접속 의도 확인, YouTube·Google 검색 결과 필터
- 광고 영역 흐림 처리
- 즐겨찾기 그룹, 최근 닫은 탭, 탭 보관함
- 체크리스트와 집중 시간 통계
- 배경화면, 그라디언트, 스티커, 앨범 커스터마이징
- 목적별 작업환경 구성과 섹션 재배치
- PBKDF2 기반 로컬 비밀번호 잠금
- 한국어, 영어, 일본어, 중국어 간체·번체, 스페인어, 힌디어 UI
Focustop은 현재 별도의 빌드가 필요하지 않습니다.
- 이 저장소를 내려받거나 복제합니다.
- Chrome에서
chrome://extensions를 엽니다. - 오른쪽 위의 개발자 모드를 켭니다.
- 압축해제된 확장 프로그램을 로드합니다를 선택합니다.
- 이 저장소의 루트 폴더를 지정합니다.
- 새 탭을 열어 Focustop을 사용합니다.
코드를 변경한 뒤에는 chrome://extensions의 Focustop 카드에서 새로고침 버튼을 누르면 됩니다.
새 탭에서 원하는 집중 시간을 선택하고 시작 버튼을 누릅니다. 사이트 차단 목록, 화면 표시 방식, 배경과 작업환경은 오른쪽 아래 설정 메뉴에서 변경할 수 있습니다.
기본 단축키는 다음과 같습니다.
| 단축키 | 동작 |
|---|---|
Alt+Shift+H |
Focustop 홈 열기 |
Alt+Shift+T |
집중 타이머 시작 또는 중단 |
Alt+Shift+A |
현재 페이지를 바로가기로 추가 |
단축키는 chrome://extensions/shortcuts에서 변경할 수 있습니다.
| 권한 | 사용 목적 |
|---|---|
alarms |
집중 세션 종료 시점을 안정적으로 처리하고 알림 화면을 엽니다. |
storage, unlimitedStorage |
설정, 체크리스트, 통계, 배경과 스티커 데이터를 로컬에 저장합니다. |
tabs, activeTab, scripting |
집중 오버레이를 표시하고 바로가기·탭 보관 기능을 제공합니다. |
sessions, history, favicon |
최근 닫은 탭과 최근 방문 페이지 및 사이트 아이콘을 표시합니다. |
http://*/*, https://*/* |
사용자가 설정한 사이트 차단, 접속 의도 확인, 타이머 및 광고 흐림 UI를 웹페이지에 적용합니다. |
Focustop에는 분석 SDK나 광고 SDK가 없으며 사용자 데이터를 운영자 서버로 전송하지 않습니다. 자세한 내용은 PRIVACY.md를 확인하세요.
.
├── manifest.json # Chrome Extension Manifest V3
├── background/ # 서비스 워커, 타이머와 탭 제어
├── newtab/ # 새 탭 UI, 상태와 기능별 컨트롤러
├── content/ # 웹페이지 오버레이와 필터
├── alarm/ # 집중 종료 알림 화면
├── assets/ # 이미지, SVG, 폰트, 사운드
├── _locales/ # 확장 프로그램 메타데이터 번역
└── scripts/ # 저장소 검증 도구
새 탭 내부의 모듈 책임과 생명주기는 newtab/ARCHITECTURE.md에 정리되어 있습니다.
Node.js 18 이상에서 아래 명령으로 모든 JavaScript 문법과 UI 번역 키 구성을 검사할 수 있습니다.
npm test외부 npm 패키지는 설치하지 않습니다. npm test는 저장소에 포함된 검증 스크립트만 실행합니다.
- 직접 작성한 소스코드: MIT License
- 포함된 외부 폰트 및 고지: THIRD_PARTY_NOTICES.md
- 소프트웨어 자재명세서: docs/SBOM.md
기여하려면 이슈에서 변경 목적을 공유하고, 기능별 컨트롤러 책임과 기존 저장 형식의 하위 호환성을 지켜 주세요.
소스코드는 MIT License로 배포됩니다. 번들된 폰트는 각각 SIL Open Font License 1.1을 따릅니다. 자세한 저작권과 조건은 위의 제3자 고지 문서를 확인하세요.
