{"id":13517065,"url":"https://github.com/CaptainFact/captain-fact-extension","last_synced_at":"2025-03-31T07:30:58.327Z","repository":{"id":48753028,"uuid":"102588481","full_name":"CaptainFact/captain-fact-extension","owner":"CaptainFact","description":"🔎 CaptainFact - Browser Extension. Displays facts on YouTube videos","archived":false,"fork":false,"pushed_at":"2024-02-13T13:28:58.000Z","size":3479,"stargazers_count":41,"open_issues_count":8,"forks_count":3,"subscribers_count":10,"default_branch":"staging","last_synced_at":"2024-10-30T05:43:05.650Z","etag":null,"topics":["captain-fact","chrome-extension","collaborative","fact-checking","react","video","web-extension","youtube"],"latest_commit_sha":null,"homepage":"https://captainfact.io/extension","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CaptainFact.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2017-09-06T09:15:08.000Z","updated_at":"2024-08-29T14:30:11.000Z","dependencies_parsed_at":"2024-03-01T15:47:19.081Z","dependency_job_id":null,"html_url":"https://github.com/CaptainFact/captain-fact-extension","commit_stats":{"total_commits":140,"total_committers":8,"mean_commits":17.5,"dds":"0.19999999999999996","last_synced_commit":"aa58788155d143f5f61fde75c865125dc50b11a7"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CaptainFact%2Fcaptain-fact-extension","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CaptainFact%2Fcaptain-fact-extension/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CaptainFact%2Fcaptain-fact-extension/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CaptainFact%2Fcaptain-fact-extension/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CaptainFact","download_url":"https://codeload.github.com/CaptainFact/captain-fact-extension/tar.gz/refs/heads/staging","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246093164,"owners_count":20722403,"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","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":["captain-fact","chrome-extension","collaborative","fact-checking","react","video","web-extension","youtube"],"created_at":"2024-08-01T05:01:29.232Z","updated_at":"2025-03-31T07:30:58.308Z","avatar_url":"https://github.com/CaptainFact.png","language":"JavaScript","funding_links":["https://opencollective.com/captainfact_io","https://opencollective.com/captainfact_io/donate"],"categories":["JavaScript"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\u003cimg src=\"app/assets/img/icon.png\" height=\"100\"/\u003e\u003c/p\u003e\n\u003ch1 align=\"center\"\u003e\u003ca href=\"https://captainfact.io\"\u003eCaptainFact.io\u003c/a\u003e\u003c/h1\u003e\n\n\u003ctable\u003e\n  \u003cthead\u003e\n    \u003ctr\u003e\n      \u003cth\u003eCommunity\u003c/th\u003e\n      \u003cth\u003eMaster\u003c/th\u003e\n      \u003cth\u003eStaging\u003c/th\u003e\n    \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\n        \u003ca href=\"https://discord.gg/2Qd7hMz\" title=\"Discord\"\u003e\u003cimg src=\"https://discordapp.com/api/guilds/416782744748687361/widget.png\" alt=\"Discord\"\u003e\u003c/a\u003e\n        \u003ca href=\"https://twitter.com/CaptainFact_io\" title=\"Twitter\"\u003e\u003cimg src=\"https://img.shields.io/twitter/follow/CaptainFact_io.svg?style=social\u0026label=Follow\"\u003e\u003c/a\u003e\n        \u003ca href=\"https://opencollective.com/captainfact_io\" title=\"Backers on Open Collective\"\u003e\u003cimg src=\"https://opencollective.com/captainfact_io/backers/badge.svg\"\u003e\u003c/a\u003e\n        \u003ca href=\"./LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/github/license/CaptainFact/captain-fact-extension.svg\" alt=\"GPL3\"\u003e\u003c/a\u003e\n        \u003ca href=\"https://github.com/CaptainFact/captain-fact-extension/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/CaptainFact/captain-fact-extension\" alt=\"GitHub release\" /\u003e\u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n        \u003ca href=\"https://github.com/CaptainFact/captain-fact-extension/actions/workflows/ci.yml\"\u003e\u003cimg src=\"https://github.com/CaptainFact/captain-fact-extension/actions/workflows/ci.yml/badge.svg\" alt=\"Build Status\"/\u003e\u003c/a\u003e\n        \u003ca href='https://coveralls.io/github/CaptainFact/captain-fact-extension?branch=master'\u003e\u003cimg src='https://coveralls.io/repos/github/CaptainFact/captain-fact-extension/badge.svg?branch=master' alt='Coverage Status' /\u003e\u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n        \u003ca href=\"https://github.com/CaptainFact/captain-fact-extension/actions/workflows/ci.yml\"\u003e\u003cimg src=\"https://github.com/CaptainFact/captain-fact-extension/actions/workflows/ci.yml/badge.svg?branch=staging\" alt=\"Build Status\"/\u003e\u003c/a\u003e\n        \u003ca href='https://coveralls.io/github/CaptainFact/captain-fact-extension?branch=staging'\u003e\u003cimg src='https://coveralls.io/repos/github/CaptainFact/captain-fact-extension/badge.svg?branch=staging' alt='Coverage Status' /\u003e\u003c/a\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n\u003chr/\u003e\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://opencollective.com/captainfact_io/donate\" target=\"_blank\"\u003e\n  \u003cimg src=\"https://opencollective.com/captainfact_io/donate/button@2x.png?color=blue\" width=300 /\u003e\n\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n## Install\n\n| **Chrome**     | **Firefox**    | **Opera**                        | **Safari** | **EDGE** |\n| -------------- | -------------- | -------------------------------- | ---------- | -------- |\n| [Available][0] | [Available][1] | Works with [Chrome extension][0] | Not yet    | Not yet  |\n\n[0]: https://chrome.google.com/webstore/detail/captainfact-beta/fnnhlmbnlbgomamcolcpgncflofhjckm 'Install for Chrome'\n[1]: https://addons.mozilla.org/en-US/firefox/addon/captainfact/ 'Add to Firefox'\n\n## Extension Features\n\n### Icon helper\n\nA small icon appears when you're watching a video that has been verified on CaptainFact.io. It\ntells you, based on votes, if the statement you're hearing (or what is shown) is believed to be\ntrue or false.\n\n![Icon approve](misc/approve.gif)\n![Icon refute](misc/refute.gif)\n\n### Facts overlay\n\nWhen clicked, the CaptainFact icon displays facts and comments about current statement and\ntheir respective scores.\n\n![Demo screenshot](misc/demo-youtube.jpg)\n\n## Development\n\n### Start the API\n\nSee https://github.com/CaptainFact/captain-fact-api\n\n### Run local extension development server\n\n- Install (if you don't have them):\n  - [Node.js](http://nodejs.org)\n  - App dependencies: `npm install`\n  - `npm start` - Start the overlay injector test pages on http://localhost:3342\n  - `npm run test` - Runs all unit tests\n\n## FAQ\n\n- Why do you need storage permissions?\n\nWe store a local cache of videos IDs that exist on CaptainFact. This cache gets updated when you visit YouTube\nif it's older than 15 minutes. This is a privacy improvement that guarantees we don't track the videos you're\nwatching and don't send unnecessary requests.\n\n- Why do you need Youtube permissions?\n\nTo be able to inject the facts overlay on YouTube videos.\n\n- Why do you only inject on youtube.com and not in embedded players everywhere else?\n\nWe may want to implement this in a separate release in the future. We don't want to implement\nthis feature in main extension cause it means asking for permissions to access all your sites.\n\n- Can I add sources on videos directly from the extension?\n\nNot at the moment.\n\n## Linked projects\n\n- [Community discussions and documentation](https://github.com/CaptainFact/captain-fact/)\n- [API](https://github.com/CaptainFact/captain-fact-api)\n- [Frontend](https://github.com/CaptainFact/captain-fact-frontend)\n- [Overlay Injector](https://github.com/CaptainFact/captain-fact-overlay-injector)\n\n## License\n\nGNU General Public License v3.0\n\nPermissions of this strong copyleft license are conditioned on making available complete source code of licensed works\nand modifications, which include larger works using a licensed work, under the same license. Copyright and license\nnotices must be preserved. Contributors provide an express grant of patent rights.\n\nSee [LICENSE](LICENSE) for more info.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FCaptainFact%2Fcaptain-fact-extension","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FCaptainFact%2Fcaptain-fact-extension","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FCaptainFact%2Fcaptain-fact-extension/lists"}