A copyright violation detector running on Wikimedia Cloud Services https://tools.wmflabs.org/copyvios/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
dependabot[bot] 71876f6683
Bump aiohttp from 3.14.3 to 3.14.4 in the uv group across 1 directory
пре 2 дана
.github/workflows Tweak slightly and regenerate uv lock пре 2 месеци
i18n Localisation updates from https://translatewiki.net. пре 2 дана
logs Always have a log dir. пре 12 година
scripts Initial Python 3 conversion пре 5 месеци
src/copyvios Move a default value earlier пре 3 недеља
.gitignore Add localization support пре 2 месеци
.pre-commit-config.yaml Bump ruff/pyright versions пре 5 месеци
LICENSE Initial Python 3 conversion пре 5 месеци
Makefile Update Makefile пре 5 месеци
README.md Bump earwigbot to fix import bug and get pre-commit working пре 5 месеци
app.py Set Cache-Control on static files with a version tag пре 5 месеци
pyproject.toml Tweak slightly and regenerate uv lock пре 2 месеци
schema.sql Store more in history table пре 2 месеци
tool_translations_config.py Add a fallback for pms -> it пре 1 месец
uv.lock Bump aiohttp from 3.14.3 to 3.14.4 in the uv group across 1 directory пре 2 дана

README.md

This is a copyright violation detector web tool for Wikipedia articles running on Wikimedia Cloud Services at copyvios.toolforge.org.

It can search the web for content similar to a given article, and graphically compare an article to specific URLs. Some technical details are expanded upon in a blog post, though much of it is outdated.

Installation

  • If using Toolforge, clone the repository to ~/www/python/src, or otherwise symlink it to that directory.

  • Create a virtual environment and install the dependencies. On Toolforge, this should be in ~/www/python/venv, otherwise it can be in a subdirectory of the git project named .venv:

    python3 -m venv .venv
    . .venv/bin/activate
    pip install -e .
    
  • If you intend to modify CSS or JS, install the frontend dependencies:

    npm install -g uglify-js cssnano postcss postcss-cli
    
  • Create an SQL database with the tables defined by schema.sql.

  • Create an earwigbot instance in .earwigbot (run earwigbot .earwigbot). In .earwigbot/config.yml, fill out the connection info for the database by adding the following to the wiki section:

    copyvios:
      oauth:
        consumer_token: <oauth consumer token>
        consumer_secret: <oauth consumer secret>
      sql:
        engine: mysql
        host: <hostname of database server>
        db: <name of database>
    

Running

  • Run make to minify JS and CSS files after making any frontend changes.

  • Start your WSGI server pointing to app:app. For production, uWSGI or Gunicorn are likely good options. For development, use flask run.