Guide

Supabase Blocked in India? Here's How to Fix Your Lovable App (Solved)

Workarounds for Lovable users in India affected by the ISP block on Supabase, covering both Lovable Cloud and own Supabase setups.

March 3, 20265 min162 views

Update (March 3, 2026): Supabase has confirmed that access has been fully restored across India. The Ministry of Electronics and Information Technology (MeitY) resolved the block. If you set up any of the workarounds below, you can safely revert them. If you set up a custom domain or Worker proxy, those are good to keep as an extra layer of reliability. Supabase's announcement


A laptop on a desk with a connection blocked symbol, with a faint map of India in the background

If you're building with Lovable from India and your app suddenly stopped working, you're not alone. Since February 24, several Indian ISPs (Jio, Airtel, ACT Fibernet) have been blocking connections to *.supabase.co. Since Lovable uses Supabase for auth, database, realtime, and pretty much everything backend, this breaks your app completely.

This isn't a bug on Lovable's or Supabase's side. It's happening at the ISP level, and according to Supabase's status page, they're working on it. No timeline yet, but there are real workarounds you can use right now.

I've been testing these with the community and collecting what actually works. Here's a breakdown depending on what you need.


Quick note: what is Cloudflare?

You'll see Cloudflare mentioned a lot in this guide. Cloudflare is a company that provides internet infrastructure - things like DNS, CDN, security, and Workers (small serverless functions). They have a generous free tier. Several of these workarounds use Cloudflare because their network isn't blocked by Indian ISPs, so we can route Supabase traffic through it.


Which fix do you need?

Change DNS

Gets you back in

yes

Fixes it for your users

no

Auth support

n/a

Best for

Getting back to work quickly

Cloudflare WARP / VPN

Gets you back in

yes

Fixes it for your users

no

Auth support

n/a

Best for

Same - quick personal fix

Supabase Custom Domain

Gets you back in

yes

Fixes it for your users

yes

Auth support

All (OAuth, email, magic link)

Best for

Public products with users in India

Cloudflare Worker proxy

Gets you back in

yes

Fixes it for your users

yes

Auth support

Email/password only (no OAuth)

Best for

Internal tools, small teams, free plan

Proxy file workaround

Gets you back in

yes

Fixes it for your users

yes

Auth support

Email/password only (no OAuth)

Best for

Lovable Cloud users

Migrate from Lovable Cloud to own Supabase

Gets you back in

yes

Fixes it for your users

yes

Auth support

All (with custom domain)

Best for

Long-term stability and full control

The right fix depends a lot on what kind of product you're building. If it's an internal tool or something for your company, sharing the DNS or WARP fix with your team might be enough. If you have a public product with end users in India who can't change their DNS, you'll need one of the deeper solutions.


Quick fixes to get yourself back in

Three keys on a keyring representing DNS, VPN, and WARP - quick tools to get developers back to work

These work for you as a developer. They won't fix it for your end users, but they'll get you building again.

Change your DNS

Your ISP is returning fake DNS responses for Supabase domains. Switching to a public DNS bypasses that. Here are your options:

Cloudflare

Primary

1.1.1.1

Secondary

1.0.0.1

Notes

Fastest, privacy-focused

Google

Primary

8.8.8.8

Secondary

8.8.4.4

Notes

Reliable, widely used

Quad9

Primary

9.9.9.9

Secondary

149.112.112.112

Notes

Security-focused, blocks malware

How to change it:

  • Windows: Settings > Network & Internet > Wi-Fi > your network > Edit DNS > set primary and secondary from the table above
  • Mac: System Settings > Wi-Fi > Details on your network > DNS > add primary and secondary
  • Phone: Wi-Fi settings > tap your network > DNS > same values
  • Router (covers everyone on your Wi-Fi): Access router admin (usually 192.168.1.1), find DNS settings, switch from automatic to manual, enter your preferred DNS

Close your browser completely and reopen after changing. Some ISPs override DNS settings - if this doesn't work, try WARP.

Cloudflare WARP (free, one click)

  1. Download from 1.1.1.1
  2. Install, open, toggle on
  3. Try your app again

Any VPN

Connect to any server outside India. Works immediately.

If your product is for your team or company, sharing any of these fixes internally might be all you need. Have your team install WARP or change their DNS, and you're set.


Fixing it for your end users

If your app has users in India who you can't ask to change their DNS, you need to route traffic through a domain that isn't blocked. How you do this depends on your setup.

Are you on Lovable Cloud or your own Supabase project? If you created a project in Lovable without connecting your own Supabase, you're on Lovable Cloud. You won't have a Supabase dashboard or direct database access. If you connected your own Supabase project through Project Settings, you have your own.


Own Supabase project

A green Supabase database connected through an orange Cloudflare shield to a group of users - showing how Cloudflare acts as a bridge to bypass the ISP block

You have full control here, so the options are better.

Best option: Supabase Custom Domain

This is the cleanest solution with zero limitations - OAuth, Realtime, everything works. Thanks to Inder from the Supabase community for walking several users through this.

Instead of your app calling yourproject.supabase.co (blocked), it calls something like api.yourdomain.com, which Cloudflare proxies to Supabase. The ISP never sees supabase.co in the request.

What you need:

  • Supabase Pro plan ($25/month)
  • A domain on Cloudflare (or move yours there)
  • Custom domain add-on ($10/month, charged hourly at ~$0.01/hr - you can remove it once the block lifts)

Steps:

  1. Move your domain to Cloudflare if it's not there yet
  2. In Supabase dashboard > Settings > Custom Domains, set up your domain (e.g. api.yourdomain.com)
  3. Make sure the DNS record in Cloudflare is set to Proxied (orange cloud ON)
  4. Update your app's SUPABASE_URL to the new custom domain
  5. Test auth, database, and realtime

This works for web and mobile apps. You can remove the custom domain and go back to the default once things are resolved. Supabase custom domain docs

Alternative: Cloudflare Worker proxy (free, any Supabase plan)

If you're on the free plan or don't want the extra cost, you can set up a Cloudflare Worker as a reverse proxy. Free tier gives you 100,000 requests/day.

Create a Worker at dash.cloudflare.com > Compute > Workers & Pages > Create Worker. Name it something like supabase-proxy, deploy, then edit the code:

const SUPABASE_ORIGIN = 'https://YOUR_PROJECT_REF.supabase.co';

export default {
  async fetch(request) {
    const url = new URL(request.url);
    const targetUrl = SUPABASE_ORIGIN + url.pathname + url.search;

    const headers = new Headers(request.headers);
    headers.set('host', new URL(SUPABASE_ORIGIN).host);

    if (request.headers.get('Upgrade') === 'websocket') {
      return fetch(targetUrl, { headers, method: request.method });
    }

    return fetch(targetUrl, {
      method: request.method,
      headers,
      body: ['GET', 'HEAD'].includes(request.method) ? undefined : request.body,
      redirect: 'follow',
    });
  },
};

Replace YOUR_PROJECT_REF with your Supabase project reference.

Then update VITE_SUPABASE_URL to your Worker URL. Keep your anon key the same.

Heads up: OAuth (Google, GitHub login) won't work through a proxy because the callback still redirects to *.supabase.co. Email/password auth works fine. If you need social login, go with the custom domain.

For a detailed walkthrough: Cloudflare Worker fix guide on DEV


Lovable Cloud

This one's trickier because Lovable Cloud manages VITE_SUPABASE_URL for you and you can't change it directly.

Proxy file workaround

This was figured out by Prakhar in the Lovable Discord. The idea is to create your own Supabase client file that points to your Cloudflare Worker, and redirect all imports there. Ask the Lovable chat in Plan Mode:

"Implement a Supabase proxy bypass. Create src/lib/supabaseProxy.ts pointing to https://your-worker.workers.dev/ and update ALL files that import from @/integrations/supabase/client to import from @/lib/supabaseProxy instead. Do NOT touch src/integrations/supabase/client.ts (it's auto-generated). Edge functions are server-side and unaffected."

This works, but it's a bit fragile. If Lovable touches the Supabase integration in a future prompt, it might get overwritten. Connect your project to GitHub so you can always revert.

Migrate from Lovable Cloud to your own Supabase

It's not the ideal path - nobody wants to deal with a migration in the middle of building. But if you care about your users being able to access your app and we don't have a timeline for when this block will be lifted, this might be the most reliable solution right now.

The good news: you don't lose the Lovable chat experience. It can still create tables, write queries, set up RLS, everything. The difference is you get full control over your database, environment variables, and configuration. From there you can set up a custom domain or Worker proxy without worrying about anything getting overwritten.

I've written a few guides that walk you through it step by step:


A note on security

Don't route your traffic through third-party proxy services (like JioBase or similar tools you might find online). Your API keys, user passwords, and auth tokens all pass through those proxies. If you don't control the proxy, you don't control who sees your data. Stick to your own Cloudflare Worker or Supabase custom domain.


I'm still testing workarounds and collecting feedback from the community. If you find something that works or run into issues, feel free to reach out. Hopefully this gets resolved soon.

Useful links

Enjoyed this?

Carol Ships: building, shipping, figuring it out.

Have another workaround to share?

Start the thread below!

Comments

No comments yet. Be the first to share your thoughts!