Show HN: macOS 로컬 네트워크 권한 팝업을 자동으로 닫는 dontallow
- dontallow는 macOS가 띄우는 '로컬 네트워크에서 기기를 찾도록 허용?' 대화상자를 접근성 권한으로 대신 눌러 닫는 Swift 도구이며 Homebrew formula로 배포됨.
- 설치하면 launchd 에이전트로 등록되고, 실제로 버튼이 눌린 것을 확인한 뒤에만 성공 알림을 띄움. v0.1.1에서 설치 경로를 argv[0] 대신 실제 실행 파일 경로로 고침.
- 알림 본문은 osascript 스크립트에 끼워 넣지 않고 argv로 전달하고, launchd plist는 PropertyListSerialization으로 만들어 경로에 &나 <가 들어가도 깨지지 않음.
- 순수 로직을 Core.swift로 분리해 단위 테스트 28개를 plain swiftc로 돌리고, Homebrew formula는 macOS 13을 최소 버전으로 잡음.
- 댓글에서는 대안으로 local-network 허용 주소 목록에 대역을 추가하는 방법(sudo defaults write com.apple.network.local-network AllowedWiFiLocalNetworkAddresses)이 나옴.
Hacker News 의견들
이거 진짜 OS에 들어갔어야 하는 기능인데, 애플 PM이 안 만들기로 결정한 거라서 없어진 거잖아. LLM한테는 딱 맞는 문제임.
그냥 어떤 키를 쓰느냐의 선택 문제였던 것 같은데, 의도한 결정이라기보다 예상 못 한 결과라고 봄.
macOS판 쿠키 배너임. 설정 메뉴 플래그 하나로 안 만든 게 이상함.
'Swift 파일 하나'래놓고 두 개임ㅋㅋ
원래 하나였는데 리팩터링한 걸 깜빡했음.
이런 작은 brew 패키지가 악성인지 어떻게 판단해야 하는지 궁금함. 소스 직접 안 보면 알 도리가 없음.
요즘은 작은 OSS는 포크해서 클로드한테 보안 리뷰 시키고 내 포크를 돌림.
포크해도 나중에 악성으로 바뀔 수 있으니까 꼭 필요한 것만 깔고 기본 도구로 버티는 게 낫다고 봄.
나는 반대로 자동으로 '허용'을 눌러주는 툴이 필요함. 이미 깔았고 멀쩡하니까.
샌드박스도 아니고 검증도 안 된 앱이 접근성 권한을 요구하는 게 아이러니함. 그래도 코드 몇백 줄이니 읽으면 됨.
IP 대역을 허용 목록에 넣으면 팝업이 안 뜰 수도 있음. sudo defaults write com.apple.network.local-network AllowedWiFiLocalNetworkAddresses -array 169.254.0.0/16 이렇게 하면 됨.
왜 이 팝업이 뜨는지 알려줬으면 좋겠음. OS 버전 올라갈 때마다 트리거만 늘어남.
개발자가 권한 요청 이유를 문자열로 넘길 수 있게 API를 만들었어야 함. iOS 클립보드 프롬프트 때도 똑같은 일이 벌어졌음.
리눅스도 다르지 않음. 크로미움 켤 때 xdg-portal이 wallet 접근하겠다고 뜨는 것도 같은 문제임.