Да, так задумано. Подменять ссылку аттачмента на его локальную копию - это одно. Подменять присланную ссылку на другую ссылку по недокументированному правилу - это другое и реализовываться не будет.
Тут речь сейчяс не про модификацию ссылки а о том что её вобще нет ни в окне чата ни в истории, есть только ссылка на локальный файл, а исходную ссылку чтобы можно было её скопировать брать неоткуда.
Мы принимаем патчи. Текущее состояние меня лично устраивает на 98%
Тебя может и устраивает, а у меня больше гига уже этот сраный кэш, несмотря на то что Я даже эти чаты не открывал, пришлось привью отключять, иначе жесть.
С кодом NS Я может и разберусь, но с учётом того что под винду Я никогда не кодил, и с учётом туевой хучи зависимостей в коде от других плагинов и апи миранды которые меняются каждый день, Я хрен это скомпилирую чтобы протестить.
Могу только общий принцып написать, там уже пускай реализует тот кто занимается плагином NS
Вместо
filePut(fileGet(https_Ссылка), "C:\кэш_картинок\123.jpg")); //Сохранение картинки на диск
NS_IMG_export=fileGet(Ссылка на локальный файл); //Вывод картинки в окно чата
array ImgCache[20]; //Размер кэша 20 картинок
ImgCache[1]=fileGet(https_Ссылка); //Загрузка первой картинки в массив
NS_IMG_export=ImgCache[1]; //Вывод первой картинки в окно чата из массива ОЗУ
for (i=0; i<20; i++){ImgCache[i]="";} //Чистка кэша при закрытии окна чата
Без понятия какие там функции используются для загрузки файлов, поэтому написал рандомные, но общяя суть понятна
Возможно на уровне протокола закрою возможность получения url=file:// извне.
А оно и без file:// работает
[url=C:/Windows/system32/cmd.exe]Ссылка[/url]
Будет правильнее вобще отключить обработку BB кодов извне по крайней мере в ВК т.к. они там не применяются, а чтобы NS их не обрабатывал, в качестве временного кастыля в плагине ВК заменять [ ] во входящих сообщениях к примеру на { } как минимум в img и url тегах.
img тег сам по себе безопасен...
С img проблем не вижу. Если это не картинка, то litehtml не сможет сделать превью.
Насчёт безопасности img тега это до поры до времени, пока дыра в нём не выявиться.
В данном случяе [img=C:/Windows/system32/cmd.exe]Ссылка[/url] после слова Ссылка появляются какието нечитаемые символы, обрати внимание что закрывающийся тег не [/img] а [/url]
А если отправить так 12345[/url] то миранда тупо падает.
Поэксперементировал ещё с неправильными тегами url и img и падениями миранды, самое хреновое что это всё сохраняется в истории и когда открываеш окно чата то миранда снова падает, если очистить историю локально, то она загружает её с сервера, единственный выход в этом случяе удалить сообщение на сервере.
Да и не только в img и url тегах могут баги выявиться, с прочими тегами b, i, u и т.д. ещё не эксперементировал, но и там не стоит исключять подобного.
А так вобще NS патчить надо конкретно, чтобы BB коды во входящих сообщениях и BB коды отправляемые плагинами протоколов обрабатывались отдельно.
Как временный вариант могу предложить обработку символов [ ] только если они содержат динамическую переменную которая будет генерироваться плагином NS, и которая будет доступна плагинам протоколов.
В этом случяе все BB коды содержащиеся в сообщениях будут отображаться тупо текстом как есть.
А код с динамической переменной к примеру 1234 уже будет обрабатываться NS как положено 1234[1234url=https://сайт.com1234]1234Ссылка1234[1234/url1234]1234
Но тут уже начинаются проблемы с сохранённой историей, статическую переменную вшивать в NS не безопасно, а генерировать новую переменную при каждом запуске миранды накладно т.к. придётся каждый раз переписывать все теги в истории. Единственным вариантом в этом случяе вижу только ручную генерацию переменной и переписывание её в истории только при изменении этой переменной, а это понадобиться посути только один раз, ну или максимум раз в год если по какойто причине решиш её изменить.