{"id":17196738,"url":"https://github.com/weppos/brighella","last_synced_at":"2025-09-21T22:31:15.490Z","repository":{"id":39617940,"uuid":"52306782","full_name":"weppos/brighella","owner":"weppos","description":"A simple URL-masking redirect service built on Go.","archived":false,"fork":false,"pushed_at":"2025-03-19T08:01:28.000Z","size":365,"stargazers_count":17,"open_issues_count":0,"forks_count":9,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-04T09:03:43.708Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/weppos.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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":"2016-02-22T21:21:16.000Z","updated_at":"2025-03-19T08:01:31.000Z","dependencies_parsed_at":"2024-06-19T01:41:03.565Z","dependency_job_id":"1e0d60b1-67c1-43ad-ba99-9e9a2ce32f67","html_url":"https://github.com/weppos/brighella","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/weppos/brighella","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weppos%2Fbrighella","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weppos%2Fbrighella/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weppos%2Fbrighella/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weppos%2Fbrighella/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/weppos","download_url":"https://codeload.github.com/weppos/brighella/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weppos%2Fbrighella/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":276318278,"owners_count":25621648,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-21T02:00:07.055Z","response_time":72,"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":[],"created_at":"2024-10-15T01:54:25.732Z","updated_at":"2025-09-21T22:31:15.277Z","avatar_url":"https://github.com/weppos.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Brighella\n\n_Brighella_ is a simple URL-masking redirect service built on Go.\n\nIt is designed to be deployed on a PaaS service such as Heroku, and it requires zero configuration. The redirect target is fetched from a specific DNS record attached to the requested host.\n\n[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/weppos/brighella)\n\n[Brighella](https://en.wikipedia.org/wiki/Brighella) is a comic, masked character from the Commedia dell'arte. It's also an Italian carnival mask.\n\n\n## How it works\n\nThe redirect is performed using an iframe. The target URL is rendered in an iframe, so that the URL will continue to match your URL in the browser, but the user will effectively navigate in the target URL.\n\nThis is known as _iframe masking_, _masked redirect_, _masked forwarding_ or _iframe redirect_.\n\nPlease note that the target site may explicitly forbid the displaying of the content within an iframe (using the [`X-Frame-Options` header](https://developer.mozilla.org/en-US/docs/Web/HTTP/X-Frame-Options)). In that case, there is nothing you can do because that's what the owner of the target URL wants.\n\n\n## Usage\n\nLet's assume you want to redirect `example.com` to `http://somesite.com`. What you have to do is:\n\n- Deploy the application\n- Make sure the app is properly configured to respond to the `example.com` domain (for Heroku use the `domains:add example.com` command)\n- Make sure the DNS record for `example.com` points to the server where the app is deployed\n- Configure a DNS TXT record called `_frame.example.com` with the content `http://somesite.com`\n\nThat's it. The app will automatically try to load the target of the redirect from the DNS record.\n\nYou can configure as many domains you want for a single instance of the application, as long as each domain has a corresponding `_frame` record.\n\nImportant: that the record name MUST match the domain name, prefixed with `_frame`. Here's some examples of expected configurations:\n\n```\nexample.com requires _frame.example.com\nwww.example.com requires _frame.www.example.com\nsubdomain.example.com requires _frame.subdomain.example.com\n```\n\nIf you need a reliable DNS provider to manage your domain, [check out DNSimple](https://dnsimple.com/). FYI, this project was born in response to the various customers at DNSimple that asked us information about how to configure an URL-masked redirect.\n\n\n## License\n\nCopyright (c) 2016-2020 Simone Carletti. This is Free Software distributed under the MIT license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweppos%2Fbrighella","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fweppos%2Fbrighella","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweppos%2Fbrighella/lists"}