Escludendo FCM dal bypass del VPN fa funzionare in Cina

Sono un utente e ho già trovato una soluzione a un problema con cui ho faticato per molto tempo. Scrivo per chiedere chiarimenti agli esperti sul motivo per cui questa soluzione funziona.

Vivo in Cina, uso uno smartphone Android e utilizzo app vietate come Whatsapp. Queste app richiedono un VPN per funzionare e risultati ottimi. Ma per molto tempo non ricevevo notifiche push da queste app, nonostante avessi attivato funzioni come avvio automatico e utilizzo in background. Avevo anche i servizi Play e li facevo passare tramite VPN (split tunneling).

A volte, spegnendo il WiFi o accendendolo, o disattivando il VPN, ricevevo improvvisamente notifiche vecchie e non ricevute tutte in una volta. Questo potrebbe essere un indizio. Per Signal, disattivando il VPN, ricevevo una notifica che diceva “scaricando nuovi messaggi”, e quando riattivavo il VPN, vedevo quei messaggi.

Recentemente, sono stato molto deciso a risolvere il problema, e dopo aver letto su FCM, sono inciampato su About FCM messages  |  Firebase Cloud Messaging che dice:

“Quando il VPN è configurato per permetterci di farlo, bypassiamo il VPN usando una connessione crittografata (sulla rete base WiFi o LTE) per garantire un’esperienza affidabile e a basso consumo… Se il VPN non è configurato per essere bypassato, Firebase Cloud Messaging userà la rete del VPN per connettersi al server.”

Sorpresa, il mio client VPN e molti altri di default permettono il bypass. Quindi ho pensato: cosa succederebbe se configuro il VPN per impedirlo? E funziona! Ora ricevo notifiche push sia per le app che usano il VPN come Whatsapp, sia per le app domestiche cinesi come WeChat.

Ma cosa è successo? Con il problema risolto, voglio proprio capire perché e come. Ho due ipotesi, e spero che gli esperti qui possano aiutarmi a soddisfare la mia curiosità:

  1. FCM semplicemente non poteva connettersi a internet perché sceglieva di bypassare il VPN che gli permette di funzionare in Cina.

  2. FCM poteva connettersi a internet, ma perché le app vietate passavano tramite VPN mentre FCM bypassava il VPN, qualche mismatch nella comunicazione causava il fallimento delle notifiche push.

AGGIORNAMENTO 2024/2/6: Aggiunta la riga etichettata *.

Grazie amico, hai reso la mia giornata! (Tra l’altro, ho scoperto alcune app come JD e alcune banche della Cina continentale che dovrebbero essere escluse dal VPN nelle impostazioni di Clash per farle funzionare mentre Clash è attivo.

Anche a me capita, finalmente posso far funzionare le notifiche FCM con Clash! Però mi chiedo la stessa cosa.