Publit.Si

Open a tunnel with Cloudflare

Instagram and TikTok download your media from a public HTTPS address. A Cloudflare Tunnel makes only the small Publit.Si gateway reachable, never the app itself. The same address also gives Google the homepage, privacy and terms pages it wants for YouTube production.

You need

  • A domain on Cloudflare (free plan), shown as Active
  • cloudflared from step 2
  • Only needed for Instagram, TikTok, or YouTube without the weekly reconnect

Check your domain

  1. Open the Cloudflare dashboard → Domains → Overview. Your domain must show Active. If you just moved it, wait: usually under an hour, sometimes up to 24 hours.

    Cloudflare, Domains overview with the domain example.com and status Active
    1. 1:Domains › Overview
    2. 2:Active
    Domains → Overview: your domain must show Active before the tunnel works.
  2. Pick a subdomain for Publit.Si, for example publish.example.com. It must not exist yet.

Create the tunnel

  1. Sign in. A browser window opens; pick your domain there:

    cloudflared tunnel login
  2. Create the tunnel. Note the tunnel UUID it prints:

    cloudflared tunnel create publitsi
  3. Point your subdomain at the tunnel. Cloudflare → DNS → Records then lists it with type Tunnel (a CNAME to …cfargotunnel.com):

    cloudflared tunnel route dns publitsi publish.example.com
    Cloudflare DNS records: the publish record with type Tunnel, opened to show CNAME and a cfargotunnel.com target
    1. 1:Type Tunnel
    2. 2:CNAME → …cfargotunnel.com
    After cloudflared tunnel route dns, your subdomain shows type Tunnel. Opened, it's a CNAME to …cfargotunnel.com.
  4. Copy the config template (Windows: Copy-Item ops\cloudflared\publitsi.yml.example $HOME\.cloudflared\publitsi.yml):

    cp ops/cloudflared/publitsi.yml.example ~/.cloudflared/publitsi.yml
  5. Open ~/.cloudflared/publitsi.yml and replace <TUNNEL-UUID> (twice), /Users/<you> (Windows: C:/Users/<you>, Linux: /home/<you>) and publish.example.com.

Tell Publit.Si its address

  1. Add these lines to .env:

    PUBLITSI_PUBLIC_URL=https://publish.example.com
    PUBLITSI_OPERATOR_NAME=Your name or company
    PUBLITSI_OPERATOR_EMAIL=you@example.com
  2. Name and email appear on your gateway's public /privacy and /terms pages. Meta, Google and TikTok look at them when they check your app.

Turn off Bot Fight Mode

  1. Cloudflare → your domain → Security → Settings → search “Bot fight mode” → switch it off (older dashboards: Security → Bots). Otherwise Meta's crawler can't load your media.

    Cloudflare Security, Settings with the search Bot fight mode and its switch turned off
    1. 1:Security › Settings
    2. 2:Search “Bot fight mode”
    3. 3:Off
    Security → Settings → search “Bot fight mode” → switch it off, or Instagram can't fetch your media.

Check

After step 7, Settings › Status shows the tunnel in green, and https://publish.example.com/privacy opens your privacy page.

Common problems

Stuck? Write to us. We're happy to help. Leave out secrets and tokens.