Apple Notification Server APNS - My Domain is Banned - ios

I have an enterprise iPhone app which uses APNS to send notifications to users phones. This was working fine up until recently when we had a huge expansion of users, now no notifications are being sent/received and I cannot connect to APNS server from PHP.
I am 99% certain the reason is because the domain I am sending APNS requests from has been banned due to Apple thinking I was trying a DDOS attack. Reasons I think this:
Code I was using to send APNS messages was not proper, it was opening then closing the connection in a loop. This is the cause of the ban I believe. I have learnt the error of my ways since but too late right now.
I uploaded my .pem file to another server/IP and used the exact same code to send notification and received to my phone successfully.
I have run and openssl command to try and connect to APNS server from the believed banned server and it connects but returns 'write:errorno=104' along with other error lines. Whereas with the other server I mentioned it returned the proper connection output along with cert output, ect., the normal.
So my reason for posting is I am stuck wondering how to get my domain removed from the ban list. https://developer.apple.com/library/content/technotes/tn2265/_index.html This page states that it takes about an hour for the temp block to expire, I have made sure to not attempt a connection for over 12 hours and still not working. "This temporary block will expire if no connection attempts are made for about one hour."
Looking through Apple support channel I can not find the proper path to follow and I do not want to pay for professional services.
Anyone experience this before and now path to follow to get off banned list? Or to even verify that you are on the banned list?

Related

Unable to establish websocket connection when using Apple devices

I have a web application (hobby project) with a chat function that is implemented with Express.js and socket.io.
Everything works fine on PC and on Android phones, but as soon as you connect with an Apple device, there will be problems since it seems that no websocket connection can be established between the server and the Apple device.
After a bit of googling I found this page:
https://socket.io/docs/v4/troubleshooting-connection-issues/?fbclid=IwAR2XeuehqJkkgFoshFKSVN7sz4UUfWkZ0CPYmsWnqXm-0Q17iVC3dRDyEEI#problem-the-socket-is-stuck-in-http-long-polling
I have limited abilities to troubleshoot on the client side since we do not have a Mac but I followed the troubleshooting that they recommend for the server side. When you connect with an Apple device, it seems that the event "upgrade" is never triggered and you therefore have to settle with HTTP Polling instead of web socket, which does not provide a good user experience.
I have got a certificate from Lets Encrypt and am using HTTPS to access the webpage. I have also tried with several different browsers on the Apple devices.
Anyone have an idea why you can not create a web socket connection with Apple devices and what you could do about it?
Feeling a bit lost and would love some help!

Can I send a push notifiction from ios to ios, without a server?

In my research, I see this question has been asked a few times, but generally the response seems to be somewhere between "why would you do this?", "it's theoretically possible but not practical" and "yes, but there are technical issues".
I have a real world case where push messages will originate on an iphone and terminate on another iphone. The app is designed for family/couples, who can scan each other's phones to get device tokens, and store them within the app.
Most of the questions I found around this subject are pretty old and mentioned Apple's requirement to keep the APNS connection open for as long as possible, however I am not sure if this still holds with the HTTP2 interface that is now available.
Another comment is that it is difficult, but I'm not worried about that - I've written the server side for APNS and HTTP2, so it's "just" a case of rewriting it in objective C.
I realize that certificates are an issue, and might require users to update regularly to keep it working, although I wonder if there's some way to store them and just have the app update them automatically, without needing to update the whole app. No biggie either way.
So my question is, in 2018, is it possible to implement an iphone to iphone push notification and (taking into account what I said above), are there reasons not to? I could easily make a server for it, but the less third parties the message has to pass through, the better it is from a privacy/transparency perspective, hence peer to peer would be the ideal option.

Is Gmail IMAP access slow recently or am I being throttled somehow?

For last few months I've been tinkering with writing a desktop IMAP email client in JavaScript. I am working on creating a sync algorithm and using my GMail account as the test account.
As of last month, my current sync algorithm could sync the structure of my account (~190 folders and ~165k messages) in under 8 minutes from scratch. Over the last few weeks, I noticed my sync time drop down to over 30 minutes and I am getting timeouts fetching messages. Since I was traveling, I attributed that to potentially bad connectivity; however, I am seeing the same issues now that I am back home.
I am effectively querying the IMAP server for:
[ 'flags', 'BODY.PEEK[HEADER.FIELDS (FROM TO SUBJECT DATE MESSAGE-ID REFERENCES IN-REPLY-TO)]' ]
When syncing from scratch, I am requesting the above information from the IMAP server in chunks of 5000 messages at a time. This had been working fine for a few months and only recently started acting up in the last three weeks.
For each fetch of messages, I would set a timeout of 30secs and I never saw it expire, but now even if I push the timeout to 60secs I'm still getting failures.
I'm about ready to throw up my hands. Does anyone know if Gmail IMAP access has slowed recently or is being throttled?
I have tested against multiple email accounts and from multiple computers (both before and after). Before everything was quick everywhere. Now everything is slow everywhere.

ionic app - APNS & GCM to multiple apps from one server

we have an app built in ionic that sends out push notifications.
We are now making branded versions of the same app for different companies that share the same user & code base.
The way we are currently sending out notifications is a cron job that runs a PHP script every minute which connects to a MySQL Database to find new notifications that need to be push out, however we are willing to change this if anyone has a better suggestion.
Having one server needing to send out notifications to multiple apps is the problem we are facing. If we open and close connections to APNS for each app every time we run our push cron job, we fear Apple will see it as a DDOS attack and block it.
The only other solution we can think of is making a new server on AWS for each branded app and having them send notifications out for only one app each. That way they would each have their own IP Address and Apple wouldn't pick it up as a DDOS attack.
We looked into AWS SNS but the only tutorials are for Swift, Obj-C & Android. Our app is fully made on ionic meaning its written in Angular so none of these tutorials are helpful for us.
I've been searching Google for awhile with no valuable information.
Please answer with a way to accomplish sending notifications to multiple apps. Thanks in advance for reading!

iOS Push Notification not sent from server (Jetpack)

I'm implementing an iOS application to manage my self-hosted website. My app make use of the many features already built for WordPress-iOS app, but it has differences and extra features.
One of the problem I'm currently having is that push notification was not sent from Jetpack (WordPress.com server) to Apple's APNs, because I'm not getting any notification on my device. I have already registered successfully my device token with Jetpack during app launch.
My problem could be the certificate key (.pem) file not getting uploaded to Wordpress.com (which I do not have access). Is this the reason why I'm not receiving any push notification to my iphone?
Additionally, I'm not getting any result on the NotificationsViewController. I do not have Simperium account setup yet. Could that be my problem for getting no results in NotificationsViewController?
Many thanks.
Sorry about the delay!. For the time being, i'm afraid that WordPress iOS doesn't support 3rd party apps integrations with its Notifications stack.
Meaning that if you'd like to handle Push Notifications support, you'd need to implement a WordPress.org plugin to handle the APN message delivery.
As per the Simperium side, there is no 3rd party app support -at least for now!- due to security restrictions.
If there's anything we could help you with, you may find us on the WordPress Slack (#mobile channel!).
Best,
Jorge

Resources