offcourse
v1.2.2
Published
Download online courses for offline access – of course!
Maintainers
Readme
Offcourse
Download online courses for offline access – of course! 📚
→ View Documentation & Homepage
Quick Start
# Install
npm install -g offcourse
# Download a course
offcourse sync <course-url>
# Or run without installing
npx offcourse sync <course-url>Requires Node.js 22+ and ffmpeg for HLS videos.
Supported Platforms
| Platform | URL Pattern |
|----------|-------------|
| Skool | skool.com/community/classroom |
| HighLevel | member.*.com/courses/... |
| LearningSuite | *.learningsuite.io/student/... |
Key Commands
# Sync a course (auto-detects platform)
offcourse sync <url>
# Sync with options
offcourse sync <url> --skip-videos # Text only
offcourse sync <url> --dry-run # Preview
offcourse sync <url> --limit 5 # Test with 5 lessons
# Unlock sequential content (LearningSuite)
offcourse complete <url>
# Configuration
offcourse config set outputDir ~/Courses
offcourse config set videoQuality 720pDevelopment
git clone https://github.com/sebastian-software/offcourse.git
cd offcourse
npm install
npm run build
npm link # optional: link globallyCommands
npm run dev # Watch mode
npm run lint # ESLint
npm run typecheck # TypeScript
npm test # Tests
npm run release # Release to npmAdding a New Platform
- Create
src/scraper/newplatform/with:auth.ts– Session detectionnavigator.ts– Course structureextractor.ts– Content extractionschemas.ts– Zod schemas
- Add CLI command in
src/cli/commands/ - Register in
src/cli/index.ts
Acknowledgments
Thanks to Sindre Sorhus for the excellent packages powering this project: slugify, conf, delay, execa, ky, p-queue, p-retry.
License
MIT
