{"id":35313520,"url":"https://github.com/andersfugmann/rateflix","last_synced_at":"2026-04-21T21:08:34.073Z","repository":{"id":324563511,"uuid":"1097659279","full_name":"andersfugmann/rateflix","owner":"andersfugmann","description":"Display ratings on popular streaming services","archived":false,"fork":false,"pushed_at":"2026-04-21T20:31:05.000Z","size":211,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-21T20:32:23.230Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"OCaml","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/andersfugmann.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-16T15:48:14.000Z","updated_at":"2026-04-21T20:28:45.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/andersfugmann/rateflix","commit_stats":null,"previous_names":["andersfugmann/rateflix"],"tags_count":40,"template":false,"template_full_name":null,"purl":"pkg:github/andersfugmann/rateflix","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andersfugmann%2Frateflix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andersfugmann%2Frateflix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andersfugmann%2Frateflix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andersfugmann%2Frateflix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andersfugmann","download_url":"https://codeload.github.com/andersfugmann/rateflix/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andersfugmann%2Frateflix/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32110223,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-21T11:25:29.218Z","status":"ssl_error","status_checked_at":"2026-04-21T11:25:28.499Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":"2025-12-30T18:06:51.813Z","updated_at":"2026-04-21T21:08:34.068Z","avatar_url":"https://github.com/andersfugmann.png","language":"OCaml","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Rateflix\n\nA browser extension that adds IMDB rating overlays to popular streaming services.\n\n## Supported streaming services\n* Netflix\n* HBO Max (Max)\n* Prime Video\n* Apple TV+\n* Disney+\n\n## Architecture\n\nRateflix has two components:\n\n1. **Browser plugin** — content scripts injected into streaming sites that display IMDB rating badges\n2. **Rating server** — an HTTP service that loads IMDB datasets into memory and provides fuzzy title lookup\n\nThe plugin queries the server for ratings and caches results in browser storage.\n\n## Installing the plugin\n\n### From a release archive\n\n1. Download `rateflix-plugin-\u003cversion\u003e.tar.gz` from the [latest release](https://github.com/andersfugmann/rateflix/releases/latest)\n2. Extract the archive: `tar xzf rateflix-plugin-*.tar.gz`\n3. Open Chrome/Edge and navigate to `chrome://extensions`\n4. Enable **Developer mode** (toggle in the top-right corner)\n5. Click **Load unpacked** and select the extracted `rateflix-plugin` directory\n\n### Building from source\n\n```bash\nopam install . --deps-only\nmake plugin\n```\n\nThen load the `plugin/` directory as an unpacked extension (see above).\n\n## Installing the server\n\n### From a Debian package\n\nDownload `rateflix-server_\u003cversion\u003e_amd64.deb` from the [latest release](https://github.com/andersfugmann/rateflix/releases/latest) and install:\n\n```bash\nsudo dpkg -i rateflix-server_*.deb\n```\n\nThe server is managed via systemd and starts automatically. IMDB data is downloaded on first start.\n\n### Building from source\n\n```bash\nopam install . --deps-only\nmake server-release\n```\n\nRun with:\n\n```bash\n_build/default/server/rateflix_server.exe --data-dir data/\n```\n\nOn first run, download the IMDB data files:\n\n```bash\nmake download\n```\n\n### Building a Debian package locally\n\n```bash\ndpkg-buildpackage -b -uc\n```\n\nThe `.deb` is written to the parent directory.\n\n## Server options\n\n```\nrateflix-server [--data-dir=DIR] [--port=PORT]\n```\n\n| Option | Default | Description |\n|--------|---------|-------------|\n| `--data-dir DIR` | `.` | Directory containing IMDB data files |\n| `--port PORT` | `1913` | Port to listen on |\n\nThe server listens on all interfaces (IPv4 and IPv6) on the specified port.\n\n## Configuring the server address in the plugin\n\nThe plugin connects to the rating server at `127.0.0.1:1913` by default, which works for a locally running server.\n\nTo change the server address:\n\n1. Click the Rateflix extension icon in your browser toolbar\n2. In the **Server Host** field, enter the address (e.g. `127.0.0.1:1913` or `https://rateflix.example.com`)\n3. Click **Save**\n\nThe field accepts `host:port` (uses `http://`) or a full URL with protocol (`https://host:port`).\n\n### Remote server with HTTPS\n\nBrowsers block plain HTTP requests from HTTPS pages (mixed content), so a remote server must be accessed over HTTPS. The simplest approach is to put an nginx reverse proxy in front of the rateflix server:\n\n```nginx\nserver {\n    listen 443 ssl;\n    server_name rateflix.example.com;\n\n    ssl_certificate     /etc/letsencrypt/live/rateflix.example.com/fullchain.pem;\n    ssl_certificate_key /etc/letsencrypt/live/rateflix.example.com/privkey.pem;\n\n    location / {\n        proxy_pass http://127.0.0.1:1913;\n        proxy_set_header Host $host;\n    }\n}\n```\n\nThen configure the plugin with `https://rateflix.example.com`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandersfugmann%2Frateflix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandersfugmann%2Frateflix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandersfugmann%2Frateflix/lists"}