⚠️ NOTICE: This repository is now archived.
Please use the S.to-like Framework Generator to create custom plugins for Aniworld, S.to, or any other compatible German streaming site!The generator provides:
- ✨ Easy custom plugin creation via web interface
- 📱 QR code generation for instant mobile setup
- 🎯 Support for any S.to/Aniworld-compatible site
- 💾 Downloadable config files
This plugin provides support for Aniworld.to - a German anime streaming platform.
For the S.to TV series plugin, see: grayjay-source-sto
Both sites share the same HTML structure and URL patterns, differing only in:
- Base domain (aniworld.to vs s.to)
- Content type path (
/anime/vs/serie/)
/{content-type}/stream/{title-slug}/staffel-{season}/episode-{episode}
Examples:
- Aniworld:
https://aniworld.to/anime/stream/one-punch-man/staffel-3/episode-1 - S.to:
https://s.to/serie/stream/alien-earth/staffel-1/episode-1
- ✅ Search functionality
- ✅ Series/Anime browsing as channels
- ✅ Episode listings with season support
- ✅ Multiple language and hoster support
- ✅ Content metadata extraction
- ✅ Home page featured content
grayjay-sources-grayjay-source-aniworld/
├── AniworldConfig.json # Config for Aniworld.to
├── AniworldScript.js # Script for Aniworld.to
├── AniworldIcon.png # Icon for Aniworld.to
├── README.md # This file
├── QUICK_START.md # Quick start guide
├── FRAMEWORK_COMPARISON.md # Framework comparison docs
└── .research/ # Research data (HAR files)
If you encounter another site using this framework (common with German streaming sites), you can easily add support:
Copy AniworldConfig.json or StoConfig.json and modify:
{
"name": "YourSite",
"description": "Your site description",
"platformUrl": "https://yoursite.com",
"scriptUrl": "./YourSiteScript.js",
"id": "yoursite-unique-id",
"allowUrls": ["yoursite.com"]
}Copy either AniworldScript.js or StoScript.js and change only these constants:
const PLATFORM = "YourSite";
const BASE_URL = "https://yoursite.com";
const CONTENT_TYPE = "serie"; // or "anime" or whatever the site usesAdd YourSiteIcon.png (recommended: 192x192 PNG)
- VOE
- Doodstream
- Vidoza
- Streamtape
- Vidmoly
- German (Deutsch)
- German Subtitles
- English
- English Subtitles
- Japanese
- Japanese Subtitles
The plugin looks for these common elements:
.series-title h1- Series titlep.seri_des- Series description.seriesCoverBox img- Cover imagetable.seasonEpisodesList tbody tr- Episode listul.row li- Hoster/stream linksdiv.changeLanguageBox img- Language options
- No video playback support yet (hosters need individual handling)
- No comment support
- Limited metadata (views, ratings not available from HTML)
- Authentication not fully tested
| Feature | Aniworld.to | S.to |
|---|---|---|
| Content Type | anime | serie |
| Max Seasons Checked | 10 | 20 |
| Language Focus | Japanese/German/English | German/English |
The script includes try-catch blocks around all major functions to prevent crashes. Errors are logged via log() function.
- Add actual video source extraction
- Support for playlists/favorites
- User authentication
- Better thumbnail extraction
- Metadata like views, ratings, release dates
- Episode descriptions
- Genre filtering
- More robust DOM parsing for layout variations
To test the plugin:
- Load the config file in GrayJay
- Try searching for a popular series/anime
- Browse to a series page (channel)
- View episode list
- Click on an episode
Feel free to:
- Add support for more sites using this framework
- Improve HTML parsing for edge cases
- Add missing features
- Report bugs
- S.to Plugin - For German TV series (uses same framework)
- Zerophire - Original concept
- Bluscream - Framework development and implementation
- Cursor.AI - AI-assisted development
- Based on GrayJay plugin architecture
Check the repository for license information.