Tom You 083505c952
Auto Bump and Publish / bump-and-publish (push) Failing after 8m24s
CI / lint-and-test (20) (push) Successful in 1m1s
CI / lint-and-test (22) (push) Successful in 1m3s
init
2026-06-11 15:16:51 +09:00
2026-06-11 15:16:51 +09:00
2026-06-11 15:16:51 +09:00
2026-06-11 15:16:51 +09:00
2026-06-11 15:16:51 +09:00
2026-06-11 15:16:51 +09:00
2026-06-11 15:16:51 +09:00
2026-06-11 15:16:51 +09:00
2026-06-11 15:16:51 +09:00
2026-06-11 15:16:51 +09:00
2026-06-11 15:16:51 +09:00
2026-06-11 15:16:51 +09:00
2026-06-11 15:16:51 +09:00
2026-06-11 15:16:51 +09:00
2026-06-11 15:16:51 +09:00
2026-06-11 15:16:51 +09:00
2026-06-11 15:16:51 +09:00
2026-06-11 15:16:51 +09:00
2026-06-11 15:16:51 +09:00

🐌 damn-my-slow-skt

SKT/SK브로드밴드 인터넷 SLA 속도 미달을 자동으로 측정하고 감면 신청을 돕는 CLI 도구.

이게 뭔데

SK브로드밴드 유선 인터넷은 공식 Myspeed 사이트에서 인터넷 SLA 속도측정을 제공한다. 이 도구는 그 흐름을 Playwright로 실행하고, 결과를 로컬 DB에 남기며, SLA 미달 시 감면 처리까지 이어가도록 설계된 자동화 CLI다.

현재 SK브로드밴드 Myspeed는 B world/T아이디/간편인증 기반 로그인 화면을 사용한다. 이전 provider의 셀렉터는 제거했고, SK브로드밴드 공식 진입점과 용어로 전환했다. 실제 감면 제출 셀렉터는 live 계정으로 검증해야 한다.

시작하기

1. Node.js 설치

Node.js 20 이상이 필요합니다.

node -v
npm -v
npx -v

2. 초기 설정

npx -y damn-my-slow-skt@latest init

설정 파일은 ~/.damn-my-slow-isp/config-skt.yaml에 저장됩니다. 비밀번호는 로컬 YAML 파일에만 저장됩니다.

초기 설정 중 SKT/SK브로드밴드 공식 이용약관 URL이 표시되며, 명시적으로 동의해야 설정 파일이 저장됩니다. 동의하지 않으면 init은 설정 파일을 만들지 않고 종료합니다.

3. 로그인 세션 저장

SK브로드밴드 Myspeed는 B world/T아이디/간편인증 로그인이 필요합니다. 최초 1회는 브라우저를 열어 직접 인증하고, 세션을 로컬 파일로 저장합니다.

npx -y damn-my-slow-skt@latest auth login

저장 위치는 설정 파일의 auth_state_path이며 기본값은 ~/.damn-my-slow-isp/auth-skt.json입니다. 세션이 만료되면 같은 명령을 다시 실행하세요.

npx -y damn-my-slow-skt@latest auth status
npx -y damn-my-slow-skt@latest auth clear

4. 실행

npx -y damn-my-slow-skt@latest run
  • --dry-run: 측정만 하고 감면 신청은 생략
  • --force: 오늘 이미 완료했어도 강제로 다시 실행
  • --debug: 브라우저 창을 띄워 진행 과정을 직접 확인

SKT/SK브로드밴드 SLA 기준

공식 확인 출처:

Myspeed SLA 안내 페이지에서 확인한 기준:

  • 판정: 30분간 5회 이상 측정하여 측정치의 60% 이상이 최저속도(다운로드 속도)에 미달하면 당일 이용요금 감면
  • 대상: PC 1대를 이용한 측정. 무선랜, 공유환경, 상품 제공속도보다 낮은 LAN카드 이용 및 설정 변경 등은 제외될 수 있음
  • 측정 사이트: SK브로드밴드 Myspeed 인터넷 SLA 속도측정 메뉴
  • 후속 조치: 최저속도 미달 시 품질 점검 및 더 나은 서비스 제공을 위해 TM 및 방문 점검을 실시할 수 있음

설정 바꾸기

~/.damn-my-slow-isp/config-skt.yaml 파일을 직접 편집합니다.

terms:
  provider: "skt"
  accepted: true
  accepted_at: "2026-03-30T00:00:00.000Z"
  version: "2026-03-30"
  urls:
    - "https://www.bworld.co.kr/footer/terms.do?menu_id=F01010000"
    - "https://cdn.bworld.co.kr/home/fronta/data/download/stip/제31차%20전기통신서비스이용기본약관_260330.pdf"

schedule:
  max_attempts: 10
  retry_interval_minutes: 120

notification:
  discord_webhook: ""
  telegram_bot_token: ""

auth_state_path: "~/.damn-my-slow-isp/auth-skt.json"

run 명령은 terms.accepted: true, 현재 약관 version, 그리고 유효한 accepted_at이 없으면 실행하지 않습니다. 기존 설정은 대화형 run 또는 init --force에서 약관 동의를 기록하도록 마이그레이션됩니다.

설정 변경 후 스케줄 재등록:

npx -y damn-my-slow-skt@latest schedule install

요구사항

  • Node.js 20+
  • SKT/B world 계정 또는 SK브로드밴드 회선 인증 수단
  • SKT/SK브로드밴드 공식 이용약관 동의
  • 최초 1회 auth login으로 저장한 로그인 세션
  • 유선(LAN) 연결 권장
  • Playwright Chromium

개발

npm install
npx playwright install chromium
npm run typecheck
npm run lint
npm run build
npm test
Component Technology
Language TypeScript (ES2020, CommonJS, strict)
CLI Commander + Inquirer + Chalk v4
Browser Playwright Chromium
Storage node:sqlite / JSON fallback
Config YAML — ~/.damn-my-slow-isp/config-skt.yaml
S
Description
SKT/SK브로드밴드 인터넷 SLA 속도 미달 시 요금 감면을 자동화하는 CLI 도구
Readme 154 KiB
Languages
TypeScript 99.1%
JavaScript 0.9%