Hi everyone!
I have forked echiken's chat_pager external module [1] and added two new notification methods: Telegram Bot and remote PC Speaker via Raspberry Pi. I have published the fork at [2] and it is working well so far.
However, if you take a look at the repo, you will see I had to implement a workarround for HTTPRequest() method from http.js, so it can work properly with api.telegram.org.
The issue is that this code:
var response = new HTTPRequest().Get(
"
https://api.telegram.org/bot-mytoken/SendMessage"
);
will throw the following error:
term TLS WARNING 'Server provided a broken/invalid certificate, try again with a reduced level of certificate compliance checking' (-32) setting attribute 6001
To me it looks like the cryptlib is, for some reason, not trusting the certificate chain used by api.telegram.org. I have tested HTTPRequest() with other HTTPS sites and it works as expected.
I made the module work by proxying the calls to the API endpoint via NGINX, but I don't consider that a clean solution. Workarround details at [2].
Could someone test if the the same is happening? Maybe that Synchronet BBS is using some kind of very strict certificate validation parameters in cryptlib that does not comply with the one used by Telegram API? If the answer to this is yes, is it something it could be modified or configured?
Thanks!
Carlos
[1]
https://gitlab.synchro.net/main/sbbs/-/tree/master/xtrn/chat_pager
[2]
https://github.com/cmilanf/sbbs-xtrn-sysop_pager
PD: If you happen to read this text, thanks echiken for the module. It has served me as inspiration to bring back something I really missed after I moved my Synchronet BBS from a physical host to a virtual machine: the capability to play tones via PC Speaker in the same way as playtone used to.
---
■ Synchronet ■ HISPAMSX BBS - The 8-bit MSX computers BBS - 2:341/111@fidonet