bboyairwreck / PieMessage

This is project allows Android clients to communicate using iMessage
1.04k stars 166 forks source link

Improvements needed #32

Open PeterKaminski09 opened 7 years ago

PeterKaminski09 commented 7 years ago

Hi, I'm planning on contributing to this project. I had a few questions

  1. Does PieMessage use SSL to encrypt messages between the Android client, the JWS, and the OSX Client?

  2. Has incoming group message support already been handled, or does that need to be added?

  3. Is it totally impossible to send a group message from the apple script, or could it potentially be added?

clearcodepartnersllc commented 7 years ago

I'd like to dive in on this, too. Do you guys have an updated/newer git repo to work with? In your twitter feed, you guys indicated that there was an upcoming beta plus a number of new features not represented in this codebase. Anyway, you have at least myself and @PeterKaminski09 looking to help out!

IdrissDimson commented 7 years ago

Yeah I want to help out too. Can you reopen the beta for other programmers, especially since you said your partner is in a hiatus

PeterKaminski09 commented 7 years ago

Just switched from an iPhone to a Pixel so I am hoping to help make PieMessage the go to solution for my imessage transition.

ldartez commented 7 years ago

Me too! (As far as switching from iOS to pixel). I've been subscribed to this project for the past month or so considering helping out. I'd very much love to see a solid solution here.

On Jan 4, 2017 5:40 PM, "Peter Kaminski" notifications@github.com wrote:

Just switched from an iPhone to a Pixel so I am hoping to help make PieMessage the go to solution for my imessage transition.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/bboyairwreck/PieMessage/issues/32#issuecomment-270519939, or mute the thread https://github.com/notifications/unsubscribe-auth/ABdtPO_-FYiEFC5xHQeLD2SZleL_IU8Rks5rPC4IgaJpZM4LbJWY .

ezhes commented 7 years ago

@PeterKaminski09 Do you still have your iPhone? I've made a client that you can use to interface with a jail broken iPhone to send everything to anyone (including groups!). I use it everyday on my Pixel

richardsonian commented 7 years ago

@shusain93 That sounds awesome! Is it in a repo?

ezhes commented 7 years ago

Not yet given that it relies on the RemoteMessages tweak (paid). I intend to build an OSX version using the Message framework but I just don't have the time currently

On Thu, Jan 26, 2017, 7:27 PM richardsonian notifications@github.com wrote:

@shusain93 https://github.com/shusain93 That sounds awesome! Is it in a repo?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/bboyairwreck/PieMessage/issues/32#issuecomment-275574647, or mute the thread https://github.com/notifications/unsubscribe-auth/ABiERupWFCZErZFq9vL8CsSuYDklGvgXks5rWVYrgaJpZM4LbJWY .

hadees commented 7 years ago

what about having an official VM to run the imessage side?

hadees commented 7 years ago

@shusain93 I've got an old iphone that could run it, consider releasing your app?

ezhes commented 7 years ago

I've actually quit th jaillbreak side because it's unreliable. I've switched over to an OSX soloution which seems to work far better. I've built a swift server which handles requests and all the database work and a java android app for a client. I still need to nail down a better way to send messages in a reliable way (messages don't send like 10% of the time if you have a slow mac). As a plus I can work with named iMessage groups, unnamed groups, and attachments. Despite PieMessage getting a ton of media coverages it's hot garbage I couldn't even get to run. I promise I'll open source when it's ready. It's actually in a private github repo right now but since the server has zero authentication and I've hard coded the API end point if I just switch to public you'd by default see and send messages from my server which is just bad. I'm currently working on my application for WWDC so it may be a bit before I can work again on it. Don't worry though, I still use it everyday so I won't forget about the project.

I also have the whole issue of cease and desist from apple. I assume this is why piemessage has stopped developing.

If you're interested in the phone based version, you'll need to buy the tweak RemoteMessage8 and 9. I didn't really build the iOS backend but I built a notification service tweak to get live notifications. I quit using it since the iOS 9.3.3 jailbreak was unstable and loosing messaging while I'm away from home and just being unreachable (while people think you're just ignoring them) is unacceptable. My server goes down maybe once a year, this crashed every week.

neilio commented 7 years ago

@shusain93 I would really love to set this up - I managed to get PieMessage working a little but it's been so unreliable that I can't use it. Any status on where your project is?

ezhes commented 7 years ago

@neilio @hadees @richardsonian @PeterKaminski09

It's live! This is a two parter: a swift server for an OSX server and a Java Android client. You need Xcode and Android Studio so that'll be nearly a 20GB download just in tools. So this means you need an Android device (running Android version 6.0+) and an OSX machine which can stay online and awake 24/7 running Sierra. I've given up on the jailbreak tweak since my jailbreak was too unstable and when it crashed I lost message access which got me in quite the trouble since I missed some important texts.

Server: https://github.com/shusain93/OSXMessageProxy Android client: https://github.com/shusain93/Andromeda-iMessage

Humbleness out the window: It's way better than PieMessage ever was. Mine supports notifications (alabit janky but this is because an open source app makes using GCM difficult), full group chat support, attachment VIEWING support for all types and images inline (still need to write the UI automation for this, shouldn't be hard just I have finals). To be honest, I made this because I couldn't get PieMessage to even run. Also, the API has mild security (if your IP is leaked people can't steal your messages, they need an API key too but since I haven't setup SSL on the server you can be MITM'd) unlike PieMessage.

I'll make a YouTube video demo later. Keep in mind this is a very complicated design and barely alpha. This code exclusively written at 3am and design for just me but with @neilio 's (admittedly helpful :P) nagging I've decided to fix it up and throw it on github. I think I've avoided legal issues because I'm not interfacing with iMessage services directly (they may get mad though because of copyrighted use of the word? I dunno).

Also, per standard pre-alpha, I've forgotten to add sockets as promised so to refresh during a conversation you'll either have to tap the notification or simply rotate your device to destroy and recreate the activity and it'll refresh pretty fast, sorry about that. I'm not popular enough to need that fast of chat.

neilio commented 7 years ago

Woo! Glad I was a pain in the ass. I guess I'll have to wait for when you get a chance to post compile instructions as I'm knee-deep and a little lost. It's really appreciated, though!

ezhes commented 7 years ago

@neilio What trouble are you having? Everything should work OOB, you'll just need to change to codesign identity in Xcode. For the Android client just clone it and then point Android Studio to the exact folder that was unzipped. I suppose in the future I could make this more user friendly and maybe I will tonight so you can enter all the information without building the whole app.

ezhes commented 7 years ago

@neilio I've made everything prebuilt now. You just have to download the apps for both, configure the server by editing the PLIST in the resources, and typing the info in when the app launches.

I seem to have found a really bizarre bug with Xcode where it builds an app the can't be run on my computer. It can run on everything else except my desktop in which I just get a Killed: 9. No idea what's going on here, if this is what you're getting make an issue on my repo of OSXMessageProxy

Auvenell commented 6 years ago

I'm not sure what to do about this error message when I run the StartIMProxy.command script.

I'd love to implement this and maybe add to @shusain93's project

CoreData: warning: dynamic accessors failed to find @property implementation for 'uniqueId' for entity ABCDAddressBookSource while resolving selector 'uniqueId' on class 'ABCDAddressBookSource'. Did you remember to declare it @dynamic or @synthesized in the @implementation ? 2017-09-24 16:48:19.920 MessageProxy[2609:68896] [Accounts] Failed to update account with identifier 28029839-8A48-4333-A01B-9038050A4AB6, error: Error Domain=ABAddressBookErrorDomain Code=1002 "(null)"

ezhes commented 6 years ago

@Auvenell That's not an error, it's a CoreData: warning. That's just because I'm accessing the address book from an unsandboxed app with a bit of a hack. Nothing is wrong.

anthonype927 commented 6 years ago

@shusain93 I've actually been working on this project myself. I completely re-wrote the server parts and I've got the Java server and the OSX server built into one. As for the app side I've just been patching the old Pie message app (more like I've re-wrote atleast half of it) although I do plan on creating a new app from the ground up soon. I'd be interested to work with you on this if that's something you're willing to do. There definitely is a need for this.

ezhes commented 6 years ago

@anthonype927 I don't really have time at this point (too many other projects, school etc) but I'd accept any pulls you make!

anthonype927 commented 6 years ago

@shusain93 I'm in the same boat with school. I'll definitely check out what you've got. If you're interested in collabing at any point I'd be down.