I performed a couple more changes to improve how the LUKS support is embedded into the existing code. Also, I added some logging.
Furthermore symlinks are now resolved when searching for device pathes.
If run with positional arguments, the udiskie executable will only mount the requested devices and then exit, instead of running as a daemon.
I might add some more commits and testing in the course of the week. So don't reroll too early. Do you use any test-setup or CI-service?
I had a little too much time and fun reworking the internal structure of udiskie to be more flexible. Now you can use it as a library and very easily replace components like udisks1 by udisks2 or similar.
If you don't like the new structure, I still suggest to take the first bunch of commits until ad0c1ec, as there comes an important fix among them: previously there was no distinction between internal and external LUKS devices.
Sorry for being a little overboard. As I am playing with the thought to introduce some more patches (udisks2, optional tray icon), I could imagine to maintain the package if you don't like to be bothered with this.
I really like where you're going with this and am going to merge this pull request. Unfortunately there's no test-setup or CI right now. If you're really open to maintaining this package, I'd be happy to pass it to you; you've done far more with it than I have in quite a while.