Odourless
Odourless is a tool for preventing .DS_Store creation.
Install / Use
/learn @xiaozhuai/OdourlessREADME
odourless

Odourless is a tool for preventing .DS_Store creation.
Supported from 10.12 to Big Sur.
Please re-install daemon manually after upgrade Odourless
Alpha version! Use it at your own risk!
Preview

How it works
It use frida-core to inject Finder.app and frida-gum to replace some syscall including open, openx_np, getattrlist, setattrlist.
Whenever Finder try call these function with .DS_Store file, it will replace the path to a fake one under the odourless cage directory /usr/local/var/.odourless_cage.
It doesn't delete .DS_Store, but it places all .DS_Store into one directory that you don't care about.
Many thanks to @darwin and @JK3Y !
This project was standing on the shoulders of binaryage/asepsis and JK3Y/asepsis
For discussion, go https://github.com/JK3Y/asepsis/issues/25
How to use
Install
Download from release page.
Move Odourless.app to /Applications, open it and click to install daemon.
Ok, that's all.
Next time reboot, odourless-daemon will auto-start. Take it easy.
Disable SIP
You must disable SIP to use this program.
- Click the Apple symbol in the Menu bar.
- Click Restart...
- Hold down Command-R to reboot into Recovery Mode.
- Click Utilities.
- Select Terminal.
- Type
csrutil disableand press Enter (May ask for password) - reboot
How to build
Odourless can build without xcode. But Command Line Tools is needed.
Type xcode-select --install to install Command Line Tools.
And you need cmake.
Type brew install cmake to install cmake.
git clone --recursive https://github.com/xiaozhuai/odourless
cd odourless
./download-frida-libs.sh
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES=x86_64 -B build .
cmake --build build -- install -j8
open build/dist
Under the hood
Odourless.app
Odourless.app is a GUI program for easy installing and manage odourless-daemon.
odourless-daemon
A daemon process to inject libodourless-inject.dylib to Finder process.
When Finder restarted, odourless-daemon will do re-inject.
odourless-ctl
If you prefer command line than graphics Odourless.app, you may like this. (Not yet available)
libodourless-inject.dylib
Replace syscall in Finder process.
Related Skills
node-connect
345.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
104.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
345.4kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
345.4kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
