Introduce a new configuration option `magic_apn` that allows automatic enabling of APN for Ashdi streams when using the inner player. The configuration is an object with an `ashdi` property that specifies the host to use for Ashdi APN.
Changes include:
- Add `TryGetMagicAshdiHost` method to parse `magic_apn` configuration
- Add `NormalizeHost`
BREAKING CHANGE: All module routes changed from /{module} to /lite/{module}
- Implement IModuleLoaded and IModuleOnline interfaces across all modules
- Add HttpHydra support to all Invoke classes for HTTP request handling
- Replace ModuleInvoke.Conf() with ModuleInvoke.Init() in all ModInit classes
- Convert loadKit() from async to synchronous calls in all controllers
- Replace direct AppInit.conf.online.with_search.Add() with reflection-based
RegisterWithSearch() method for decoupled module registration
- Simplify cacheTime() logic by removing mikrotik/multiaccess conditionals
- Add GlobalUsings.cs to all modules for shared namespace imports
- Update OnlineApi to use ModuleOnlineItem instead of value tuples
- Bump all module versions to new major versions
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.
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.
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.
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
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.
Implement comprehensive multi-season handling for AnimeON and Mikai
controllers to properly display and navigate anime series with multiple
seasons.
For AnimeON:
- Fix season numbering to use actual season numbers instead of array indices
- Group seasons by SeasonNumber property with fallback to index-based numbering
- Update season selection links to use correct season identifiers
For Mikai:
- Add relation fetching to discover sequels, prequels, and related anime
- Implement season detail collection and ordering by release date
- Refactor voice building to support multiple seasons per voice actor
- Update season selection UI to display all available seasons
- Add MikaiRelation and MikaiRelationAnime models for API data handling