Windows와 macOS의 지원 브라우저에서 화면 꺼짐과 잠금을 방지하는 작은 정적 웹앱이다.
브라우저에서 화면이 잠들지 않게.
A small static web app that keeps a PC or Mac screen awake in the browser, with an optional timer. Korean and English UI.
배포 주소: https://wakeup.subproject.kr/
- 페이지 로드 직후 무제한 절전 방지 자동 요청
- 무제한, 빠른 시간 선택 및 시간·분 직접 입력 타이머
- 절전 방지가 실제 활성화된 누적 시간, 남은 시간과 예상 종료 시각 표시
- 타이머 종료 시 짧은 알림음 (크기 조절·미리 듣기)
- 페이지가 보이는 동안 예기치 않게 잠금이 풀린 횟수를
중단으로 표시 - Space 키 단축키, 타이머 진행 상황·언어가 이어지는 별도 작은 창 열기
- 전체 화면에 큰 시계와 남은 시간을 보여주는
큰 화면으로 보기(앰비언트) 모드 - 열린 FAQ 섹션과 검색 엔진용 구조화 데이터
- 한국어와 영어 지원 (
?lang=ko,?lang=en) - 최초 방문 후 오프라인 실행 및 PWA 설치 지원
- 쿠키, 사용자 설정 저장, 분석 코드 및 외부 런타임 의존성 없음
- 가짜 마우스 입력이나 무음 영상 같은 우회 기법 없이 표준 Screen Wake Lock만 사용
Wake Lock과 Service Worker는 보안 컨텍스트가 필요하므로 파일을 직접 열지 말고 localhost로 실행한다.
python3 -m http.server 8000그다음 http://localhost:8000을 연다. localhost는 브라우저에서 개발용 보안 컨텍스트로 취급된다.
index.html: 단일 화면의 의미 구조styles.css: 레이아웃과 상태 스타일app.js: Wake Lock, 타이머 및 번역sw.js: 앱 셸 오프라인 캐시manifest.webmanifest: 설치형 웹앱 정보favicon.svg,icons/: 파비콘과 PWA 아이콘_headers: Cloudflare Pages 보안 및 캐시 응답 헤더_redirects: 존재하지 않는 경로의 404 응답 규칙robots.txt,sitemap.xml: 크롤러 허용과 사이트맵 (ko/en 대체 링크 포함).gitattributes,.editorconfig,.gitignore: 운영체제와 무관한 편집·형식 규칙.github/workflows/checks.yml: 푸시·PR마다 도는 정적 검사 (문법·manifest JSON·공백)LICENSE: MIT 라이선스PLANNING.md: 제품 범위와 완료 기준AGENTS.md: 이후 작업자가 따라야 할 프로젝트 규칙CLAUDE.md: Claude Code로 작업할 때의 실무 메모
빌드 과정 없이 저장소의 정적 파일을 그대로 Cloudflare Pages에 배포한다. _headers의 보안 정책과 _redirects의 404 규칙이 함께 적용된다. 현재 wakeup.subproject.kr에 연결되어 있다.
Screen Wake Lock은 페이지가 보이는 상태에서만 보장된다. 다른 탭으로 전환하거나 창을 최소화하면 해제될 수 있고, 운영체제의 전원 정책에 따라 요청이 거부될 수도 있다.
MIT © yimsemin