## Що зроблено Цей PR рефакторить спільний повторюваний код у `LME.*` модулях і виносить його в окрему спільну теку `LME.Shared`, яка підключається через `syntaxPaths` у `manifest.json`. ### Основні зміни 1. Додано спільні файли: - `LME.Shared/GlobalUsings.cs` - `LME.Shared/Apn/ApnHelper.cs` - `LME.Shared/Online/OnlineRegistry.cs` - `LME.Shared/Update/ModuleUpdateService.cs` 2. Оновлено всі `LME.* /manifest.json`: - додано `syntaxPaths` для підключення спільних `.cs` файлів із `LME.Shared`. 3. Спрощено `ModInit.cs` у всіх `LME.*`: - прибрано дубльований `RegisterWithSearch(...)` і замінено на `OnlineRegistry.RegisterWithSearch(...)`. - прибрано дубльований `UpdateService/ConnectResponse` і замінено на wrapper над `ModuleUpdateService`. 4. Видалено дублікати з модулів: - `LME.*/GlobalUsings.cs` - `LME.*/ApnHelper.cs` (де були) 5. Виправлено namespace-конфлікт: - `LME.Shared.Online` -> `LME.Common.Online` - `LME.Shared.Update` -> `LME.Common.Update` - оновлено `global using` відповідно. 6. Виправлено збірку `LME.JackTor`: - додано `using Microsoft.AspNetCore.Mvc;` у `LME.JackTor/ModInit.cs` (для `ActionResult` у `UpdateService.Validate`). 7. Оновлено `README.md`: - зроблено читабельну структуру. - додано повноцінні UA + EN секції. - додано навігацію на початку. - явно зазначено, що при вибірковому `modules:` у `repository.yaml` потрібно додавати `LME.Shared`. ## Чому це потрібно - Менше дублювання коду між модулями. - Простіше супроводжувати й оновлювати спільну логіку. - Менше ризику розсинхрону поведінки між модулями. ## Важливо для користувачів При вибірковому встановленні через `repository.yaml` треба включати `LME.Shared`: ```yaml modules: - LME.Shared - LME.AnimeON - LME.Unimay ``` Інакше модулі з `syntaxPaths` не знайдуть спільні файли під час компіляції.
Lampac Ukraine Modules (LME.*)
Набір українських онлайн-модулів для Lampac NextGen.
Усі модулі використовують префікс LME. (Lampac Modules Extended), щоб уникати конфліктів із вбудованими модулями Lampac.
Навігація
Українська
Доступні модулі
Фільми та серіали
LME.UaflixLME.MakhnoLME.StarLightLME.KlonFUNLME.UafilmMELME.JackTor
Аніме та дорами
LME.AnimeONLME.BambooLME.UnimayLME.MikaiLME.NMoonAnime
Ручне встановлення
- Клонуйте репозиторій:
git clone https://github.com/lampame/lampac-ukraine.git .
-
Скопіюйте потрібні теки модулів у директорію
moduleвашого Lampac. -
Для Docker приклад монтування:
-v /path/to/lampac-ukraine/LME.Uaflix:/lampac/module/LME.Uaflix
Автовстановлення через repository.yaml
Працює у Lampac 148.1+.
Створіть або оновіть module/repository.yaml:
- repository: https://github.com/lampame/lampac-ukraine
branch: main
modules:
- LME.Shared
- LME.AnimeON
- LME.Unimay
- LME.Mikai
- LME.NMoonAnime
- LME.Uaflix
- LME.Bamboo
- LME.Makhno
- LME.StarLight
- LME.KlonFUN
- LME.UafilmME
- LME.JackTor
Важливо:
branch— необов'язково, за замовчуваннямmain.modules— необов'язково; якщо не вказано, встановляться всі модулі з репозиторію.- Якщо ви вказуєте конкретний список
modules, додавайтеLME.Shared, бо інші модулі підключають спільні файли черезsyntaxPaths.
Налаштування в init.conf
Ключ має збігатися з назвою модуля (LME.XXX), а не з назвою провайдера.
Приклад для LME.Uaflix:
"LME.Uaflix": {
"enable": true,
"domain": "https://uaflix.net",
"displayname": "Uaflix",
"login": null,
"passwd": null,
"cookie": null,
"webcorshost": null,
"streamproxy": false,
"useproxy": false,
"proxy": {
"useAuth": true,
"username": "FooBAR",
"password": "Strong_password",
"list": [
"socks5://adress:port"
]
},
"displayindex": 1,
"magic_apn": {
"ashdi": "https://tut.im/proxy.php?url={encodeurl}"
}
}
Сумісність параметрів:
webcorshost+useproxy: працюють разом (парсинг через CORS-хост, мережевий вихід може йти через проксі).webcorshost+streamproxy: не конфліктують (CORS для парсингу,streamproxyдля потоків).magic_apn.ashdiвикористовується лише для Ashdi-посилань і лише коли значення не порожнє.webcorshost+magic_apn: не конфліктують.
Приклад конфігурації LME.JackTor
"LME.JackTor": {
"enable": true,
"displayname": "JackTor",
"displayindex": 0,
"jackett": "jackett.app",
"apikey": "YOUR_JACKETT_API_KEY",
"min_sid": 5,
"min_peers": 0,
"max_size": 0,
"max_serial_size": 0,
"max_age_days": 0,
"forceAll": false,
"emptyVoice": true,
"sort": "sid",
"query_mode": "both",
"year_tolerance": 1,
"quality_allow": [2160, 1080, 720],
"hdr_mode": "any",
"codec_allow": "any",
"audio_pref": ["ukr", "eng", "rus"],
"trackers_allow": ["toloka", "rutracker", "noname-club"],
"trackers_block": ["selezen"],
"filter": "",
"filter_ignore": "(camrip|ts|telesync)",
"torrs": [
"http://127.0.0.1:8090"
],
"auth_torrs": [
{
"enable": true,
"host": "http://ts.example.com:8090",
"login": "{account_email}",
"passwd": "StrongPassword",
"country": "UA",
"no_country": null,
"headers": {
"x-api-key": "your-ts-key"
}
}
],
"base_auth": {
"enable": false,
"login": "{account_email}",
"passwd": "StrongPassword",
"headers": {}
},
"group": 0,
"group_hide": true
}
Ключові параметри:
jackett+apikey: хост Jackett та API-ключ.min_sid/min_peers/max_size/max_serial_size: базові фільтри торрентів.quality_allow,hdr_mode,codec_allow,audio_pref: пріоритезація якості, кодека та мов.torrs,auth_torrs,base_auth: вузли TorrServer для відтворення.filter/filter_ignore: regex-фільтри для релізів та озвучок.
Скрипт перевірки доступності джерел
wget -O check.sh https://raw.githubusercontent.com/lampame/lampac-ukraine/main/check.sh && sh check.sh
Підтримка
Підтримати автора: https://lampame.donatik.me
English
Available modules
TV shows and movies
LME.UaflixLME.MakhnoLME.StarLightLME.KlonFUNLME.UafilmMELME.JackTor
Anime and dorama
LME.AnimeONLME.BambooLME.UnimayLME.MikaiLME.NMoonAnime
Manual installation
- Clone the repository:
git clone https://github.com/lampame/lampac-ukraine.git .
-
Copy required module folders into Lampac
moduledirectory. -
Docker mount example:
-v /path/to/lampac-ukraine/LME.Uaflix:/lampac/module/LME.Uaflix
Auto installation via repository.yaml
Requires Lampac 148.1+.
Create or update module/repository.yaml:
- repository: https://github.com/lampame/lampac-ukraine
branch: main
modules:
- LME.Shared
- LME.AnimeON
- LME.Unimay
- LME.Mikai
- LME.NMoonAnime
- LME.Uaflix
- LME.Bamboo
- LME.Makhno
- LME.StarLight
- LME.KlonFUN
- LME.UafilmME
- LME.JackTor
Notes:
branchis optional, default ismain.modulesis optional; if omitted, all repository modules are installed.- If you specify an explicit module list, include
LME.Sharedbecause other modules use shared files throughsyntaxPaths.
init.conf key rule
Use module name (LME.XXX) as a key, not provider name.
Example: LME.Uaflix instead of Uaflix.
Source/player availability check script
wget -O check.sh https://raw.githubusercontent.com/lampame/lampac-ukraine/main/check.sh && sh check.sh
Support
Support the author: https://lampame.donatik.me