Hacker News new | past | comments | ask | show | jobs | submit login
Gregglogger (sonnet.io)
18 points by rpastuszak 7 hours ago | hide | past | favorite | 5 comments





Hi, I’m the “greg”. AMA??

But also, this is Rafal’s project. I’m just a huge huge fan of his..! See:

https://sit.sonnet.io/

https://untested.sonnet.io/

And https://www.potato.horse/ !


Followed one of the links in your article and ended up unexpectedly watching a video review of different types of canned fish (https://www.youtube.com/watch?v=rymwqxBkxus). Wasn't expecting that, but I must say I did rather enjoy it.

>To my knowledge, this can be fixed by requesting the OS-level accessibility permissions, which would require a separate user interaction.

Does this imply that running Gregglogger _doesn't_ require granting accessibility input monitoring permission? On osx there's at least 4 ways to monitor inputs I think (iokit level, cgeventap, carbon event monitoring, cocoa global event monitor), I'd really expect all of them to require the input monitoring permission.


It looks like you're correct -- Gregglogger relies on pynput, and its behavior on macOS aligns with the library's documented limitations [1]:

Recent versions of macOS restrict monitoring of the keyboard for security reasons. For that reason, one of the following must be true:

- The process must run as root.

- Your application must be whitelisted under "Enable access for assistive devices." Note that this might require packaging your application, since otherwise the entire Python installation must be whitelisted.

- On macOS versions after Mojave, you may also need to whitelist your terminal application if running your script from a terminal.

[1] https://pynput.readthedocs.io/en/stable/limitations.html#mac...


Fun read, thanks.

I also wrote a 5ish line python script that instead of logging keys, presses them. I used it to avoid idle detection in a game a few years ago. Similarly to you, I found it somewhat disconcerting how easy it was. This was on windows though.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: