Skip to content

About

Chrome extension for selector-based autofill and URL-specific keyboard remapping.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Remap Key & Advanced AutoFill

페이지별 자동입력, 키 리맵, 본인인증 정보 채우기를 하나로 합친 Chrome Extension입니다.

이 버전은 기존의 텍스트 유사도 추정 기반 자동입력 실험을 그대로 늘리는 대신, 더 안정적인 구조로 다시 잡았습니다.

  • 자동입력: 페이지에서 실제 입력칸이나 드롭다운을 직접 집어서 selector 기반으로 저장
  • 본인인증 정보 채우기: 저장한 정보를 이용해 휴대폰 본인인증 창의 입력란을 채우고 통신사와 SMS/PASS 방식을 선택
  • 키 리맵: URL 패턴별로 원래 키 -> 바꿀 키 규칙 저장
  • 기본 예시: Gmail에서 Delete -> Shift+3

현재 안정 버전과 배포 상태

  • 안정 소스 브랜치: main
  • 확장 버전: 1.2.1
  • 설치 방식: 이 저장소의 main 브랜치를 내려받아 Chrome/Chromium에서 압축해제 확장으로 로드
  • Chrome Web Store: 제출하지 않음(사용자가 다시 요청하기 전까지 보류)
  • GitHub Release: 아직 발행하지 않음
  • Gmail 열람 신호 서비스: 공개 HTTPS Worker가 배포되어 있으며, Gmail에서 보낸 테스트 메일을 다른 메일 서비스에서 한 번 열어 신호 1회가 집계되는 흐름까지 검증

2026-08-18 기준 자동 검증은 JavaScript 문법 검사와 테스트 18개를 통과했습니다. Gmail 키 리맵과 Gmail 열람 신호는 실제 브라우저·수신자 흐름으로 확인했습니다. 본인인증 입력은 지원업체 분류·입력·금지 필드 제외를 자동 테스트했지만, 1.2.1에서 보완한 암호화 내보내기/복사 UI는 실제 Comet 화면에서 최종 재확인되지 않았습니다. 이 미검증 항목 때문에 현재 GitHub Release는 만들지 않습니다.

본인인증 정보 자동 채우기

옵션 화면에서 이름, 휴대폰 번호, 생년월일, 통신사, 성별, 내·외국인 여부, 선호 인증방식을 본인인증 정보로 저장할 수 있습니다. 현재 첫 지원 범위는 다음 인증업체입니다.

  • NICE CheckPlus
  • SCI Siren24
  • KCB OK-Name
  • DreamSecurity Mobile-OK

휴대폰 본인인증 창에서는 현재 단계를 인식해 빈 입력란을 채우고, 통신사와 SMS/PASS 방식을 선택합니다. 약관 동의, 유료·마케팅 선택, 인증번호 요청·입력, CAPTCHA, 최종 확인은 자동화하지 않습니다.

본인인증 정보는 최대 20개까지 저장할 수 있습니다. 저장된 정보 중 자동 입력에 사용으로 선택한 한 개만 휴대폰 본인인증 창이 열릴 때 자동으로 입력됩니다. 확장 메뉴의 현재 인증창에 다시 채우기는 입력이 누락됐을 때 다시 시도하는 용도입니다.

본인인증 정보는 chrome.storage.local에 별도로 저장되며 기존 자동입력/키 리맵 JSON과 Gmail 열람 신호 서버에 포함되지 않습니다. 다른 기기로 옮길 때는 옵션 화면에서 8자 이상의 비밀번호로 AES-GCM 암호화 내보내기를 사용합니다.

Gmail 열람 신호

Gmail 작성창에서 메일별로 열람 신호를 켤 수 있습니다. 기능을 켠 메일에는 고유한 1×1 원격 이미지가 하나 삽입되며, 메일 앱이 그 이미지를 요청하면 최초 신호 시각, 최근 신호 시각, 이미지 요청 횟수를 집계합니다.

  1. Gmail 작성창에서 해당 메일의 열람 신호 버튼을 켭니다.
  2. 첫 클릭은 기본 Cloudflare HTTPS 서비스를 활성화하고 해당 메일의 익명 추적 토큰을 등록합니다.
  3. 메일을 보낸 뒤 옵션 화면의 최근 추적 메일에서 상태를 조회합니다.

열람 신호는 확정적인 읽음 확인이 아닙니다. 수신자의 이미지 차단, 이미지 프록시, 보안 검사, 전달, 발신자 미리보기 때문에 신호가 누락되거나 실제 사람의 읽기보다 많이 집계될 수 있습니다. 공개 수신자에게서 신호를 받으려면 인터넷에서 접근 가능한 HTTPS 서비스가 필요합니다. tracking-service/start-local.mjs는 개발 검증 전용이며 외부 수신자가 접근할 수 없습니다.

현재 기본 서비스 주소는 https://keyremap-gmail-open-signal.phantom-cinnamon-008.workers.dev입니다. 설치만으로는 데이터를 전송하지 않으며, 사용자가 개별 메일의 열람 신호 버튼을 눌렀을 때만 기능을 활성화하고 해당 메일의 토큰을 등록합니다. 옵션 화면에서는 기능을 다시 끄거나 서비스 주소를 바꿀 수 있습니다.

왜 하나로 합쳤는가

두 기능 모두 본질적으로 같은 데이터 구조를 씁니다.

  • 어떤 URL에서 동작할지
  • 어떤 사용자 액션을 잡을지
  • 어떤 동작으로 바꿀지

그래서 확장을 둘로 나누기보다, 하나의 팝업과 하나의 옵션 페이지 아래에서 관리하는 편이 더 단순하고 유지보수도 쉽습니다.

주요 기능

1. 정확한 필드 선택 자동입력

  1. 팝업에서 필드 선택 시작을 누르거나 Ctrl+Shift+Y를 누릅니다.
  2. 현재 웹페이지에서 원하는 입력 필드를 마우스로 클릭합니다.
  3. 선택된 필드의 selector가 확장에 임시 저장됩니다.
  4. 팝업 또는 옵션 페이지에서 그 필드에 넣을 값을 입력하고 규칙으로 저장합니다.
  5. 저장된 규칙은 버튼으로 즉시 적용하거나, 옵션에 따라 페이지 로드 시 자동 적용됩니다.

지원 대상은 텍스트 계열 input, textarea, 그리고 select 드롭다운입니다.

2. URL 조건별 키 리맵

  • URL 패턴
  • 원래 키
  • 바꿀 키

이 세 가지를 규칙으로 저장합니다.

예시:

  • URL: *://mail.google.com/*
  • From: Delete
  • To: Shift+3

파일 구조

  • manifest.json: MV3 설정, 팝업, 옵션 페이지, 백그라운드 워커, 단축키 등록
  • background.js: 필드 선택 시작, 선택 결과 draft 저장
  • content.js: 필드 picker, selector 생성, 자동입력 적용, 키 리맵 실행
  • identity-profile.js: 본인인증 프로필 검증, 정규화, 마스킹
  • identity-transfer.js: 비밀번호 기반 암호화 프로필 이동
  • identity-adapters.js, identity-autofill.js: 지원 인증업체 감지와 단계별 안전한 입력
  • popup.html, popup.js, popup.css: 빠른 실행 UI
  • options.html, options.js, options.css: 전체 규칙 관리 UI

기기 간 설정 이동

브라우저 자체 동기화를 쓰지 않는 경우에도, 옵션 페이지에서 설정 JSON을 내보내고 다른 기기에서 가져올 수 있습니다.

  • 내보내기: 현재 자동입력/키 리맵 규칙을 JSON으로 생성
  • 가져오기: 다른 기기에서 내보낸 JSON을 붙여넣어 현재 기기 설정을 교체

본인인증 정보는 이 일반 설정 JSON에서 의도적으로 제외됩니다. 이동할 때는 별도의 암호화 내보내기/가져오기 영역을 사용합니다.

설치 방법

  1. GitHub의 main 브랜치를 ZIP으로 내려받아 압축을 풀거나 저장소를 clone합니다.
  2. Chrome 또는 Chromium 계열 브라우저에서 chrome://extensions를 엽니다.
  3. 우측 상단 개발자 모드를 켭니다.
  4. 압축해제된 확장 프로그램을 로드를 누릅니다.
  5. manifest.json이 들어 있는 이 저장소 폴더를 선택합니다.

공개 Release 자산이나 Chrome Web Store 설치본은 아직 제공하지 않습니다. 로컬 배포 ZIP이 필요하면 pnpm run release:build를 실행하며 결과는 dist/Remap-Key-Advanced-AutoFill-1.2.1.zip에 생성됩니다.

현재 한계

  • 키 리맵은 웹앱이 synthetic keyboard event를 무시하면 100% 보장되지는 않습니다.
  • Gmail용 Delete -> Shift+3는 best-effort 방식입니다.
  • Gmail 열람 신호는 원격 이미지 요청을 집계하므로 실제 사람의 읽음 여부나 정확한 읽은 횟수를 보장하지 않습니다.
  • selector 기반이라 사이트 DOM이 크게 바뀌면 저장된 규칙을 다시 선택해야 할 수 있습니다.
  • iframe, Shadow DOM, 커스텀 입력 위젯은 추가 대응이 필요할 수 있습니다.
  • 인증업체 화면이 변경되면 해당 업체 어댑터 업데이트가 필요할 수 있습니다.
  • 저장된 본인인증 정보는 기기 로컬 Chrome 저장소에 보관되며, 평상시 저장 자체에 별도 확장 비밀번호를 요구하지 않습니다. 기기와 Chrome 사용자 프로필 보안을 함께 유지해야 합니다.

추천 사용 흐름

  1. 대상 페이지를 엽니다.
  2. 팝업에서 필드 선택 시작
  3. 원하는 입력칸 클릭
  4. 팝업이나 옵션 페이지에서 값 저장
  5. 필요하면 같은 URL 패턴에 키 리맵도 추가

About

Chrome extension for selector-based autofill and URL-specific keyboard remapping.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages