{"id":15134666,"url":"https://github.com/earwig/copyvios","last_synced_at":"2025-08-01T11:09:26.362Z","repository":{"id":141189313,"uuid":"2020905","full_name":"earwig/copyvios","owner":"earwig","description":"A copyright violation detector running on Wikimedia Cloud Services","archived":false,"fork":false,"pushed_at":"2025-01-02T07:33:01.000Z","size":501,"stargazers_count":38,"open_issues_count":12,"forks_count":10,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-01-30T13:37:13.134Z","etag":null,"topics":["copyright-violation-detection","mediawiki","plagiarism-prevention","wikipedia"],"latest_commit_sha":null,"homepage":"https://copyvios.toolforge.org","language":"Mako","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/earwig.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,"publiccode":null,"codemeta":null}},"created_at":"2011-07-09T02:09:19.000Z","updated_at":"2025-01-29T02:07:15.000Z","dependencies_parsed_at":null,"dependency_job_id":"49d96901-6094-4208-bf45-c64c7dfc3550","html_url":"https://github.com/earwig/copyvios","commit_stats":{"total_commits":440,"total_committers":5,"mean_commits":88.0,"dds":"0.46818181818181814","last_synced_commit":"1f893911eb30f8df038367def26d16aeaab346e4"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/earwig%2Fcopyvios","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/earwig%2Fcopyvios/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/earwig%2Fcopyvios/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/earwig%2Fcopyvios/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/earwig","download_url":"https://codeload.github.com/earwig/copyvios/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237811567,"owners_count":19370151,"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":["copyright-violation-detection","mediawiki","plagiarism-prevention","wikipedia"],"created_at":"2024-09-26T05:23:39.779Z","updated_at":"2025-02-08T13:31:22.426Z","avatar_url":"https://github.com/earwig.png","language":"Mako","funding_links":[],"categories":[],"sub_categories":[],"readme":"This is a [copyright violation](https://en.wikipedia.org/wiki/WP:COPYVIO)\ndetector running on [Wikimedia Cloud Services](https://copyvios.toolforge.org/).\n\nIt can search the web for content similar to a given article, and graphically\ncompare an article to a specific URL. Some technical details are expanded upon\n[in a blog post](https://benkurtovic.com/2014/08/20/copyvio-detector.html).\n\nDependencies\n============\n\n* [earwigbot](https://github.com/earwig/earwigbot) \u003e= 0.1\n* [flask](https://flask.palletsprojects.com/) \u003e= 0.10.1\n* [flask-mako](https://pythonhosted.org/Flask-Mako/) \u003e= 0.3\n* [mako](https://www.makotemplates.org/) \u003e= 0.7.2\n* [mwparserfromhell](https://github.com/earwig/mwparserfromhell) \u003e= 0.3\n* [mwoauth](https://github.com/mediawiki-utilities/python-mwoauth) == 0.3.8\n* [oursql](https://pythonhosted.org/oursql/) \u003e= 0.9.3.1\n* [requests](https://requests.readthedocs.io/) \u003e= 2.9.1\n* [SQLAlchemy](https://www.sqlalchemy.org/) \u003e= 0.9.6\n* [apsw](https://github.com/rogerbinns/apsw) \u003e= 3.26.0\n* [uglifyjs](https://github.com/mishoo/UglifyJS) \u003e= 3.12.6\n* [cssnano](https://github.com/cssnano/cssnano) \u003e= 4.1.10\n* [postcss-cli](https://github.com/postcss/postcss-cli) \u003e= 8.3.1\n\nRunning\n=======\n\n- If using Toolforge, you should clone the repository to `~/www/python/src`, or\n  otherwise symlink it to that directory. A\n  [virtualenv](https://virtualenv.pypa.io/) should be created at\n  `~/www/python/venv`.\n\n- Install all dependencies listed above.\n\n- Create an SQL database with the `cache` and `cache_data` tables defined by\n  [earwigbot-plugins](https://github.com/earwig/earwigbot-plugins/blob/develop/tasks/schema/afc_copyvios.sql).\n\n- Create an earwigbot instance in `.earwigbot` (run `earwigbot .earwigbot`). In\n  `.earwigbot/config.yml`, fill out the connection info for the database by\n  adding the following to the `wiki` section:\n\n        _copyviosSQL:\n            host: \u003chostname of database server\u003e\n            db:   \u003cname of database\u003e\n\n  If additional arguments are needed by `oursql.connect()`, like usernames or\n  passwords, they should be added to the `_copyviosSQL` section.\n\n- Run `./build.py` to minify JS and CSS files.\n\n- Start the web server (on Toolforge, `webservice uwsgi-python start`).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fearwig%2Fcopyvios","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fearwig%2Fcopyvios","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fearwig%2Fcopyvios/lists"}