109 Commits

Author SHA1 Message Date
Felix
440c870c79 feat: Add source/player availability check script, document its usage in README, and include a webcorshost plan. 2026-02-16 18:11:51 +02:00
Felix
5e1a810ca5 feat(config): add webcorshost support for CORS proxy routing
Add new `webcorshost` configuration option that allows routing all HTTP requests through a CORS proxy for modules that require it. This feature enables compatibility with modules that need CORS bypass while maintaining support for existing features like `streamproxy` and `apn`. Also reduces disconnect time from max 16 hours to 4 hours for improved reconnection behavior.
2026-02-14 13:23:16 +02:00
Felix
c2fbe0b3f0 modified: .gitignore 2026-02-14 12:51:13 +02:00
baliasnyifeliks
53608087a1 docs(README): reorganize sources list and update module references
- Reorganize sources into TVShows/Movies and Anime/Dorama categories
- Update module list in repository.yaml to reflect current services
- Replace CikavaIdeya and UAKino with Mikai and Makhno services
- Update APN support section with current available sources
2026-02-06 17:42:06 +02:00
baliasnyifeliks
669c178501 Move to Graveyard 2026-02-06 17:39:04 +02:00
Felix
85849c78d2
Merge pull request #16 from lampame/makhno
New source
2026-02-06 17:26:49 +02:00
baliasnyifeliks
d91629079a chore(version): bump versions across multiple streaming service modules
Update version numbers for AnimeON, Bamboo, CikavaIdeya, Makhno, Mikai,
UAKino, UaTUT, Uaflix, and Unimay modules to reflect latest releases.
Note that CikavaIdeya and UAKino have unusual binary-looking version
numbers that appear intentional.
2026-02-06 17:25:12 +02:00
baliasnyifeliks
630c91e53b refactor(controllers): rename search result variables for consistency
Rename variables used to store search results across multiple controllers
to follow a consistent naming pattern (checkSeasons, checkEpisodes, checkResults)
instead of generic names like seasons, episodesInfo, and searchResults.
This improves code readability and maintains uniform variable naming
across the codebase.
2026-02-06 17:18:04 +02:00
baliasnyifeliks
371a54f759 feat(controllers): add checksearch parameter support across all streaming service controllers
Add checksearch functionality to validate online search availability
for multiple streaming services including AnimeON, Bamboo, CikavaIdeya,
Makhno, Mikai, StarLight, UAKino, UaTUT, Uaflix, and Unimay controllers.
Each controller now supports a checksearch parameter that returns
appropriate responses when online search validation is enabled.
2026-02-06 17:14:54 +02:00
baliasnyifeliks
6ea1a5febe refactor(mikai,uaflix): explicitly declare voice info variables before assignment
Changed implicit variable declarations to explicit type declarations
for voiceForSeasons and tVoice variables to improve code clarity
and maintain consistent typing patterns in both controllers.
2026-02-05 08:41:35 +02:00
baliasnyifeliks
f2b70fa95e feat(mikai,uaflix): implement voice-specific season filtering and redirect handling
Add support for restricting season lists by specific voice selection,
implement proper redirect handling when selected season is unavailable
for chosen voice, and add season set validation to ensure consistent
navigation between voices with different season availability
2026-02-04 21:52:22 +02:00
baliasnyifeliks
6ebd793e90 chore(makhno): bump version from 1.5 to 1.6 2026-02-04 21:43:35 +02:00
baliasnyifeliks
90574ad919 feat(makhno): add season set validation for voice selection consistency
Add logic to validate that the current voice's available seasons match
the selected voice season set before generating voice links. This ensures
consistent behavior when switching between voices with different season
availability.
2026-02-04 21:38:57 +02:00
baliasnyifeliks
f62ed52434 refactor(makhno): rename season template variable and update html content generation 2026-02-04 21:32:32 +02:00
baliasnyifeliks
bc4016b7c3 feat(makhno): enhance season template generation with voice-specific filtering
Implements dynamic season template building that respects voice-specific
season availability. Adds proper handling of voice indices and creates
filtered season lists based on available content for each voice option.
This ensures season navigation remains synchronized when switching between
different voice tracks with varying season availability.
2026-02-04 21:21:07 +02:00
baliasnyifeliks
ac9242308f fix(makhno): handle null season items when filtering by season number
The code now properly handles cases where the requested season is not found in the voice seasons list by checking if the match has a valid Season before accessing its properties. This prevents potential null reference exceptions when generating season links.
2026-02-04 20:58:48 +02:00
baliasnyifeliks
55ee3b644d fix(makhno): remove debug logging and improve season filtering logic
- Removed debug logging statements that were causing noisy output in production
- Simplified season filtering logic by using nullable int for seasonVoiceIndex
- Improved season link generation to handle requested season availability more efficiently
- Refactored season item selection logic to be more maintainable and readable
2026-02-04 20:55:58 +02:00
baliasnyifeliks
f189357447 fix(makhno): correct season link generation for multi-season voices
The logic for generating voice links was incorrect - it was checking for requested season availability instead of checking if there are multiple seasons available. This caused season lists to not show properly for multi-season voices.

The fix ensures that:
- Multi-season voices always show the season list to keep filters correct
- Single-season voices link directly to that season
- The season parameter is correctly set based on the actual number of seasons
2026-02-04 20:45:19 +02:00
baliasnyifeliks
5348f3a9a9 fix(makhno): add debug logging for season filtering logic
Added debug logging to track voice selection and season filtering behavior during season number filtering. This helps diagnose issues with voice-season relationships and filtering logic.
2026-02-04 20:02:36 +02:00
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
43808b819f feat(makhno): support string-based APN configuration
Allow APN configuration to be specified as a single string value
in addition to the existing boolean + host format. When 'apn' is
a string, it is used as the host and enabled is set automatically.
2026-02-04 14:06:39 +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
b91e7b0eac feat(makhno): add special handling for ashdi.vip URLs
When episode URLs contain 'ashdi.vip', use HostStreamProxy to generate
the play URL instead of the standard accsArgs call URL method. This
provides better compatibility with this specific streaming provider.
2026-02-04 08:45:49 +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
a2e018c1be refactor(makhno): prioritize json data extraction in player parsing
Reorder parsing logic to attempt JSON extraction first before falling back
to regex-based m3u8 and source tag matching. This ensures structured data
is preferred when available, with fallbacks for legacy formats.
2026-02-03 20:44:13 +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
e0d9bfac92 fix: Correct bracket depth calculation by ignoring characters within string literals. 2026-02-03 20:11:25 +02:00
baliasnyifeliks
5ef4e2896c refactor(makhno): enhance file array detection with multiple strategies
Add fallback mechanisms for locating file arrays using different quote
styles and regex matching. Include debug logging to track JSON parsing
and voice extraction process.
2026-02-03 20:05:47 +02:00
baliasnyifeliks
6208c14ef0 refactor(makhno): improve file array extraction logic
Replace regex-based file array extraction with a more robust bracket
matching algorithm that properly handles nested structures. The new
implementation uses manual parsing to track bracket depth, ensuring
correct extraction of JSON arrays from HTML content.
2026-02-03 20:01:22 +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
dff15694cc chore(makhno): bump version to 3 2026-02-03 19:46:13 +02:00
baliasnyifeliks
d80eac139f feat(makhno): add APN helper for URL proxying
Add ApnHelper class to handle APN configuration and URL wrapping functionality.
This includes methods for parsing configuration, applying settings, detecting
specific domains, and building proxied URLs with proper encoding. Also fix
regex patterns in MakhnoInvoke to correctly match URLs with double quotes.
2026-02-03 19:37:54 +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
baliasnyifeliks
02398f3ea5 Update version 2026-02-02 16:46:00 +02:00
baliasnyifeliks
92948d66cb refactor(bamboo, uakino, uatut, uaflix): consolidate template output 2026-02-02 16:43:47 +02:00
baliasnyifeliks
708d708f2a update version 2026-02-01 18:41:51 +02:00
baliasnyifeliks
470437990c feat(bamboo): restrict online api to asian languages
Added language validation to only allow online API calls for Japanese and
Chinese language variants. Early return for unsupported languages prevents
unnecessary API calls.
2026-02-01 18:33:11 +02:00
Felix
1ab176abee
Merge pull request #15 from lampame/Anime
Anime
2026-02-01 18:22:26 +02:00
baliasnyifeliks
764bee0405 refactor(animeon, mikai): consolidate template output 2026-02-01 18:17:04 +02:00
baliasnyifeliks
3576932089 feat(animeon): enhance search for serials and improve voice display
Add serial parameter to Search method to enable enhanced search logic for
series content. When serial flag is set, perform additional search using
English title to find more results. Improve voice selection by properly
handling display names with fallbacks to key or default label.
2026-02-01 18:05:28 +02:00