EventGhost

Ad blocker detected:
Our software and support is 100% free. This website is not.
You can donate in 2 ways, by turning off your ad blocker or by pressing the Donate button.

************ NOTICE ************

UPDATE YOUR BOOKMARKS!!!

We have an issue that there is no way around as of yet.
I have done all I can to try and prevent this from happening.
We are going to be losing the .com, .org and .de domains.
We have not been able to contact the original author of EventGhost
(the person that owns those domains) to redirect them to the new web server.
I set in motion when we first moved a redirection from the old server to the new server.
I also put in markers so that search engines would see this change and update any pointers
they have. We still have the .net domain for the production site. and the .rocks for the test site.
For the past few months you have been getting redirected to the .net site if you used one of the 3
domains mentioned above. I just wanted to tell everyone so they can make any changes needed.

great that you already improved your plugin. Thanks for that.
It will not work for me though as soon as I use cert verification. It's the as when I used Requests directly from a script as posted earlier.

I did some digging. This seems to happen because of python is not able to access trusted root CA files on the system. I found some solutions for linux systems but have no clue how python is supposed to work on windows here. Maybe this can be of any help: https://stackoverflow.com/questions/277 ... -directory

Luca Brasi wrote:great that you already improved your plugin. Thanks for that.
It will not work for me though as soon as I use cert verification. It's the as when I used Requests directly from a script as posted earlier.

Like you say, the "problem" is with Requests -- though really, Windows is to blame here too. Judging from the link you shared, Requests needs a path to your system's CA certificate files, but Windows doesn't store its certificates in files; it uses the registry.

Were you able to access SSL sites with the original (httplib) version of the HTTPRequest plugin? If so, that might give us a clue as to how to make Requests work, both in general and in this plugin.

By default, Requests bundles a set of root CAs that it trusts, sourced from the Mozilla trust store. However, these are only updated once for each Requests version. This means that if you pin a Requests version your certificates can become extremely out of date.

From Requests version 2.4.0 onwards, Requests will attempt to use certificates from certifi if it is present on the system. This allows for users to update their trusted certificates without having to change the code that runs on their system.

For the sake of security we recommend upgrading certifi frequently!

(emphasis mine, links removed)

So that means we're shipping CA cert bundles with EventGhost, whether we realize it or not, and those certs have gotten out of date for your needs.

While it's good to know how to disable SSL verification, that's not a good long-term solution. SSL warnings exist for a reason.

As I noted in my post, the developers of Requests have stated that the pem file that they ship with Requests is liable to become out of date. This is what leads to the errors Luca Brasi is seeing. EventGhost needs to provide a more up-to-date version of the pem file, or else provide instructions for end users to be able to update the file for themselves.

Boolean263 wrote:EventGhost needs to provide a more up-to-date version of the pem file, or else provide instructions for end users to be able to update the file for themselves.

Perhaps there is another way. You can consider (try) the use of pycurl instead of Requests.
I was forced to do it (for a similar reason) in the Pushbullet plugin when it suddenly stopped working from day to day. Since then, pycurl has become an integral part of Eventghost installation (at least in version 4).
Of course, I'm not sure it will help in your case.

I think we may depreciate the way it was done in eg 0.4. the reason for that is it always assumes you want a list and you want everything in the list to be a string. and that is not always the case. and would require the user to have to key in a bunch of python code into a script to convert everything. so we may make it more of a convenience by spelling out exactly what they want, as seen in the above examples. this is going to need some refinement and I am going to try to encapsulate both ways into a single mechanism. because as of right now you have no way to specify a dict if you want you will always get a list of strings.