Fix Supabase Realtime Blocked in India
Supabase Realtime relies on /realtime/v1/ which is blocked by Indian ISPs. Here is what breaks, the impact on your users, and how to fix it with a one-line code change.
What breaks
Supabase Realtime uses WebSocket connections to deliver live updates, presence tracking, and broadcast messages. When *.supabase.co is DNS-blocked, the WebSocket handshake fails because it starts as an HTTP upgrade request to the blocked domain. All real-time subscriptions, presence channels, and broadcast channels stop working. Your app falls silent - no live updates, no typing indicators, no online status, no collaborative features.
Impact on your users
Apps that depend on real-time features become static and unresponsive. Chat applications stop receiving new messages. Collaborative documents stop syncing. Live dashboards freeze. Notification systems go silent. The app appears "stuck" or "lagging" to users, who may think the app itself is broken rather than the connection.
Why Realtime is blocked
Indian ISPs (Jio, Airtel, BSNL, ACT Fibernet) are DNS-blocking all subdomains under *.supabase.co following a government order under Section 69A of the IT Act. This means every Supabase service endpoint is unreachable, including the /realtime/v1/ path that Realtime depends on.
The block is at the DNS level. Your ISP's DNS resolver returns incorrect IP addresses for Supabase domains, causing connections to time out or fail. Supabase itself is fully operational - the block is ISP-specific.
Technical details
Supabase Realtime makes HTTP requests (and WebSocket connections for Realtime) to your Supabase project's /realtime/v1/ endpoint. When DNS is poisoned:
your-project.supabase.co returns a sinkhole IP or NXDOMAIN/realtime/v1/ hang until timeout (10-30 seconds)Affected ISPs
The following ISPs are confirmed to block Supabase Realtime (along with all other Supabase services):
Fix Supabase Realtime
Route Supabase Realtime traffic through an unblocked domain. Your existing code stays almost identical — just swap the URL. Two options:
Self-host your own proxy
Deploy a full-featured proxy on your own Cloudflare Workers account. Free, open-source, under 60 seconds.
npx create-jiobaseGuided setup: enter your Supabase URL, configure CORS, deploy. Supabase Realtime + all other services included.
Learn more →Or use JioBase managed
Dashboard with analytics, rate limiting, and automatic updates. Sign up free, add your Supabase project, and swap one URL.
import { createClient } from '@supabase/supabase-js'
// Proxied through JioBase - Realtime works including WebSockets:
const supabase = createClient('https://myapp.jiobase.com', 'your-anon-key')
// Subscribe to real-time changes (works through proxy)
const channel = supabase
.channel('room-1')
.on('postgres_changes',
{ event: '*', schema: 'public', table: 'messages' },
(payload) => console.log('New message:', payload)
)
.subscribe()
// Presence tracking (works through proxy)
const presence = supabase.channel('online-users')
presence.on('presence', { event: 'sync' }, () => {
console.log('Online:', presence.presenceState())
})Deploy and verify
Deploy your updated code and test from a blocked ISP (Jio, Airtel) to confirm Realtime operations work through the proxy. Your anon key stays the same. Supabase Realtime works identically through the proxy.
What stays the same
When you switch to a JioBase proxy URL, everything except the URL stays identical:
Frequently asked questions
Does JioBase support WebSocket proxying?
Yes. JioBase fully proxies WebSocket connections using Cloudflare's WebSocketPair API. Supabase Realtime subscriptions, presence, and broadcast all work through the proxy with minimal latency overhead (1-5ms).
Will the DIY Cloudflare Worker also proxy WebSockets?
The basic Worker from our generator tool handles HTTP only. WebSocket proxying requires additional code using the WebSocketPair API. JioBase's managed proxy includes full WebSocket support out of the box.
How much latency does the proxy add to real-time events?
Typically 1-5ms. Cloudflare Workers execute at the edge location closest to the user, so the additional hop is negligible. This is far less than VPN overhead (50-200ms+) and imperceptible in most real-time applications.
Fix your Supabase app in under 60 seconds
JioBase routes your Supabase traffic through Cloudflare's edge network. No VPN, no DNS hacks, no code rewrites. One command or one line change.
npx create-jiobase — deploy your own proxy on Cloudflare Workers