Skip to content

TabBouncer v1.1.0

Choose a tag to compare

@jacking75 jacking75 released this 13 Sep 17:10

추가

  • 트레이 아이콘을 추가했다. 최소화나 닫기(X)를 누르면 트레이로 숨고, 트레이 메뉴에서 감시·관측 모드·Chrome 열기·로그 폴더 열기·종료를 할 수 있다. 트레이로 숨기지 않고 바로 끝낼 수 있게 창에도 완전 종료 버튼을 두었다.
  • 광고 탭을 닫거나 이동을 되돌리면 Windows 알림을 띄운다. 3초 안의 여러 건은 한 번에 알린다.
  • 완전히 종료할 때 전용 Chrome도 닫을지 묻는다. "다음부터 묻지 않기"를 고를 수 있다.
  • 최근 목록에 종류 열과 상세 패널을 추가했다. 판정 사유를 사람이 읽는 문구로 보여 주고, 항목별 점수 내역을 표시한다.
  • 최근 목록에서 같은 사이트(호스트)의 같은 종류 항목이 반복되면 새 행을 만들지 않고 횟수 열을 올린다. 상세 패널에 반복 횟수와 처음 시각을 보여 준다. 이전 실행 기록을 복원할 때도 같은 기준으로 묶는다.
  • 설정 창 사이트 목록 탭의 입력칸을 목록 위의 파란 테두리 영역으로 옮겨 눈에 띄게 했다. 탭을 열면 입력칸에 바로 커서가 가고, 등록된 항목 수를 보여 준다.
  • 기준에 조금 못 미쳐 유지한 탭과 관측 모드에서 닫았을 탭도 목록에 보여 준다. 목록에서 광고 도메인으로 등록, 감시 사이트로 등록을 할 수 있다.
  • 이전 실행의 최근 기록 20개를 목록에 복원하고, 누적 차단 수를 보여 준다.
  • 구조화된 설정 창을 추가했다. 일반, 사이트 목록, 고급(JSON) 탭으로 편집하고, 값을 검사한 뒤 저장한다. 기본값으로 복원할 수 있다.
  • 메인 창에서 주소를 입력해 전용 Chrome에 바로 열 수 있다.
  • 즐겨찾기 사이트를 안내 페이지에 바로가기로 보여 주고, 바탕화면 바로가기를 만들 수 있다.
  • 안내 페이지에서 감시 일시중지와 관측 모드를 바꿀 수 있고, 이번 실행의 차단 수를 보여 준다.
  • 실행 즉시 감시를 시작하는 옵션과 Windows 로그인 시 자동 실행 옵션을 추가했다.
  • 영어 화면을 추가했다. 화면 문구와 활동 로그 문구는 실행 파일 옆 languages.json 한 파일에 언어별로 들어 있고, 한국어가 기본 언어다. 설정의 화면 언어에서 이 파일에 등록된 언어를 고르거나 Windows 표시 언어를 따르게 할 수 있다. 파일에 언어를 더하면 목록에 나타난다.
  • Chrome이 없으면 Microsoft Edge, Brave, Chromium을 찾아 쓴다.
  • 창 위치·크기를 기억하고, 키보드 단축키(Ctrl+M, Ctrl+D, Ctrl+O, Ctrl+L, Ctrl+Z, Ctrl+,, Ctrl+Q)를 추가했다.
  • 활동 영역에 로그 폴더 열기와 진단 정보 복사를 추가했다. 창 머리글에 버전을 표시한다.
  • 새 설정 키: startMonitoringOnLaunch, minimizeToTray, closeToTray, notifyOnBlock, closeChromeOnExit, language, useBuiltinAdDomains, removedAdDomains, favoriteSites.
  • 새 명령줄 인수: --minimized. --url=은 이미 실행 중인 인스턴스에 주소를 넘긴다.
  • 문서: 설정 레퍼런스, 명령줄 인수, 문제 해결, 자주 묻는 질문, 판정 방식 상세, 로그 읽는 법, 영어 README, 기여 안내, 이슈 템플릿, 데모 페이지.

변경

  • debugPort 기본값을 9222에서 0(자동)으로 바꿨다. 자동이면 전용 프로필의 DevToolsActivePort로 포트를 찾고, 전용 프로필 브라우저에만 연결한다. 기존 config.json에 9222가 적혀 있으면 그대로 9222를 쓴다.
  • adDomains에는 사용자가 추가한 도메인만 둔다. 내장 광고 목록은 항상 함께 적용되므로 새 버전의 목록이 기존 사용자에게도 반영된다. 이전 규칙: 1.0.0이 만든 config.json을 처음 읽을 때 adDomains에서 내장 목록과 같은 항목을 지우고 한 번 저장한다. 내장 도메인을 일부러 뺐다면 removedAdDomains에 다시 적어야 한다.
  • 선택한 항목이 있으면 다시 열기와 정상 사이트로 등록을 그 항목에 적용한다. 이전에는 선택과 관계없이 가장 최근 항목에 적용됐다.
  • 감시가 켜져 있는데 전용 Chrome이 닫혀 있으면 주황 배너와 창 제목으로 알린다. 감시를 시작할 때 Chrome이 닫혀 있으면 함께 연다.
  • 실행 파일 폴더에 쓸 수 없으면 설정을 %LOCALAPPDATA%\TabBouncer\config.json에 저장한다.
  • 같은 데이터 폴더로 두 번 실행하면 이미 실행 중인 창을 앞으로 가져온다.
  • 로그인·결제 흐름 예외를 주소 경로 구간으로만 판단한다. 알려진 광고 도메인에는 예외를 주지 않는다.
  • tabbouncer.log와 events.jsonl이 5MB를 넘으면 회전하고 이전 파일 두 개까지만 남긴다.
  • events.jsonl의 판정 이벤트에 breakdown(항목별 점수)을 추가하고, kept와 dry-run 이벤트를 새로 기록한다.
  • GUI에서 바꾼 관측 모드가 설정 파일 자동 재적용으로 풀리지 않는다.
  • 명령줄로 준 --port, --url, --strict, --no-preempt가 설정 파일을 다시 읽어도 유지된다.

보안

  • 클릭 추적 스크립트와 기록 통로를 격리 월드로 옮겼다. 페이지 스크립트가 "사용자가 링크를 눌렀다"는 기록을 꾸며 광고 탭을 보호받는 경로를 막았다.
  • 쿼리에 /login을 끼워 넣어 로그인 흐름 예외를 받는 경로를 막았다.