CamHenlin / iMessageWebClient

send and receive iMessages on anything with a web browser

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

iMessage Web Client

iMessage web client screenshot

What is this?

iMessage Web Client is a web interface for iMessages, enabled by running a small nodejs app (which itself is based on imessageclient) and collection of AppleScripts on a server signed into your iMessages account with Messages.app. Supersedes iMessageService

Use cases

  • Try out a non-iPhone and keep iMessages turned on for some reason
  • Be signed in to 2 or more iMessages accounts at once on one iOS/Mac devices
  • Send iMessages from your Windows computer at work from your Mac at home more easily than this other project
  • You tell me

Security concerns

Of course, access to your iMessages means that security is a concern, especially for something web-based. I decided that the best solution to address this was firstly to have the user create a "key" during the installation step that they must use to login to the web app on their devices this key can be reset by running "npm run postinstall". Secondly, the server also generates a self-signed SSL certificate when the app is first installed. Of course, the certificate will be invalid and generate warnings for most clients, but at least it will enable encryption so others on your network will not be able to read your conversations. More advanced users can drop legitimate SSL certificates in place if desired.

requirements:

  • server running OS X 10.7 or better
  • nodejs
  • Apple iMessages account signed in to Messages.app

How to get the server running on your Mac:

git clone https://github.com/CamHenlin/imessagewebclient.git

cd imessagewebclient

npm install

sudo npm start

note: if you prefer to start the app without sudo, start it instead with the command: PORT=YOUR_PORT npm start, and adjust your web browser accordingly

How to access on some other device:

  • navigate your favorite web browser to https://localhost/ (or whatever forwarding service you have pointed to your computer, or its IP address!)
  • enter the key you set during the installation
  • use the app as if it were the Messages app on an iPhone

Note if you are using this on a mobile device, it is mobile web app capable.

This is clunky!

Yeah I will probably improve it over the next few days.

Shortcomings

No push notifications! You can kind of get around this by using this: AutoForwardIMessage to a different message app such as gchat, which you can sign into on your phone to get push notifications. In the future I would like to move this to a packaged cordova app for major app stores and provide a central push notification service for users. Users should let me know if they're interested in a service like this.

Why did you make this?

I would like to draw attention to another project: nodeprivatemessageskit Where I am trying to use private MessagesKit frameworks to send messages rather than rely on AppleScripts. I'm in a little over my head there and I would really like some pointers or assistance from people with more experience using private frameworks as I believe it could lead to more reliable and interesting uses for iMessages in the future.

Uses iMessageModule.

made with a mac

About

send and receive iMessages on anything with a web browser


Languages

Language:JavaScript 73.0%Language:HTML 15.1%Language:CSS 8.0%Language:AppleScript 2.2%Language:Shell 1.7%