{"id":27185174,"url":"https://github.com/dhanar10/blocky-tailscale-fly","last_synced_at":"2026-04-30T10:09:22.195Z","repository":{"id":279237677,"uuid":"937209991","full_name":"dhanar10/blocky-tailscale-fly","owner":"dhanar10","description":"A private Tailscale ad-blocking DNS proxy container ready to be deployed to Fly.io.","archived":false,"fork":false,"pushed_at":"2025-06-14T23:00:08.000Z","size":3,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-15T00:18:01.001Z","etag":null,"topics":["blocky","flyio","tailscale"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dhanar10.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-22T15:45:35.000Z","updated_at":"2025-06-14T23:00:11.000Z","dependencies_parsed_at":"2025-02-24T15:25:02.483Z","dependency_job_id":"f57c021b-fe52-4940-bc05-ebe7eabda45e","html_url":"https://github.com/dhanar10/blocky-tailscale-fly","commit_stats":null,"previous_names":["dhanar10/blocky-tailscale-fly"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dhanar10/blocky-tailscale-fly","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhanar10%2Fblocky-tailscale-fly","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhanar10%2Fblocky-tailscale-fly/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhanar10%2Fblocky-tailscale-fly/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhanar10%2Fblocky-tailscale-fly/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dhanar10","download_url":"https://codeload.github.com/dhanar10/blocky-tailscale-fly/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhanar10%2Fblocky-tailscale-fly/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32460953,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T22:27:22.272Z","status":"online","status_checked_at":"2026-04-30T02:00:05.929Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blocky","flyio","tailscale"],"created_at":"2025-04-09T17:11:39.053Z","updated_at":"2026-04-30T10:09:22.161Z","avatar_url":"https://github.com/dhanar10.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# blocky-tailscale-fly\n\nA private Tailscale ad-blocking DNS proxy container ready to be deployed to Fly.io.\n\n## Running locally\n\n```\ndocker build -t blocky-tailscale .\n```\n\n```\ndocker run \\\n        --rm \\\n        -e TS_AUTHKEY=tskey-auth-XXXXXXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX \\\n        -e TS_HOSTNAME=blocky-tailscale \\\n        -p 5353:53/udp \\\n        blocky-tailscale\n```\n\n## Deploying to Fly.io\n\n1. Create an app.\n\n   ```\n   fly apps create blocky-tailscale\n   ```\n\n2. Set `TS_AUTHKEY`.\n\n   ```\n   fly secrets set \\\n        --app=blocky-tailscale \\\n        TS_AUTHKEY=tskey-auth-XXXXXXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n   ```\n\n3. Set `TS_HOSTNAME` and deploy the app.\n\n   ```\n   fly deploy \\\n        --app=blocky-tailscale \\\n        --env TS_HOSTNAME=blocky-tailscale \\\n        --ha=false \\\n        --no-public-ips \\\n        --local-only\n   ```\n\n4. Persist the `tailscaled.state` file to `TS_STATE`.\n\n   ```\n   MACHINE_ID=\"$(fly machine list --app blocky-tailscale --json | jq --raw-output '.[0].id')\"\n\n   TS_STATE=\"$(fly console \\\n         --app blocky-tailscale \\\n         --machine=$MACHINE_ID \\\n         --command 'sh -c \"cat /var/lib/tailscale/tailscaled.state | gzip | base64 -w 0\"')\"\n\n   fly secrets set \\\n         --app=blocky-tailscale \\\n         TS_STATE=$TS_STATE\n   ```\n\n5. Finally, in Tailscale admin console, disable the key expiry for the the newly added node and add the IPv4 address as a nameserver.\n\n## References\n\n- https://0xerr0r.github.io/blocky/\n- https://fly.io/docs/\n- https://tailscale.com/kb/1282/docker\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdhanar10%2Fblocky-tailscale-fly","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdhanar10%2Fblocky-tailscale-fly","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdhanar10%2Fblocky-tailscale-fly/lists"}