pypush-plus-plus/demo.py
2023-04-07 22:32:00 -04:00

61 lines
No EOL
4.4 KiB
Python

import apns
from base64 import b64decode, b64encode
from hashlib import sha1
conn1 = apns.APNSConnection()
conn1.connect()
conn1.keep_alive()
conn1.set_state(0x01)
conn1.filter([])
conn1.connect(False)
conn1.filter(["com.apple.madrid"])
conn1.send_message("com.apple.madrid", b'bplist00\xd9\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x1dRsPSfcnQcQERuaQvQiSdtlQU_\x10\x1amailto:jjgill07@icloud.com\x10\x01\x10\xf2Wpair-ec_\x10#[macOS,13.2.1,22D68,MacBookPro18,3]\x10\x08\x12$\x01\xe0c\xa1\x12\xd5\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1cRtPQDRsTQPQt_\x10\x1amailto:jjgill07@icloud.com\x08O\x10"\x06\x01r\x00b4\x99\xa5\xd9\xfaf\xda\xabUX\x8f\xf3\x98o\xe6 \xfb\xa2\xd4\xeeH{W.\xc6\xbc\xb1\x184O\x11\x019\n\xc8\x01\x9e\xea^S\x9fFy"\x0e\xa8zi\xee\xa9\x11^\xa3\x1ee]\xae{\xf8@~\xb0p\x07\xb8\xf9\xd2+\x15\x7fy\x8a\x1d\x9b]V\x8cG6\x94\xdf4\xa7\x1e\xe7\xddR]\xe2\x9f\xda\xbf\x927RD]\xb9\x04\xc6U\xa6\xfe!D\x9f\xfd\xa1\xac?X\xc0l\x08\nv\x1b\xc2\xbf\xd8a\x1d\xc6\x99G\xaeV\xbd\xaa\x7f\x91*\xc6\xffvC\x9c9>\x93\xe1\x04\xc2\xc3\xcc-\xd6\xac1j\xc5\x1cR\xbf)Zp\xf4\xbd\x04\xaa\xa5\x7f5e\xf9\x1dq%T\xb2\xdf\xa4{\xa8A\x97\x87\\=|s\x87o\x14\xbe\xd6\xd7\x0e\x81\x91G\x9f\xbe\xedRU\x86.\xd0i\xdd\x80\xcep#\xb01Mv\x97\x9e\x89\'\xb4\x08DUYv\xd5\xaa\xb5\xb14\xc9L\x0c\xdf\x04\x85\x1bK\xfd\xc1\xee\x12 n\xb0\xd1\x92\x16\xfd\xb8\x1e\xc3J\xd9*\x11\x84\xea3\xc5s\xed\xd5\xe3\x16\xc8\x90\xb6t\\\x9b\x87\xe4)\xc3\x1a@\x8f\xa0\xeb\x01\x84\xce7#\x86\x92\x82\xaa\xac\t\x07\xcf\x1b\xfa\xeeZb\xdf\x1a#\xd0_\x12#f\xdc\xef{\x9f\xf7\x1b\xb0\xd9\x17\x01\xe6\x8c$\x1d[\xca\xeb\x1fV3\x842Z\xcb\xa8G\xce\x00\xc5\xc2n\x8e\xd8\x8ck\x9a\x06\x07\rlF\xdc!\xb3\x0cO\x10 \x13\xd4\'\x15\x87\xcf\x8dk\xe1\xde\x17\xba^\x9d\xed\xffy\xf8\xa9H\xda\xbc\xf8\x89S\r;\x92\xc3\xcf\x88\xb6O\x10\x10\xe3\x89E\xdd\xcc|B\x11\xac\x86\x95vl\xc2\x01\xa0\x00\x08\x00\x1b\x00\x1e\x00"\x00$\x00&\x00)\x00+\x00-\x001\x003\x00P\x00R\x00T\x00\\\x00\x82\x00\x84\x00\x89\x00\x8b\x00\x96\x00\x99\x00\x9b\x00\x9e\x00\xa0\x00\xa2\x00\xbf\x00\xc0\x00\xe5\x02"\x02E\x00\x00\x00\x00\x00\x00\x02\x01\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02X')
# #print(f"Push Token 1: {b64encode(conn1.token).decode()}")
# #while True:
# # pass
# #conn1.filter([])
# conn1.connect(False)
# print(f"User Token 1: {b64encode(conn1.token).decode()}")
# # conn2 = apns.APNSConnection()
# # conn2.connect()
# # conn2.filter([])
# # print(f"Push Token 2: {b64encode(conn2.token).decode()}")
# # conn2.connect(False)
# # print(f"User Token 2: {b64encode(conn2.token).decode()}")
# conn1.filter(["com.apple.madrid"])
# # conn2.filter(["com.apple.madrid"])
# conn1.send_message(b"\xe5^\xc0c\xe8\xa4\x1e\xbe\x03\x89'\xea\xd5m\x94\x05\xae\xf5\x1bqK\x1aJTH\xa4\xeb8\xb8<\xd7)", "com.apple.madrid", b'bplist00\xdd\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x13\x17\x18\x19ScdrRtPRgdQiRsPRnrQcQUQtScdvRuaRqHQvM\x08\xd6\xf3\xe6\x8d\x04\x18\x95\xfd\xea\xe9\xf50_\x10\x10tel:+16106632676\t\x12=\x12c&_\x10\x1amailto:jjgill07@icloud.com\x10\x01\x10mO\x10\x10UC>\x9f\xce\xa4N\xe0\xba\xe9\xad\x8e_h\xd7hO\x10 \xe5^\xc0c\xe8\xa4\x1e\xbe\x03\x89\'\xea\xd5m\x94\x05\xae\xf5\x1bqK\x1aJTH\xa4\xeb8\xb8<\xd7)_\x10#[macOS,13.2.1,22D68,MacBookPro18,3]O\x10!\x01\x97\xca\\"\xcaI\x82\x0c\xb66C\xa7\x89h\x91\xcd\x18Ozj"\x06u;9\x96\xebrQs|=\x10\x08\x00\x08\x00#\x00\'\x00*\x00-\x00/\x002\x005\x007\x009\x00;\x00?\x00B\x00E\x00G\x00U\x00h\x00i\x00n\x00\x8b\x00\x8d\x00\x8f\x00\xa2\x00\xc5\x00\xeb\x01\x0f\x00\x00\x00\x00\x00\x00\x02\x01\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x11')
# while True:
# print(conn1.expect_message())
#print(conn2.expect_message())
#print(conn1.expect_message())
#print(conn2.expect_message())
# #print(sha1(b"com.apple.madrid").digest())
# # Send a notification
# # expiry timestamp in UNIX epoch
# expiry = 1680761868
# expiry = expiry.to_bytes(4, "big")
# # Current time in UNIX nano epoch
# import time
# now = int(time.time() * 1000).to_bytes(8, "big")
# payload = apns.Payload(0x0a, apns.Fields({1: sha1(b"com.apple.madrid").digest(), 2: conn2.token, 3: b"Hello World!", 4: 0x00.to_bytes(), 5: expiry, 6: now, 7: 0x00.to_bytes()}))
# conn1.sock.write(payload.to_bytes())
# print("Waiting for response...")
# # Check if the notification was sent
# resp = apns.Payload.from_stream(conn1.sock)
# print(resp)
# # Read the message from the other connection
# resp = apns.Payload.from_stream(conn2.sock)
# print(resp)