10 Commits

Author SHA1 Message Date
baliasnyifeliks
275c1bf5f2 fix(config): correct base64 string formatting in service configurations
The base64 string for 'lampa' was incorrectly encoded as 'bGFtcGEuc3RyZWFt'
when it should be 'bGFtcGE='. This change fixes the encoding across all
service configurations to ensure proper decoding and functionality.
2026-01-14 13:28:09 +02:00
baliasnyifeliks
f3653dcec4 fix(config): correct base64 string formatting in service configurations
The changes fix missing commas between base64-encoded strings in configuration arrays across multiple service modules. This ensures proper parsing of the configuration values during runtime.

Affected modules:
- Anihub
- AnimeON
- Bamboo
- CikavaIdeya
- StarLight
- UAKino
- UaTUT
- Uaflix
- Unimay
2026-01-14 13:23:38 +02:00
baliasnyifeliks
6041ea950b feat(security): add host blocking mechanism across all online services
Adds a comprehensive host blocking system that prevents requests to specific disallowed hosts across all online streaming services. The implementation includes:

- New `NotAllowedHosts` HashSet containing base64-encoded blocked hostnames
- `IsNotAllowedHost()` method to validate URLs before making HTTP requests
- Integration in all service classes (Anihub, AnimeON, Bamboo, CikavaIdeya, StarLight, UAKino, UaTUT, Uaflix, Unimay)
- Checks applied to search, content fetching, and streaming URL resolution
- Consistent implementation pattern across both Invoke and Controller classes

This security enhancement prevents connections to potentially malicious or unauthorized streaming hosts while maintaining existing functionality for allowed sources.
2026-01-14 13:21:34 +02:00
baliasnyifeliks
1525e163dd refactor(starlight): simplify episode handling using EpisodeTpl class
- Remove manual JSON and HTML building logic in Controller.cs
- Eliminate unused image handling and selection logic
- Remove redundant JsonSerializerOptions and helper methods
- Update Episode model to remove Image property
- Simplify image selection in StarLightInvoke.cs to use single source
2026-01-14 10:03:13 +02:00
baliasnyifeliks
b7cd641da6 feat(starlight): add episode image support to episode items
- Extend episode item tuple to include image field
- Update BuildEpisodeHtml to render episode images when available
- Maintain backward compatibility for episodes without images
2026-01-14 09:47:29 +02:00
baliasnyifeliks
f32b2b2cc2 refactor(starlight): replace external HtmlEncode with local implementation
The Controller.cs file now uses a local HtmlEncode method instead of the external Shared.Models.Templates.UtilsTpl.HtmlEncode utility. This change improves encapsulation and reduces external dependencies while maintaining the same HTML encoding functionality for special characters.
2026-01-14 09:42:48 +02:00
baliasnyifeliks
0d029f362d refactor(starlight): update namespace reference for HtmlEncode utility
The change updates the UtilsTpl.HtmlEncode call to use the fully qualified
namespace Shared.Models.Templates.UtilsTpl.HtmlEncode for consistency
with the project's namespace structure and to avoid potential ambiguity
2026-01-14 09:40:45 +02:00
baliasnyifeliks
90fe957674 feat(starlight): refactor episode handling to use structured JSON data
- Replace EpisodeTpl with a new structured approach using List<(string name, object json)>
- Add BuildEpisodeJson and BuildEpisodeHtml methods for consistent output generation
- Implement proper JSON serialization with null value handling
- Add language check in OnlineApi to only process Ukrainian content
- Improve episode display with better title formatting and image handling
2026-01-14 09:39:18 +02:00
baliasnyifeliks
58bb8d194c feat(starlight): add episode image support and improve image selection
- Add Image property to Episode model
- Update episode template call to include image parameter
- Implement SelectImage helper method for flexible image source selection
- Enhance image selection logic for both main content and episodes
2026-01-14 09:31:09 +02:00
baliasnyifeliks
5bda0da6fb feat(starlight): add new online module for StarLight streaming service
- Add Controller.cs for handling StarLight API endpoints
- Add ModInit.cs for module initialization and configuration
- Add StarLightModels.cs for data models (SearchResult, ProjectInfo, etc.)
- Add OnlineApi.cs for integrating with the online API system
- Add StarLight.csproj for project configuration
- Add StarLightInvoke.cs for core functionality including search, project retrieval, and stream resolution
- Add manifest.json for module metadata and initialization

The implementation includes:
- Search functionality with caching
- Project information retrieval with season and episode handling
- Stream resolution with multiple fallback options
- Proxy support and error handling
- Integration with the existing online module system
2026-01-13 09:21:51 +02:00