97 Commits

Author SHA1 Message Date
baliasnyifeliks
7e7c8c9659 chore: remove deprecated modules and files
- Remove AnimeON module and related files
- Remove Bamboo module and related files
- Remove CikavaIdeya module and related files
- Remove StarLight module and related files
- Remove UAKino module and related files
- Remove UaTUT module and related files
- Remove Uaflix module and related files
- Remove Unimay module and related files
- Remove LICENSE and README.md files
- Remove .gitignore file
2026-01-14 13:49:25 +02:00
baliasnyifeliks
b139444cba Merge branch '20263' 2026-01-14 13:34:40 +02:00
baliasnyifeliks
ce294ba6de fix(config): remove deprecated base64 entry from service configurations
The base64 entry "bGFtcGE=" (decoding to "lampa") was removed from all service configurations across multiple modules. This entry was likely deprecated or no longer needed, as it was consistently removed from the same position in the base64 string arrays across all modified files.

The change affects 13 files across different service modules, ensuring consistency in the configuration format.
2026-01-14 13:31:49 +02:00
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
0c06d065d5 refactor(http): migrate from HttpClientHandler to SocketsHttpHandler
Update SSL certificate validation approach to use SslClientAuthenticationOptions
with a custom validation callback. This modernizes the HTTP client implementation
while maintaining the same security behavior of accepting all certificates.

BREAKING CHANGE: The underlying HTTP handler implementation has changed from
HttpClientHandler to SocketsHttpHandler, which may affect behavior in edge cases
2026-01-14 12:58:57 +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
60d7b15dc1 feat(uaflix): normalize voice names in aggregated structure
Add NormalizeUaflixVoiceNames method to standardize voice naming
by converting "Uaflix #2" or "Uaflix #3" to "Uaflix" when base name
is missing. This ensures consistent voice naming across the system.

The method checks for existing voice keys and renames them
appropriately to maintain a single canonical voice name.
2026-01-14 09:18:51 +02:00
baliasnyifeliks
768c916b1d feat(api): add streamlink parameter to call method
The change adds a new 'streamlink' parameter to the call method in the Controller
to support direct playback functionality. This enhances the API by providing
a dedicated endpoint for streaming content with play=true query parameter.
2026-01-14 09:01:01 +02:00
baliasnyifeliks
838dc96aa9 refactor(uakino): replace Http.Get with custom GetString method
Implement a new GetString method using HttpClient for better control over
HTTP requests including proxy handling, SSL validation, and timeout management.
This replaces the previous Http.Get calls throughout the UAKino module to
standardize request handling and improve reliability.
2026-01-14 08:47:38 +02:00
baliasnyifeliks
c9442a20c7 refactor(season): rename loop variable for consistency
The loop variable `season` was renamed to `seasonInfo` to maintain consistency
with the naming convention used in the rest of the codebase and improve
code readability.
2026-01-13 15:01:49 +02:00
baliasnyifeliks
cfc0539f9f refactor(season): rename loop variables for clarity and consistency
The loop variables in season processing methods were renamed from 'season' to 'seasonItem' and 'seasonInfo' to improve code readability and avoid naming conflicts. This change maintains the same functionality while making the code more maintainable.
2026-01-13 14:59:01 +02:00
baliasnyifeliks
257d3445a1 feat(season): implement dynamic season number extraction and episode loading
- Add GetSeasonNumber method to extract season numbers from titles
- Implement LoadMissingSeasonEpisodes to fetch episodes for seasons without them
- Refactor season handling to use AddSeason method for consistency
- Improve episode template generation with proper season numbering
2026-01-13 14:53:06 +02:00
baliasnyifeliks
cd67ea1639 fix(media): improve stream URL handling and regex pattern
- Fix regex pattern in CikavaIdeyaInvoke.cs to properly match quoted file URLs
- Simplify stream URL handling in Controller.cs by removing redundant proxy logic
- Ensure consistent file endings by adding newline to CikavaIdeyaInvoke.cs
2026-01-13 11:49:49 +02:00
baliasnyifeliks
497dbc2b09 fix(media): handle stream URL transformation for proxy URLs
The change ensures that when a stream URL is returned from the proxy,
it is properly transformed using accsArgs if it starts with the proxy path.
This fixes an issue where proxy URLs were not being processed correctly
before redirection.
2026-01-13 11:31:12 +02:00
baliasnyifeliks
82ada61367 fix(media): add streamproxy condition for ashdi.vip stream handling
The ashdi.vip stream handling now requires the streamproxy configuration
to be enabled before applying custom headers. This prevents unintended
header modifications when the proxy is not configured.
2026-01-13 11:26:20 +02:00
baliasnyifeliks
7451df2c27 fix(media): update referer header and stream handling for ashdi.vip
- Change referer header from dynamic host to fixed ashdi.vip URL
- Update regex pattern to handle both single and double quotes in file attribute
- Add conditional stream header and proxy forcing for ashdi.vip links
2026-01-13 11:21:33 +02:00
baliasnyifeliks
011ecb2451 feat(media): implement provider-specific streaming configuration
Introduces dynamic header injection and proxy enforcement for ashdi.vip
streams to maintain compatibility with their content delivery requirements.
The implementation detects the provider domain and automatically applies
necessary HTTP headers alongside mandatory proxy routing.

BREAKING CHANGE: HostStreamProxy now accepts optional headers and
force_streamproxy parameters to support enhanced streaming configurations
2026-01-13 11:19:35 +02:00
Felix
cc91635a05
Update README to clean up table of contents
Removed redundant entry from the table of contents.
2026-01-13 10:17:10 +02:00
baliasnyifeliks
25a530f59f docs(readme): restructure table of contents and update source list 2026-01-13 10:15:26 +02:00
baliasnyifeliks
64b55fa61b docs(readme): add table of contents with installation and donation sections 2026-01-13 10:14:48 +02:00
baliasnyifeliks
aae0f14396 Merge branch 'main' of https://github.com/lampame/lampac-ukraine
# Conflicts:
#	README.md
2026-01-13 10:13:10 +02:00
baliasnyifeliks
a2b636f0d2 docs: update README with new sources and donation link 2026-01-13 10:10:11 +02:00
baliasnyifeliks
d3829323eb docs: add donation section to README 2026-01-13 10:09:13 +02:00
Felix
f3c65fb1be
Merge pull request #8 from lampame/20263
20263
2026-01-13 09:53:16 +02:00
baliasnyifeliks
5bac03ad13 feat(animeon): return JSON response for play endpoint
The Play endpoint now returns a JSON response containing the stream URL and title
instead of redirecting directly. This allows for better client-side handling and
provides additional metadata to the frontend.

The response format is:
{
  "method": "play",
  "url": "<stream_url>",
  "title": "<anime_title>"
}
2026-01-13 09:49:07 +02:00
baliasnyifeliks
0b1bd40a8f chore: update .gitignore and README for new modules
- Add BanderaBackend to .gitignore
- Fix LampaC directory name in .gitignore
- Update README with new modules (BambooUA, UAKino, StarLight)
- Mark AniHUB as [RIP] in README
- Fix formatting in README (newline at end of file)
2026-01-13 09:22:12 +02:00
baliasnyifeliks
aa267b8e73 feat(uakino): add new online module for UAKino streaming service
Adds complete UAKino integration with:
- Controller for handling movie/series requests and playback
- ModInit for module configuration and initialization
- Models for search results, playlists, and player data
- OnlineApi for event registration
- UAKinoInvoke for core functionality (search, playlist parsing, player handling)
- Project configuration and manifest

The module supports:
- Search functionality with caching
- Series episode listing with voice selection
- Movie and series playback
- Proxy management and error handling
- HTML and JSON response formats
2026-01-13 09:22:03 +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
baliasnyifeliks
1a4f1b0be1 feat(bamboo): add new online module for BambooUA streaming service
- Add project structure with csproj configuration
- Implement BambooInvoke class for search, series episodes, and movie streams
- Add Controller for handling HTTP requests and responses
- Include ModInit for module initialization and configuration
- Create data models for search results, episodes, and streams
- Add OnlineApi for event handling and integration
- Configure manifest.json for module metadata

This adds complete support for the BambooUA streaming service including:
- Content search functionality
- Series episode parsing with subtitles and dubbing options
- Movie stream extraction
- Proxy management and caching
- API endpoints for integration with the main application
2026-01-13 09:21:41 +02:00
baliasnyifeliks
707f51c52c feat(AnimeON): add support for Ashdi player and episode stream resolution
- Add ParseAshdiPage method to extract video URLs from Ashdi pages
- Implement ResolveEpisodeStream to fetch streams via API endpoint
- Add ResolveVideoUrl method to handle different video URL types
- Update Controller to handle new player types and stream resolution
- Add episode_id parameter to play endpoint for direct episode streaming

BREAKING CHANGE: The play endpoint now accepts both url and episode_id parameters
2026-01-13 09:21:26 +02:00
Felix
1d4bc2887f
Fix URL typo in OnlinesSettings initialization 2025-12-31 19:56:45 +02:00
Felix
044930e742 fix(api): rename fundubId to translationId in episode endpoint
The parameter name in the episode API endpoint was updated from fundubId to translationId to align with the recent API changes. This ensures consistency with the backend's new translation system.

BREAKING CHANGE: The fundubId parameter is now called translationId in the episode API endpoint. Any code using this parameter must be updated accordingly.
2025-12-13 13:13:39 +02:00
Felix
6f2267d8a4 fix: change Team property type from string to object in AnimeON models 2025-12-13 12:54:08 +02:00
Felix
d07e90cf33 feat: Update fundub response models to use translations and add new fields, adapting parsing logic in invoke and controller. 2025-12-13 12:35:06 +02:00
Felix
f3e94e4c41 fix: update episode API endpoint path from /episodes/{animeId} to /{animeId}/episodes in episode fetching logic. 2025-12-13 12:27:15 +02:00
Felix
47cee13694 refactor: Reorder animeId and translations segments in fundubs API endpoint path. 2025-12-13 12:05:45 +02:00
Felix
2d6bc73dd7 fix: Update fundubs API endpoint path from /fundubs to /translations 2025-12-13 11:57:48 +02:00
Felix
d2af6fca51 fix: Prioritize original title for film search queries. 2025-11-22 13:20:19 +02:00
Felix
5070680c78 fix: Swap title and original_title in film title fallback assignment. 2025-11-22 12:47:10 +02:00
Felix
7b8f94cbe4 Add .qodo directory to .gitignore 2025-10-19 12:05:44 +03:00
Felix
3a35918336
Merge pull request #5 from lampame/animeOn-refactoring
Anime on refactoring
2025-10-19 12:05:10 +03:00
Felix
7ed651eb6e Simplify AnimeON season display to show only season numbers 2025-10-19 12:02:46 +03:00
Felix
c7a2cb47df Change AnotherPlayer property type from string to JsonElement in AnimeON models 2025-10-19 11:58:36 +03:00