Fully featured example source generated by @grayjay-sources/source-generator
Click this link to install in GrayJay:
Install Plugin
Or use this URL:
grayjay://plugin/https://github.com/grayjay-sources/grayjay-source-generated/releases/latest/download/config.json
Scan this QR code with the GrayJay app:
Note
Add your own screenshots to assets/screenshots/ directory and update the table below.
| Home | Video | Channel | Source |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
- Search
- Authentication
- Live Streams
- Comments
- Playlists
- Home Feed
- Channel Details
- Video Details
- REST API
- GRAPHQL
- HTML Parsing / Web Scraping
- Node.js >= 14
- npm >= 6.14.4
npm installnpm run buildThis will generate the minified plugin files in the dist/ directory.
The fastest way to test your plugin during development:
npm run testThis will:
- 🔍 Scan your local network for GrayJay dev servers (port 11337)
- 🌐 Start a local HTTP server to serve your plugin files
- 📤 Inject your plugin into the dev server automatically
- 🚀 Open the dev portal in your default browser
Requirements:
- GrayJay app running on a device with dev mode enabled
- Device on the same local network
- Plugin must be built first (
npm run build)
Development Workflow:
- Make changes to code in
src/ - Run
npm run build - Click "Reload" button in dev portal
- Test your changes immediately!
npm run build:publish [version]This will build the plugin and trigger a GitHub release. Requires GITHUB_TOKEN environment variable.
npm run devThis will watch for changes and rebuild automatically.
.
├── src/
│ ├── script.ts # Main plugin entry point
│ ├── constants.ts # Constants and configuration
│ ├── utils.ts # Utility functions
│ ├── graphql/ # GraphQL module (if applicable)
│ │ └── queries.ts
│ ├── api/ # API client module (if applicable)
│ │ └── client.ts
│ ├── mappers/ # Data mapping (if applicable)
│ │ └── index.ts
│ ├── pagers/ # Pagination classes (if applicable)
│ │ └── index.ts
│ └── state/ # State management (if applicable)
│ └── index.ts
├── assets/
│ └── qrcode.png # QR code for installation (generated once)
├── dist/ # Build output (gitignored)
│ ├── config.json # Minified plugin configuration
│ └── script.js # Minified and compiled script
├── .secrets/ # Private keys (gitignored)
│ └── signing_key.pem # RSA private key for signing
├── scripts/
│ ├── sign.js # Plugin signing script
│ └── publish.js # Publishing automation script
├── package.json
├── tsconfig.json
├── rollup.config.js
└── README.md
The plugin can be configured through the GrayJay app settings:
- Enable Debug Logging: Show detailed logs for debugging
- Platform URL: https://example.com
- Base API URL: https://api.example.com,https://backup.example.com
- Author: GrayJay Sources
- Repository: https://github.com/grayjay-sources/grayjay-source-generated
MIT License - See LICENSE file for details
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
# Publish a new version (auto-bumps patch version)
npm run publish
# Publish with specific version
npm run publish 5
# Or build, sign, and publish in one command
npm run build:publishThe publish script will:
- ✅ Bump the version (or set to specified version)
- ✅ Build the plugin
- ✅ Sign the plugin (generate signature and public key)
- ✅ Generate a QR code for installation
- ✅ Commit changes
- ✅ Create a git tag
- ✅ Push to GitHub (triggers release workflow)
- OpenSSL: Required for signing (usually pre-installed on Linux/Mac, available via Git Bash on Windows)
- Git: With configured remote repository
For issues and questions, please use the GitHub Issues page.
- Built for GrayJay
- Generated using @grayjay/source-generator




