integraloftheday / Pebble-Imessager

A PebbleJs and Server Application to allow iMessage texting on pebble smart watches
MIT License
25 stars 2 forks source link

Sending iMessages off the local network #12

Open michaellunzer opened 2 years ago

michaellunzer commented 2 years ago

Hey! Awesome project! I was able to follow the instructions and get it working on a macOS Virtual Machine on my home server.

I may have missed it, but is there a way to send iMessages when I'm off my local network?

In your Pebble app, it only lists a way to add an IP Address. I have a home server running a reverse proxy - I can have different subdomains access different services running on different IP addresses inside my network (from the outside). Of course they are all protected by authentication and use fail2ban to block the IP address after x number of failed login attempts.

Is this something that you think is within scope for your project or should I just use a VPN to connect to my home network and call it a day?

integraloftheday commented 2 years ago

Hello! Thanks, I'm glad you like the project and it works. If I understand your question correctly, the main way I have used the application and sent messages off of my local network is to port forward the iMessage server and to make sure I was using HTTPS. This end point is protected by utilizing server side validation of the "key" parameter, which is included in the HTTPS request.

integraloftheday commented 2 years ago

Also, a VPN would work quite well, then you would avoid all the hassle of self signing an HTTPS cert.

integraloftheday commented 2 years ago

I did want to add the functionality of specifying any domain, not just an IP address. To do this I wanted to use an in-app setting page, but using pebble.js I could never get that to work.