This project is licensed under the MIT License. Copyright (c) 2026 Peterkal2112.
An automated tool designed to archive and host the Pathways Interactive Learning Package (originally by Shout Out UK) for offline educational use, resilience research, and accessibility in low-connectivity environments.
⚠️ Legal Disclaimer & ToS Warning- 🚀 How It Works (Step-by-Step)
- 📦 Installation & Usage
- 📖 Included Materials
- 🖥️ Hosting Alternatives
- 📜 Quote of the Day
READ CAREFULLY BEFORE PROCEEDING:
- Violation of Terms: This script interacts with Shout Out UK's servers. Using this tool to mirror their content may violate their Terms of Service (ToS).
- Non-Affiliation: This project is not affiliated with, authorized, or endorsed by Shout Out UK.
- Educational Use Only: This project is intended strictly for educational resilience, archiving, and research purposes.
- At Your Own Risk: The author assumes no liability for how this tool is used, for any data loss, or for potential legal repercussions.
- Ownership: All rights to the game content, videos, and logic belong to the original copyright holders.
The crawler executes a precision-engineered retrieval and mirroring process:
- Environment Targeting: You define the local installation directory (Default:
/opt/Pathways). The script validates root permissions and prepares the local filesystem. - Resource Fetching: It pulls the latest Teacher’s Guide PDF and core documentation directly into the root directory for offline reference.
- Engine Bootstrapping: The script manually "bootstraps" the core game engine. It downloads the primary logic files (
data.js,paths.js, andstory.html) and injects them into the specific Articulate Storyline directory tree (html5/data/js/) to ensure the game "brain" is correctly placed. - Recursive Deep Scan: A Python-powered Docker container scans the core engine files. It uses advanced regex pattern matching to identify obfuscated media links and internal script calls hidden within the
.jsand.cssfiles. - Structure Mirroring: Unlike standard downloaders, this tool preserves Path Integrity. It tests multiple server-side directory prefixes to locate assets and recreates that exact directory structure locally (e.g.,
story_content/,mobile/,html5/lib/). - Local Deployment: Offers an optional instant-start Python HTTP server, making the game accessible to any device on your local network (LAN) via port
8080at the/story.htmlendpoint.
Ideal for new Ubuntu/Debian setups. This version is "Zero-Config"—it performs a 5-step process that checks for curl, python3, and docker, installing them via apt if they are missing.
bash <(curl -sSL https://raw.githubusercontent.com/Peterkal2112/pathways-offline-crawler/main/pathways-crawler.sh)For advanced users who already have Docker running. This script skips all system checks and gets straight to work.
Prerequisites:
docker.iocurlpython3bash(POSIX compliant)
sudo apt update && sudo apt install -y docker.io curl python3bash <(curl -sSL https://raw.githubusercontent.com/Peterkal2112/pathways-offline-crawler/main/pathways-crawler-expert.sh)By running this crawler, you will obtain:
- ✅ The Interactive Game: Full offline-compatible mirror including the core engine logic (
html5/data/js/). - ✅ Teaching Guide:
Teaching_Guide.pdf– The complete instructional package on extremism and youth radicalisation for ages 11-18. - ✅ Zero-Latency Media: All high-definition assets downloaded locally, including 700+
.mp3audio files and.mp4video scenarios stored instory_content/. - ✅ Directory Mapping: A fully organized folder structure (
html5/,mobile/,story_content/) that matches the original Articulate Storyline deployment.
Once the files are synchronized to your local directory (Default: /opt/Pathways), you can:
- Built-in Hosting: Use the Python 3 HTTP Server option prompted at the end of the script for instant LAN access.
- Professional Web Server: Point an Nginx or Apache document root to your installation directory. This is recommended for multi-user classroom environments.
- Network Attached Storage (NAS): Host the folder on a NAS or shared drive to provide access to multiple workstations without internet connectivity.
- Static Access: Open
story.htmldirectly in a browser.[!WARNING] Modern browsers may block critical game scripts (CORS policy) when using the
file://protocol. Running through the script's HTTP server is the most reliable method.
"He who saves his Country does not violate any Law." — Donald J. Trump
I am doing my part. 🫡
Archiving for the future. Supporting the narrative. Ensuring accessibility. (Even Amelia knows that based educational tools deserve to be offline!)