{"id":42943361,"url":"https://github.com/mobilemind/moat-lms-blocker","last_synced_at":"2026-01-30T20:11:51.588Z","repository":{"id":332867378,"uuid":"1135291056","full_name":"mobilemind/moat-lms-blocker","owner":"mobilemind","description":"Block communication between elearning and an LMS or LRS.","archived":false,"fork":false,"pushed_at":"2026-01-23T03:40:39.000Z","size":128,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-23T20:56:22.662Z","etag":null,"topics":["adblock-filters","adl","aicc","cbt","cmi5","elearning","lms","lrs","scorm","tincan","ublock-origin-filters","wbt","xapi"],"latest_commit_sha":null,"homepage":"","language":null,"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/mobilemind.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","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":"2026-01-15T22:34:44.000Z","updated_at":"2026-01-23T03:40:43.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/mobilemind/moat-lms-blocker","commit_stats":null,"previous_names":["mobilemind/moat-lms-blocker"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mobilemind/moat-lms-blocker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mobilemind%2Fmoat-lms-blocker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mobilemind%2Fmoat-lms-blocker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mobilemind%2Fmoat-lms-blocker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mobilemind%2Fmoat-lms-blocker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mobilemind","download_url":"https://codeload.github.com/mobilemind/moat-lms-blocker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mobilemind%2Fmoat-lms-blocker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28918235,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-30T19:10:10.838Z","status":"ssl_error","status_checked_at":"2026-01-30T19:06:40.573Z","response_time":66,"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":["adblock-filters","adl","aicc","cbt","cmi5","elearning","lms","lrs","scorm","tincan","ublock-origin-filters","wbt","xapi"],"created_at":"2026-01-30T20:11:51.092Z","updated_at":"2026-01-30T20:11:51.581Z","avatar_url":"https://github.com/mobilemind.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Moat LMS Blocker - uBlock Origin Filter Lists\n\n[![Lint Filter Lists](https://github.com/mobilemind/moat-lms-blocker/actions/workflows/lint-filters.yml/badge.svg)](https://github.com/mobilemind/moat-lms-blocker/actions/workflows/lint-filters.yml)\n[![Lint JSON Files](https://github.com/mobilemind/moat-lms-blocker/actions/workflows/lint-json.yml/badge.svg)](https://github.com/mobilemind/moat-lms-blocker/actions/workflows/lint-json.yml)\n[![Lint Markdown Files](https://github.com/mobilemind/moat-lms-blocker/actions/workflows/lint-markdown.yml/badge.svg)](https://github.com/mobilemind/moat-lms-blocker/actions/workflows/lint-markdown.yml)\n[![Lint YAML Files](https://github.com/mobilemind/moat-lms-blocker/actions/workflows/lint-yaml.yml/badge.svg)](https://github.com/mobilemind/moat-lms-blocker/actions/workflows/lint-yaml.yml)\n\nFilter lists for [uBlock Origin](https://ublockorigin.com/) that block\ncommunications between eLearning content and Learning Management Systems (LMS)\nor Learning Record Stores (LRS).\n\nUseful for debugging eLearning content and LMS integrations by preventing\ntracking data from being sent to the server. For example, block xAPI to test\nfallback to SCORM, or block SCORM 1.2 and SCORM 2004 to test fallback to AICC\nHACP.\n\n**Why MOAT?**\n\nOnce upon a time I had greater ambitions for a \"Multi-protocol Online Analytic\nTool\" for elearning to isolate content from the LMS castle. _Or perhaps it was_\n_vice versa?_ This is the polished version of hacks I made about ten years ago.\n\n## Installation for uBlock Origin (Recommended)\n\nuBlock Origin requires manual import of filter lists. Follow these steps:\n\n1. Open uBlock Origin dashboard (click the uBO icon, then the gear icon)\n2. Go to the **Filter lists** tab\n3. Scroll to the bottom and check **Import** under \"Custom\"\n4. Paste one or more of these URLs:\n\n```text\nhttps://raw.githubusercontent.com/mobilemind/moat-lms-blocker/main/filters/moat-scorm12.txt\nhttps://raw.githubusercontent.com/mobilemind/moat-lms-blocker/main/filters/moat-scorm2004.txt\nhttps://raw.githubusercontent.com/mobilemind/moat-lms-blocker/main/filters/moat-xapi.txt\nhttps://raw.githubusercontent.com/mobilemind/moat-lms-blocker/main/filters/moat-cmi5.txt\nhttps://raw.githubusercontent.com/mobilemind/moat-lms-blocker/main/filters/moat-aicc.txt\n```\n\n5. Click **Apply changes**\n\n## Quick Subscribe Links (Adblock Plus)\n\nFor Adblock Plus users, click to subscribe:\n\n| Filter List | Description | Subscribe |\n|-------------|-------------|-----------|\n| **SCORM 1.2** | Blocks SCORM 1.2 runtime communications | [Subscribe](https://subscribe.adblockplus.org/?location=https://raw.githubusercontent.com/mobilemind/moat-lms-blocker/main/filters/moat-scorm12.txt\u0026title=Moat%20SCORM%201.2%20Blocker) |\n| **SCORM 2004** | Blocks SCORM 2004 runtime communications | [Subscribe](https://subscribe.adblockplus.org/?location=https://raw.githubusercontent.com/mobilemind/moat-lms-blocker/main/filters/moat-scorm2004.txt\u0026title=Moat%20SCORM%202004%20Blocker) |\n| **xAPI** | Blocks Experience API (Tin Can) communications | [Subscribe](https://subscribe.adblockplus.org/?location=https://raw.githubusercontent.com/mobilemind/moat-lms-blocker/main/filters/moat-xapi.txt\u0026title=Moat%20xAPI%20Blocker) |\n| **cmi5** | Blocks cmi5 launch parameters and communications | [Subscribe](https://subscribe.adblockplus.org/?location=https://raw.githubusercontent.com/mobilemind/moat-lms-blocker/main/filters/moat-cmi5.txt\u0026title=Moat%20cmi5%20Blocker) |\n| **AICC** | Blocks AICC/HACP protocol communications | [Subscribe](https://subscribe.adblockplus.org/?location=https://raw.githubusercontent.com/mobilemind/moat-lms-blocker/main/filters/moat-aicc.txt\u0026title=Moat%20AICC%20Blocker) |\n\n## Toggling Filter Lists\n\nEach subscribed filter list appears with a checkbox in the uBlock Origin Filter\nlists tab. Uncheck to disable, check to enable. Click **Apply changes** after\ntoggling.\n\n## Browser Compatibility\n\n| Browser | Support |\n|---------|---------|\n| **Firefox** | Full support |\n| **Edge** | Full support |\n| **Chrome** | Limited (use [uBlock Origin Lite](https://chromewebstore.google.com/detail/ublock-origin-lite/ddkjiahejlhfcafbddmgiahcphecmpfh)) |\n| **Brave** | Full support |\n| **Opera** | Full support |\n\nNote: Chrome's Manifest V3 restrictions limit uBlock Origin functionality.\nFirefox and Edge provide the best experience.\n\n## What Gets Blocked\n\n### SCORM 1.2 \u0026 2004\n\n- Runtime library scripts (scormdriver.js, APIWrapper.js, etc.)\n- LMS API communication files\n- Common authoring tool output (Articulate, Captivate, Lectora)\n\n### xAPI (Experience API)\n\n- Statement endpoints (`/xAPI/statements/`)\n- Agent and activity endpoints\n- State and profile endpoints\n- TinCanJS libraries\n- Common LRS paths (`/tcapi/`, `/lrs/`)\n\n### cmi5\n\n- Launch parameters (fetch, registration, activityId)\n- Course structure manifests (cmi5.xml, tincan.xml)\n- Authentication endpoints\n- cmi5 client libraries\n\n### AICC\n\n- HACP protocol commands (getparam, putparam, exitau, etc.)\n- AICC communication files\n\n## Testing \u0026 Debugging\n\nSee [TESTING.md](TESTING.md) for:\n\n- Verifying blockers are working\n- Using SCORM Cloud as a test environment\n- Debugging scenarios (protocol fallback, offline behavior)\n- Browser Developer Tools tips\n\n## Contributing\n\nFound a pattern that should be blocked? See [CONTRIBUTING.md](CONTRIBUTING.md) for\nguidelines on reporting issues and submitting pull requests.\n\nFilter lists are validated using [AGLint](https://github.com/AdguardTeam/AGLint), a\nuniversal adblock filter list linter that checks for syntax errors and validates\nuBlock Origin filter syntax.\n\n## License\n\nMIT License - See [LICENSE](LICENSE) file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmobilemind%2Fmoat-lms-blocker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmobilemind%2Fmoat-lms-blocker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmobilemind%2Fmoat-lms-blocker/lists"}