Hi all.
I am in the process of creating a push notification service which is available to use on Android devices. Essentially it is a simple application which you can interact with from your own application, to receive push notifications from your server-side applications. The best part about the service is that it runs of Android 1.6 and up - no Google accounts or Market is required.
To use the service, you simply send an intent to register your app to receive notifications and add a couple of intent filters to your manifest. Assuming my push service application is installed on the users device then you can receive message from our platform.
To send messages to devices, you use our API to send a JSON structure to the client ID (acquired after sending the registration intent) and your application ID and our platform will deliver it for you.
The aim here is to provide a push service which will allow developers to target older Android platforms (and non-Android platforms infact) with push enabled services - and by using our platform the end-user isnt affected by have lots of open network channels.
I am still beta testing the system, so PM me if you would like to get started, but I am hoping to make the service available for free (providing I can raise enough funds somehow) after the beta is finished.
If you would like to get hold of the application, it is already available in the Android Market as "CloudSquirt Push Service" or https://market.android.com/details?id=com.cloudsquirt.android
Rich
Related
I am looking for a freelance developer to write an Instant voice messaging and media application for Android and/or iPhone. I have already written the Windows Phone 7 version of the application and am looking to add cross platform support.
The general goal of the application is to allow for voice, picture and videos to be sent in a store-and-forward manner. Gelocation sharing may be added at a later date. You must have programming skills in recording sound, and video as well as playing sound, video and displaying pictures. Network programming is a must (sending and receiving XML formatted requests and responses).
The backend services are already fully functional and support storage, retrieval, identity verification (via SMS and Email), push notifications and more. Additional services can be created based on individual platoform needs.
If an agreement can be made, you will be provided with API documentation and application requirements. I am willing to negotiate either a flat rate or you can publish and maintain the application and app store revenue yourself.
If you are interested in this opportunity, please send me a PM or send an email to daler-at-ntworld.com.
I need a developer capable of building a smartphone application for Iphone, Android, Blackberry, and Symbian platforms for controlling variable devices through sending SMS code for each device.
The program should store the user password and the SIM phone number needed for operating the devices and should include a library for storing devices variable models with their commands syntax. SMS syntax could be having a user variable parameters (like setting a speed)
Also the program should be able to receive SMS from the devices and translate this to a user friendly alarm or notice.
I am willing to pay for this software, and a contract will be signed.
Please contact me by phone +2(0100)1207747, or E-Mail: [email protected]
https://github.com/venomous0x/WhatsAPI
What is WhatsApp?
According to the company:
“WhatsApp Messenger is a cross-platform mobile messenger that replaces SMS and works through the existing internet data plan of your device. WhatsApp is available for iPhone, BlackBerry, Android, Windows Phone, Nokia Symbian60 & S40 phones. Because WhatsApp Messenger uses the same internet data plan that you use for email and web browsing, there is no cost to message and stay in touch with your friends.”
Click to expand...
Click to collapse
Late 2011 numbers: 1 billion messages per day, ~20 million users.
Modified XMPP
WhatsApp uses some sort of customized XMPP server, named internally as FunXMPP, which is basically some extended proprietary version.
Login procedure
Much like XMPP, WhatsApp uses JID (jabber id) and password to successfully login to the service. The password is hashed and happened to be an MD5’d, reversed-version of the mobile’s IMEI (International Mobile Equipment Identity) or equivalent unique ID, stored in servers upon account creation and used transparently everytime the client connects the server.
The JID is a concatenation between your country’s code and mobile number.
Initial login uses Digest Access Authentication.
Message sending
Messages are basically sent as TCP packets, following WhatsApp’s own format (unlike what’s defined in XMPP RFCs).
Despite the usage of SSL-like communication, messages are being sent in plain-text format.
Multimedia Message sending
Photos, Videos and Audio files shared with WhatsApp contacts are HTTP-uploaded to a server before being sent to the recipient(s) along with Base64 thumbnail of media file (if applicable) along with the generated HTTP link as the message body.
FAQ
What’s with the hex chars floating all over the code?
Mostly WhatsApp’s proprietary control chars/commands, or formatted data according to their server’s specifications, stored in predefined dictionaries within the clients.
What’s your future development plans?
We don’t have any.
Would it run over the web?
We’ve tested a slightly-modified version on top of Tornado Web Server and worked like a charm, however, building a chat client is a bit tricky, do your research.
Can I receive chats?
Indeed, using the same socket-receiving mechanism. But you have to parse the incoming data. Parsing functions aren’t included in this release, maybe in the next one?
I think the code is messy.
It’s working.
How can I obtain my password?
It depends on your platform, with Android for example, you can use TelephonyManager
Code:
TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
tm.getDeviceId();
With the sufficent permissions of course
Code:
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
NOTES
This proof of concept is extensible to contain every feature that make a fully-fledged client, similar to the official ones, actually could be even better.
During the two weeks of analysis of service mechanisms, we stumbled upon serious design and security flaws (they fixed some of them since 2011). For a company with such massive user base, we expected better practises and engineering.
Perfectly working as PHP and JAVA ports.
License
MIT - refer to the source code for the extra line.
Venomous
Team of Bahraini Developers.
Ahmed Moh'd and Ali Hubail (@hubail) contributed to this release.
I really would like to know whats your debugging strategy in this case? I'm still not able to capture the traffic from my Android 4 VirtualMachine in order to decypher the ssl traffic.
I documented my setup on my blog, just search for "WhatsApp für Android 4.0.X-X86 ICS auf VirtualBox" on Google.
Could you please provide some infos on your setup?
Except for some requests ( Syncing and Status update) , all requests go on plain text ( although they use SSL port , they still send in plain text )
onnsoft said:
I really would like to know whats your debugging strategy in this case? I'm still not able to capture the traffic from my Android 4 VirtualMachine in order to decypher the ssl traffic.
I documented my setup on my blog, just search for "WhatsApp für Android 4.0.X-X86 ICS auf VirtualBox" on Google.
Could you please provide some infos on your setup?
Click to expand...
Click to collapse
WebOS port!!!
Sent from my R800x using XDA
Looks like Whatsapp is quite secure...
Swypesation
Isn't there anyway to hack it???
Sent from my MT11i using xda premium
google it
The Internet was designed to be a free network. “Don’t be evil” is the formal corporate motto of Google.However a subjective good from Internet institutions can't guarantee Internet freedom.What the true freedom? The true freedom is assuming all the participators are evil, get rid of all the participators capacity for evil through architectural design.
Apps often used to deliver sensitive data or used for personal and corporate communications, so the data stored by the service provider should be encrypted end-to-end, There are many App messaging applications like Line, WeChat, KakaoTalk, and many more, but they are not end-to-end encrypted messengers. Time is loudly announcing the need to shift to some alternates who provide end-to-end encryption for communication between two devices and respect your Privacy. There are a number of solutions available includes for privacy like, Telegram offers end-to-end encryption and have a 'Secret Chat' feature, that self-destruct messages after the conversation, Sure spot allows you to send and receive text messages, pictures and audio clip with end-to-end encryption, Threema use end-to-end encryption and gives you all features like text messaging, image sharing, and voice chat as well, Text Secure and Red Phone also provides end-to-end encryption for messaging and voice calls respectively. Red Phone allows you to upgrade a normal call to secure call whenever it senses the possibility to fulfill the requirements.
Therefore we have developed a complete decentralized, third-party End to End encrypted communication APP.
What is “a complete decentralized” concept?
IMAP/SMTP are standard communication protocol for retrieving and sending emails from mail server, our APP users communicate via the protocols, as if they are sending emails.
What is “third-party End to End encrypted communication”?
Since we are using zero-server solution, the developer themselves can't read the communication information from users at all. We encrypt the E-mail communication. The advantage of third-party encryption is no one can read APP user's communication information without permission, include APP official, operator, E-mail service provider and so on.
Why “APP”?
We used smart phone longer than sitting in front of a PC. We hope to develop a 100% free of charge future-proof secure communication app that is convenient and suit for long-hour usage.
After completing the APP, as long as there is user, nobody include us can prohibit this product from being used. As in nobody can prohibit the use of email protocol. Furthermore there will be no server deployed to manage this APP. It enables free flow of APP in conformity with the spirit of free Internet environment.
freedom is only an illusion. Your never free, I'll never be free, no living thing can ever be truly free, as every action is determined (or can be seen as determined a posteriori) by various factots. So, as the Internet is constructed by humans, logically it won't be free as well.
Stop talking about freedom and give us a secure App
this is not meant negatively.
Regards
Needs to be idiot proof, lightweight and versatile. Good luck.
Sent from a stolen phone!
Hi Sir,
I am a java developer currently working on a android notification project. I am having a problem with what to keep as a unique key for my (3rd party) database after registering to GCM.
The registeration Id which GCM provides on registering the android device, often changes when we re-install the app. In order to avoid duplicacy in 3rd party database, what should we use as unique key in the database, so that using this field I can update the old registration Id with new registration Id whenever app is reinstalled.