There have been several changes in the fakebrowser javascript evasions library pack focused on fonts. All tests were mainly conducted on CreepJS:
Fakebrowser core
This was an easy eye slip: this fork implements the Environment data model which stores canvas and system font salts under src/core/.fakebrowser.env.json. This means that if you were running a bare clone of the repository, fakebrowser would always load pre-warmed fonts salts from that file.
Javascript: FontFaceSet WEB API
Some minor changes to the FontFaceSet target prototype predicate has brought the injection back to life: CreepJS and others lately adopted document.fonts as target, besides globalThis. The latter is now accessed in service workers, and both fakebrowser and our forks were only targeting globalThis.
There's more context in the discord thread
Google Chrome vs master fakebrowser
Here's a side-by-side comparison on fonts loaded by Google Chrome vs Fakebrowser - which is hiding the MacOS fonts that only Chrome does load.
| Font Family |
Category |
| MuktaMahee Regular |
Both |
| Noto Sans Canadian Aboriginal Regular |
Both |
| Noto Sans Gunjala Gondi Regular |
Both |
| Noto Sans Masaram Gondi Regular |
Both |
| Noto Serif Yezidi Regular |
Both |
| STIX Two Math Regular |
Both |
| STIX Two Text Regular |
Both |
| American Typewriter Semibold |
Chrome only |
| Apple SD Gothic Neo ExtraBold |
Chrome only |
| Futura Bold |
Chrome only |
| Galvji |
Chrome only |
| Geneva |
Chrome only |
| Helvetica Neue |
Chrome only |
| InaiMathi Bold |
Chrome only |
| Kohinoor Devanagari Medium |
Chrome only |
| Luminari |
Chrome only |
| PingFang HK Light |
Chrome only |
| SignPainter-HouseScript Semibold |
Chrome only |
There have been several changes in the fakebrowser javascript evasions library pack focused on fonts. All tests were mainly conducted on CreepJS:
Fakebrowser core
This was an easy eye slip: this fork implements the Environment data model which stores canvas and system font salts under
src/core/.fakebrowser.env.json. This means that if you were running a bare clone of the repository, fakebrowser would always load pre-warmed fonts salts from that file.Javascript: FontFaceSet WEB API
Some minor changes to the
FontFaceSettarget prototype predicate has brought the injection back to life: CreepJS and others lately adopteddocument.fontsas target, besidesglobalThis. The latter is now accessed in service workers, and both fakebrowser and our forks were only targetingglobalThis.There's more context in the discord thread
Google Chrome vs master fakebrowser
Here's a side-by-side comparison on fonts loaded by Google Chrome vs Fakebrowser - which is hiding the MacOS fonts that only Chrome does load.