Google Hangouts Chat API IP to Whitelist? - hangouts-chat

I am building a bot that will interact with the Google Hangouts Chat API. I need to punch a hole in my firewall to receive incoming HTTPS requests.
Is there a subnet I can expect Google to send requests from? I would rather not open the bot to the entire world.
For organizational reasons, we cannot use pub/sub endpoints. We just need an ip or ip range from google to whitelist

Related

Can you restrict FCM senders by IP address? If so, how?

In Google Cloud Messaging, one of the options available on the push API key was to restrict senders to specific IP addresses (whitelist). This allowed you to dedicate a group of push servers, and prevent machines with other IPs from sending pushes to GCM.
Does Firebase Cloud Messaging have the same or a similar option? I'm not able to find it, and it seems to have gone down the memory hole. If it has the option, how would you configure it?
The Firebase Cloud Messaging REST API to send messages is open to all callers. The authorization options are described here. As far as I know there is no direct way to limit usage of the API to specific IP addresses.

Telegram Bot api using SOCKS5

I'm using Telegram Bot class library authored by RoundRobin, because of censorship and internet filtering it is a little bit hard to write and work with Telegram Bots. is it any direct way to use this API using SOCKS5? either for sending or listening to messages.

Bot or script to take over a Hangout conversation

Is it possible to implement a bot or program to take over a communication on my behalf is such way that my friend not notice it's not me who is responding?
Can I do this with Hangouts Bot or I need to implement an application with Hangouts API?
Neither is possible. The Hangouts Chat API/Bots can only respond to messages addressed directly to the bot service account. It is not possible to intercept messages sent to other users.
Potentially, you could instead write a browser plugin to act on your behalf in a open chat windows.

[teams]How to update messaging endpoint via API or SDK?

I am working on a chatbot in NodeJs and we are using Ngrok to establish a tunnel, the problem we have for teams is that every time we relaunch Ngrok we get a diferent url so i have to manually change the messaging endpoint on the botframework website(under settings)
Is there a way to do this via the api? or maybe the SDK?
This was not an issue for other chat platforms but for Teams i cannot find this feature.
Claudiu
Unlike some other chat/bot platforms, Bot Framework (and therefore Teams) works by having the chat service initiate the connection to the bot instead of the other way around. That's why every bot requires an https: endpoint.
Ngrok is one way to do it without running the bot in the cloud, but as you note those temporary URLs only last 7 hours. You can purchase the premium version of Ngrok which lets you have static subdomains - for example at our Build conference I used https://build2018.ngrok.io.
One of our developers also created Tunnel Relay which you can download. The utility itself is free but you have to have an Azure subscription and use Azure Service Bus - which at the basic tier is $0.05 per million transactions. All the details, including a download link, are on the GitHub page linked above.
There is no public API for changing your bot's messaging endpoint. (If there were, it would be a great way to steal the traffic from other bots.)

Google API for onhub

I'm trying to create an API for the Google Onhub router, but when I sniff my phone's (as google requires an app to control their router which is why I am making this API to be able to control the router via web interface) network traffic it doesn't send to the router but to a google server IP and when I try to connect to the IP I timeout, any ideas on how I could figure out how to connect/send packets to the google server?
OnHub is managed via the standard GoogleAPI.
The scope required for the OnHub is: https://www.googleapis.com/auth/connectedhome.onhub, but this is undocumented. If you request an access_token with the previous scope, you can guess endpoints required for API communications.
I am working on a project for this now and will be writing a blog post once completed with more details.