Как подставлять свои шрифты в BAS?



  • Каким образом можно самому задавать список установленных шрифтов?

    Да знаю есть сервис отпечатков https://fingerprints.bablosoft.com/ Но мне нужно самому научится это делать, на будущее вдруг сервис окажется слишком дорогой.

    Значит как эмулировать плагины я нашел кусок кода типа этого Object.defineProperty(window.navigator, 'plugins', {get: function() {return [{name:"Chrome PDF Viewer"}];}}); Тут https://community.bablosoft.com/topic/350/fingerprint-или-отпечаток-браузера/4

    Юзерагент и разрешение экрана смогу сам подставить.

    Осталось выяснить как эмулировать свой список шрифтов. Кто в курсе дайте пример рабочего кода пожалуйста.



  • @Gang

    font_list("Arial; Times New Roman")!
    

    Есть действие применить отпечаток. Чем оно не устраивает?



  • @support все устраивает. Хочу сам во всем разобратся как это работает. Вдруг сервис ваш будет недоступен или еще чего. У меня есть своя база юзерагентов ище рандомом шрифтов и плагинов нагенерю.

    Еще подскажите куда этот код font_list("Arial; Times New Roman")! пихать чтоб все заработало?



  • @Gang В действие выполнить код.
    Еще шрифты должны быть установлены на пк.



  • @Gang Плагины не так просто установить, они связаны с mimeTypes и рекурсивно ссылаются друг на друга



  • @support said in Как подставлять свои шрифты в BAS?:

    @Gang Плагины не так просто установить, они связаны с mimeTypes и рекурсивно ссылаются друг на друга

    Думаю в моем случае это не критично.
    У меня шаб на Зенке. Перевожу на БАС. На Зенке там тупо юзерагент, разрешение экрана и навигатор. А тут думаю добавлю плагинов и шрифтов еще для приличия раз есть такая возможность.



  • @support said in Как подставлять свои шрифты в BAS?:

    @Gang В действие выполнить код.
    Еще шрифты должны быть установлены на пк.

    А что подстановка не помагает? Ваш отпечаток разве не так работает? Просто подставляет список шрифтов.



  • @Gang

    А что подстановка не помагает? Ваш отпечаток разве не так работает? Просто подставляет список шрифтов.

    Ну начнем с того, что html не предоставляет api для получения списка шрифтов. Это можно сделать через флеш. Но если его используете, то об анонимности можно забыть.

    А получить список шрифтов через html можно косвенно - создавая элемент с заданным шрифтом и сравнивая размеры с элементом без шрифтов.

    Мой метод заключается в том, чтобы подменять шрифты честно, тоесть делать так, чтобы после применения функции font_list шрифты действительно менялись браузере в том потоке, что вызвал функцию.

    В сети вы также можете найти реализацию через @font-face.

    Но она легко определяется. Определить что шрифт "убрали" из системы можно создав 2 элемента со стилями font-family: Pompadur monospace; и font-family: Pompadur serif; если шрифта действительно нет в системе, то размеры элементов будут разные, если была подмена - размеры будут одинаковыми.

    Также можно обратиться к свойству document.fonts, он покажет все шрифты загруженные через @font-face(но не все шрифты которые есть в системе)



  • @support said in Как подставлять свои шрифты в BAS?:

    @Gang

    А что подстановка не помагает? Ваш отпечаток разве не так работает? Просто подставляет список шрифтов.

    Ну начнем с того, что html не предоставляет api для получения списка шрифтов. Это можно сделать через флеш. Но если его используете, то об анонимности можно забыть.

    А получить список шрифтов через html можно косвенно - создавая элемент с заданным шрифтом и сравнивая размеры с элементом без шрифтов.

    Мой метод заключается в том, чтобы подменять шрифты честно, тоесть делать так, чтобы после применения функции font_list шрифты действительно менялись браузере в том потоке, что вызвал функцию.

    В сети вы также можете найти реализацию через @font-face.

    Но она легко определяется. Определить что шрифт "убрали" из системы можно создав 2 элемента со стилями font-family: Pompadur monospace; и font-family: Pompadur serif; если шрифта действительно нет в системе, то размеры элементов будут разные, если была подмена - размеры будут одинаковыми.

    Также можно обратиться к свойству document.fonts, он покажет все шрифты загруженные через @font-face(но не все шрифты которые есть в системе)

    Как все запутано) Спасибо за разъяснения!



  • @support

    not working for me. Why. Your code paste in Execute code ;)

    I try with fingerprints.bablosoft but not integreted with multiloginapp.

    Multiloginapp fonts does not change. Multiloginapp have one font



  • @andeada font_list does not affect Multilogin


Log in to reply