16 Commits

Author SHA1 Message Date
baliasnyifeliks
e9a4d19d8c fix(makhno): handle season filtering when requested season is unavailable
When a requested season is not available in the selected voice, redirect to season list instead of showing foreign seasons. This prevents displaying seasons from other voices that the user may not have access to.
2026-02-04 19:54:27 +02:00
baliasnyifeliks
e2bc12b009 fix(makhno): handle season number filtering based on voice selection 2026-02-04 19:48:49 +02:00
baliasnyifeliks
2516f8b8f6 fix(makhno): add voice parameter to season links when preferred voice is available 2026-02-04 19:42:25 +02:00
baliasnyifeliks
097b42023c fix(makhno): redirect to valid season when requested season is unavailable
When a user requests a season that doesn't exist for a selected voice, the system now redirects to the first available season for that voice instead of silently using the first season. This ensures users are always directed to valid content and prevents confusion when season data is inconsistent across different voice options.
2026-02-04 19:34:57 +02:00
baliasnyifeliks
e3aa03089c fix(makhno): handle voices with different season counts and missing season data
The previous implementation assumed all voices had the same number of seasons and used index-based access, which caused issues when voices had different season counts. The new implementation:

- Extracts season numbers from season titles using regex
- Creates a unified list of all available season numbers across all voices
- Handles cases where voices have no seasons or missing season data
- Selects appropriate season numbers when specific seasons are requested
- Maintains backward compatibility with existing URL parameters

This fixes issues with season selection when different voice tracks have varying season counts or when some voices lack season information entirely.
2026-02-04 19:28:32 +02:00
baliasnyifeliks
c6cc802403 fix(makhno): handle voices with different season counts
Previously, the code assumed all voices had the same number of seasons
as the first voice, which could cause errors or incorrect behavior when
voices had varying season counts. Now calculates the maximum seasons
across all voices and safely handles cases where a specific voice
doesn't have the requested season index.
2026-02-04 19:22:24 +02:00
baliasnyifeliks
ac8bbe0318 feat(controllers): add conditional handling for anime categories
Anime content classification now respects the serial/preferSeries parameter
to determine whether to treat anime as a series or movie, improving content
type detection accuracy across both Makhno and UaTUT controllers.
2026-02-04 14:33:41 +02:00
baliasnyifeliks
fed0472514 feat(makhno): support multiple language variants for categories
Add support for Ukrainian, Russian, and English category names in both
Makhno and UaTUT controllers. This improves internationalization by
recognizing category names in different languages.

Supported categories now include:
- Series: Серіал, Сериал, Аніме, Аниме, Мультсеріал, Мультсериал, TV
- Movies: Фільм, Фильм, Мультфільм, Мультфильм, Movie

Refactored filtering logic to use dedicated helper methods for better
code maintainability.
2026-02-04 14:20:58 +02:00
baliasnyifeliks
e846ce65b3 refactor(controllers): strip sensitive query parameters from stream URLs
Add StripLampacArgs method to remove account_email, uid, and nws_id
parameters from streaming URLs before processing. This enhances privacy
by preventing user identification data from being passed through to
external services. The change is applied across all controllers that
handle stream URL generation.
2026-02-04 08:53:52 +02:00
baliasnyifeliks
3436520e4a привів усе до 1‑based сезонів 2026-02-03 21:34:57 +02:00
baliasnyifeliks
0b881bffbb fix(makhno): correct season numbering to start from 1 2026-02-03 21:22:10 +02:00
baliasnyifeliks
e5e3b38122 refactor(controllers): consolidate stream URL generation across controllers
Refactor episode link construction to use a common BuildStreamUrl method
in Makhno and UaTUT controllers, and add streamlink support to UAKino
controller. This change standardizes how streaming URLs are generated and
passed to the episode template, reducing code duplication and improving
maintainability.
2026-02-03 21:16:50 +02:00
baliasnyifeliks
6f20e217ee feat(makhno): add streaming link support for episodes 2026-02-03 20:59:53 +02:00
baliasnyifeliks
5c22c91421 fix(makhno): add error logging and improve file array detection
Add diagnostic logging when parsing fails to help identify issues with
voice and file data extraction. Enhance file array detection to handle
Playerjs-based content by implementing range-based search strategy.
2026-02-03 20:41:27 +02:00
baliasnyifeliks
ed7bfa67de feat: Add checksearch parameter to Controller.Index and refactor player JSON extraction in MakhnoInvoke into a new helper method for broader pattern matching. 2026-02-03 19:54:43 +02:00
baliasnyifeliks
5f40e1781f feat(makhno): add Makhno online streaming module
Integrate Makhno video streaming service with support for movies and
serials. The module provides search functionality, player data retrieval,
and streaming capabilities through multiple external APIs including
Wormhole, Ashdi, and UaTUT. Features include:

- HTTP controller for handling playback requests
- Support for multiple voice translations and seasons
- Proxy management and caching
- TMDB integration for metadata enrichment
- Online API integration for event handling
2026-02-03 19:30:42 +02:00