- macOS 사용자: 맥에서 생성하는 한글 파일명은 NFD (자소 분리, 예:
ᄀ+ᅡ) 형태로 저장됩니다. 이 파일을 그대로 윈도우나 리눅스로 전송하면 한글 파일명이 보기 흉하게 찢어지고 깨지는 문제가 발생합니다.stick을 실시간 백그라운드 감시 데몬으로 실행하면, 파일 생성 시 자동으로 NFC (자소 결합, 예:가) 형태로 즉각 자동 변환해 줍니다! - Windows / Linux 사용자: 맥 사용자가 보낸 파일이 이미 한글 자모가 분리되어 깨진 채로 도착했나요? 관리자 권한 없이
stick을 사용해 클릭 혹은 터치 한 번으로 지정된 폴더 안의 **깨진 한글 파일명들을 완벽하게 일괄 복구(치료)**할 수 있습니다!
- 🔍 하이브리드 감시: 실시간 디스크 이벤트 감지(
notify)와 주기적 스캔을 조화롭게 병행하여 단 하나의 파일명 꼬임도 허용하지 않습니다. - ⚙️ 백그라운드 데몬 (macOS / Linux): macOS(
launchd/LaunchAgent) 및 Linux(systemduser unit)의 네이티브 서비스 매니저를 통해 부팅 시 백그라운드에서 부드럽게 자동 실행됩니다. - 🖥️ 한글 TUI 설정: 직관적이고 고품격인 터미널 UI(
ratatui)로 감시 폴더, 무시 규칙, 상세 동작 모드를 간편하게 통제합니다. (Windows PowerShell/CMD 에서도 100% 한글 네이티브 구동!)- 최근 활동(Recent Activity) 모니터링: TUI 메인 화면에서 최근 발생한 변환 이력을 한눈에 확인하여 데몬의 동작 상태를 즉각적으로 파악할 수 있습니다.
- 실시간 폴더 검색 (Search Looping): 폴더 탐색기 안에서
/키를 눌러 폴더명을 타이핑하면 매칭된 폴더 사이를위(↑) / 아래(↓)방향키로 무한 순환(Looping) 브라우징합니다.
- 🔔 macOS 네이티브 배너 알림 (
enable_notifications): 한글 파일명 NFC 정규화가 완료되는 순간 맥 데스크톱 시스템 배너 알림을 즉시 띄워줍니다. (기본값: 사용 안 함) - ⏱️ 정밀 디바운스 대기시간 조절 (
debounce_delay_seconds): 파일 생성/쓰기가 진행 중인 도중 변환이 겹치는 부작용을 막기 위해 지정된 시간(기본값:2초) 동안 대기 후 변환을 집행하는 똑똑한 완충 알고리즘을 사용합니다. - 🍏 TUI 통합 서비스 토글 (
auto_start): 일반 설정에서 엔터 한 번으로 맥 시스템 부팅 시 자동 시작 등록/해제를 끄고 켤 수 있습니다. (기본값: 사용함) - 🛡️ 안전한 구조적 변환 (Safe Rename): OS별 파일시스템 특성을 고려하여 파일 경로 정규화 안정성(canonicalize)을 보장하며, 대상 이름의 파일이 이미 존재하는 파일 충돌 상황 시 덮어쓰지 않고
_conflict꼬리표를 달아 원본 데이터 유실을 완벽히 방지합니다. 변환 시 반드시 하위(Leaf)부터 상위(Root) 순서로 정밀 변환합니다.
bash <(curl -sL https://raw.githubusercontent.com/parkjangwon/stick/master/install.sh)완전 삭제가 필요하신가요?
bash <(curl -sL https://raw.githubusercontent.com/parkjangwon/stick/master/install.sh) --remove
Rust가 설치되어 있다면 한 줄로 즉시 빌드 및 전역 설치가 가능합니다.
cargo install --git https://github.com/parkjangwon/stick.git- Windows 사용자: 빌드된
stick.exe파일 하나를 편한 폴더에 두거나 환경 변수(Path)에 등록해 두면 어디서나 바로 사용할 수 있습니다. 관리자 권한은 전혀 필요하지 않으며, 자신의 일반 다운로드/바탕화면 등의 폴더에서 바로 사용이 가능합니다. - Linux 사용자: 빌드가 끝난
stick바이너리를 경로 상에 두고 사용할 수 있습니다.systemd를 활용한 백그라운드 서비스 시작(stick start) 역시 100% 지원됩니다.
stick은 터미널 서브커맨드와 대화형 설정 메뉴(TUI)를 완벽히 지원합니다.
감시할 폴더를 등록하거나 여러 프리미엄 설정을 제어합니다.
stick tui터미널 창에서 방향키와
Enter를 사용해 감시 폴더를 지정합니다.q또는Esc를 입력하면 모든 설정이 안전하게 자동 저장됩니다.
원할 때 수동으로 특정 감시 영역 전체를 일제 검사하고 정규화합니다.
# 실제 파일명 변경 없이 어떤 파일들이 변환 대상인지 미리보기 확인
stick scan --dry-run
# 대화형 확인 프롬프트를 건너뛰고 즉각 변환 실행
stick scan --yes실시간 파일 감시 데몬을 백그라운드에서 직접 구동하거나 관리합니다.
# 실시간 감시 데몬 서비스 등록 및 즉시 시작 (launchd)
stick start
# 현재 구동 중인 데몬의 CPU, 메모리 상태 및 실행 정보 확인
stick status
# 데몬 서비스 중지 및 LaunchAgent에서 제거
stick stop# 현재 설치된 stick의 버전 출력 (예: stick v0.2.2)
stick version모든 설정 정보는 ~/.config/stick/config.json에 안전하게 보관됩니다.
.으로 시작하는 숨김 파일 및 디렉토리 (예:.git,.DS_Store)- 심볼릭 링크
~로 끝나는 다양한 확장자의 임시 작업 파일- 사용자가 TUI "제외 설정"에서 지정한 예외 디렉토리 및 특정 확장자 패턴
실시간 백그라운드 변환 로그는 ~/logs/stick/ 폴더 하위에 일자별로 자동 로테이션되어 보관됩니다. (예: stick_YYYY-MM-DD.log) 로그 레벨(info, debug) 또한 TUI 로그 설정에서 간편히 조절하실 수 있습니다.
Built with ❤️ by parkjangwon
