Каталог плагинов: полный локальный mirror в ./plugins (один directory-mount в wwwroot/plugins), доки и вычистка неиспользуемых модулей
- plugins/: скачаны все 30 плагинов store локально (sources.json - карта исходных URL);
патчи: showy.js (абсолютный хост подгрузки), pubtorr/td/torrentmanager - тела вместо лоадеров,
modss.js - local-patched копия (из каталога исключена, upstream мёртв)
- extensions.json: 32 позиции, все ссылки {localhost}/plugins/<файл>.js, удалены мёртвые
(Skaz TV x3, export.js, hotkeys/gold_theme/select_weapon/want/mult, MODS's, o.js, др.)
- compose: ./plugins:/lampac/wwwroot/plugins (один маунт вместо 30 file-mount)
- вычистка: удалены неиспользуемые mods (DatabaseEditor, ExternalBind, LogUserRequest-Lite,
Telemetry, Transcoding, WatchTogether) и дубль каталога modules/
- config/init.conf: секции Tracks/AdminPanel/Music, customPlugins без gst.js
- mods/Tracks: правки Controller.cs/plugin.js
- README.md / AGENT.md: mirror, кеш static, правила mount
This commit is contained in:
@@ -5,6 +5,7 @@ using Shared.Attributes;
|
||||
using Shared.Services;
|
||||
using Shared.Services.Utilities;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading.Tasks;
|
||||
@@ -49,8 +50,21 @@ public class TracksController : BaseController
|
||||
{
|
||||
media = Regex.Replace(media, "[^a-z0-9_:\\-\\/\\.\\=\\?\\&\\%\\@]+", "", RegexOptions.IgnoreCase);
|
||||
|
||||
if (media.Contains("/stream/") && ModInit.conf.tsuri != null)
|
||||
media = Regex.Replace(media, "^https?://[^/]+", ModInit.conf.tsuri, RegexOptions.IgnoreCase);
|
||||
if (media.Contains("/stream/"))
|
||||
{
|
||||
if (ModInit.conf.tsuri != null)
|
||||
media = Regex.Replace(media, "^https?://[^/]+", ModInit.conf.tsuri, RegexOptions.IgnoreCase);
|
||||
|
||||
// TorrServer returns an empty body for preload/stat/m3u; ffprobe needs the play stream
|
||||
int q = media.IndexOf('?');
|
||||
if (q > 0)
|
||||
{
|
||||
var args = media[(q + 1)..].Split('&', StringSplitOptions.RemoveEmptyEntries)
|
||||
.Where(a => !Regex.IsMatch(a, "^(preload|stat|m3u|play)(=|$)", RegexOptions.IgnoreCase));
|
||||
|
||||
media = media[..q] + "?" + string.Join("&", args.Append("play"));
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (media.Contains("/proxy/") && media.Contains(".mkv"))
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user