(feature request) support for non-stdio plugins (like Hydroxide)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
fetchmail (Ubuntu) |
Invalid
|
Wishlist
|
Unassigned |
Bug Description
Protonmail-
$ torsocks hydroxide imap
The fetchmailrc stanza looks like this:
skip protonmail-
protocol imap
port 1143
username "billyikes"
sslproto ''
fetchall
The workflow above functions, but it's a nuissance to have to execute a daemon manually before running fetchmail. In principle, it would be ideal to add: 'plugin "torsocks hydroxide imap"', but the problem is that fetchmail has the limitation of having to interact with plugins through standard I/O, which is unsupported by hydroxide.
I suggest adding the following options:
stdio <boolean>
plugin_is_a_daemon <boolean>
kill_plugin <boolean>
If the stdio boolean is true, then the plugin mechanism works the way it always has. If the boolean is false, then fetchmail connects to the IP and port given in the stanza.
If plugin_is_a_daemon is true, then fetchmail should check whether the process is already running and if not fetchmail should launch it and disown it before fetching the mail.
If kill_plugin is true, fetchmail should kill the plugin after each fetch.
Perhaps those 3 options could be consolidated into fewer options but I'm merely brainstorming the degree of control that would be useful to users.
*Alternatively*
Perhaps there is a hack that avoids a fetchmail code change. For example, would it work to layer in socat alongside hydroxide? Such as:
plugin "torsocks hydroxide imap & socat STDIO TCP:127.
I'm not real proficient with socat (it's very complex), but if there is a way to launch hydroxide and combine socat as middleware to keep fetchmail code simple, then this feature request could boil down to simply adding an example of a hydroxide configuration to the man page.
FYI, Hydroxide lives here: https:/
BTW, I know the upstream tracker is normally the appropriate place for feature requests, but gitlab.com is inaccessible to myself and probably many others (largely people using Tor or whose ISP uses CGNAT). So I've posted it here just to get it on record, in hopes that an upstream developer sees it.
description: | updated |
description: | updated |
Bill,
judging from the hydroxide webpage, all you need to do is make sure that hydroxide is running properly and then you can tell fetchmail to use that port 1143 to fetch through.
You may need to use the "via" keyword in a fetchmail configuration file (it is not available through the command line interface) to connect to the server.
I do not see a reason to duplicate daemon control features into fetchmail for which more than half a dozen solutions exist already.