Commit 571a6386 authored by wang's avatar wang

添加环境提取

parent f8600c76
from flask import Flask, request, render_template, send_file
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/collect.js')
def js():
return send_file('templates/collect.js', )
@app.route('/collect', methods=["POST"])
def collect():
print(request.data.decode())
return 'ok'
if __name__ == '__main__':
app.run(host='0.0.0.0',debug=True, port=11233)
\ No newline at end of file
try {
function connection() {
let l = navigator
var v = l["connection"] || l["mozConnection"] || l["webkitConnection"];
var d = {};
for (var p in v) {
v["__proto__"]["hasOwnProperty"](p) && null !== v[p] && (d[p] = v[p]);
}
var m = {};
m["support"] = !!v;
m["status"] = d;
return m
}
let funcs = [
'XRHitTestResult',
'crossOriginIsolated',
'AbstractRange',
'RTCDtlsTransport',
'BarcodeDetector',
'EventCounts',
'SharedArrayBuffer',
'VisualViewport',
'FinalizationRegistry',
'WritableStreamDefaultController',
'HTMLMenuItemElement',
'HID',
'CSSCounterStyleRule',
'FileSystemDirectoryHandle',
'PerformancePaintTiming',
'onbeforeinput',
'ApplicationCache',
'AudioData',
'AudioTrack',
'DOMRectList',
'FragmentDirective',
'Sanitizer',
'onselectionchange',
'onsecuritypolicyviolation',
'structuredClone',
'XRHand',
'Lock',
'EyeDropper',
'CSSLayerBlockRule',
'ServiceWorkerContainer',
'IdleDetector',
'HTMLDialogElement',
'CSSFontPaletteValuesRule',
'CSSMathClamp',
'NavigationPreloadManager',
'LaunchParams',
'content',
'IDBFileHandle',
'BrowserCaptureMediaStreamTrack',
'FontData',
'ReadableByteStreamController',
'OffscreenCanvas',
'MediaSourceHandle',
'XRCamera'
]
let funcResult = funcs.map(e => {
return window.hasOwnProperty(e) ? 1 : 0
})
let funcs2 = [
"ActiveXObject",
"ApplePaySession",
"File",
"MutationObserver",
"Notification",
"SharedWorker",
"TouchEvent",
"XDomainRequest",
"_phantom",
"attachEvent",
"callPhantom",
"createPopup",
"detachEvent",
"event",
"external",
"fireEvent",
"frameElement",
"globalStorage",
"localStorage",
"mozRTCPeerConnection",
"mozRequestAnimationFrame",
"phantom",
"postMessage",
"PushManager",
"registerProtocolHandler",
"requestAnimationFrame",
"sessionStorage",
"sidebar",
"webkitRequestAnimationFrame",
"webkitResolveLocalFileSystemURL",
"webkitRTCPeerConnection",
"BluetoothUUID",
"netscape"
];
let funcResult2 = funcs2.map(e => {
return window.hasOwnProperty(e) ? 1 : 0
})
let matchmediaList = ["(max-aspect-ratio: 1/1)", "(max-aspect-ratio: 2/1)", "(max-aspect-ratio: 3/2)", "(max-aspect-ratio: 5/4)", "(max-aspect-ratio: 9/8)", "(max-aspect-ratio: 17/16)", "(max-aspect-ratio: 33/32)", "(max-aspect-ratio: 67/64)", "(max-aspect-ratio: 133/128)", "(max-aspect-ratio: 265/256)", "(max-aspect-ratio: 531/512)", "(max-aspect-ratio: 1063/1024)", "(max-aspect-ratio: 2127/2048)", "(max-aspect-ratio: 4255/4096)", "(max-aspect-ratio: 8511/8192)", "(max-aspect-ratio: 17023/16384)", "(max-aspect-ratio: 34047/32768)", "(max-aspect-ratio: 68095/65536)", "(max-aspect-ratio: 136191/131072)", "(max-aspect-ratio: 272383/262144)", "(max-aspect-ratio: 544767/524288)", "(max-aspect-ratio: 1089535/1048576)", "(max-aspect-ratio: 2179071/2097152)", "(max-aspect-ratio: 4358143/4194304)", "(max-aspect-ratio: 8716287/8388608)", "(max-aspect-ratio: 17432575/16777216)", "(max-aspect-ratio: 34865151/33554432)", "(max-aspect-ratio: 69730303/67108864)", "(max-aspect-ratio: 139460607/134217728)", "(max-aspect-ratio: 278921215/268435456)", "(max-aspect-ratio: 557842431/536870912)", "(max-aspect-ratio: 1115684863/1073741824)", "(max-aspect-ratio: 2231369727/2147483648)", "(max-aspect-ratio: 4462739455/4294967296)", "(max-aspect-ratio: 8925478911/8589934592)", "(max-aspect-ratio: 17850957823/17179869184)", "(max-aspect-ratio: 35701915647/34359738368)", "(max-aspect-ratio: 71403831295/68719476736)", "(max-aspect-ratio: 142807662591/137438953472)", "(max-aspect-ratio: 285615325183/274877906944)", "(max-aspect-ratio: 571230650367/549755813888)", "(max-aspect-ratio: 1142461300735/1099511627776)", "(max-aspect-ratio: 2284922601471/2199023255552)", "(max-aspect-ratio: 4569845202943/4398046511104)", "(max-aspect-ratio: 9139690405887/8796093022208)", "(max-aspect-ratio: 18279380811775/17592186044416)", "(max-aspect-ratio: 36558761623551/35184372088832)", "(max-aspect-ratio: 73117523247103/70368744177664)", "(max-aspect-ratio: 146235046494207/140737488355328)", "(max-aspect-ratio: 292470092988415/281474976710656)", "(max-aspect-ratio: 584940185976831/562949953421312)", "(max-aspect-ratio: 1169880371953663/1125899906842624)", "(min-resolution: 0.0001dpi)", "(max-resolution: 24dpi)", "(max-resolution: 48dpi)", "(max-resolution: 96dpi)", "(max-resolution: 72dpi)", "(max-resolution: 84dpi)", "(max-resolution: 90dpi)", "(max-resolution: 93dpi)", "(max-resolution: 95dpi)", "(any-hover: none)", "(any-hover: hover)", "(any-pointer: none)", "(any-pointer: coarse)", "(any-pointer: fine)", "(max-color: 8)", "(max-color: 4)", "(max-color: 6)", "(max-color: 7)", "(color-gamut: srgb)", "(color-gamut: p3)", "(color-gamut: rec2020)", "(max-color-index: 1000)", "(max-color-index: 500)", "(max-color-index: 250)", "(max-color-index: 125)", "(max-color-index: 62)", "(max-color-index: 31)", "(max-color-index: 15)", "(max-color-index: 7)", "(max-color-index: 3)", "(max-color-index: 1)", "(max-color-index: 0)", "(display-mode: fullscreen)", "(display-mode: standalone)", "(display-mode: minimal-ui)", "(display-mode: browser)", "(forced-colors: none)", "(forced-colors: active)", "(grid: 0)", "(grid: 1)", "(max-height: 600px)", "(max-height: 1200px)", "(max-height: 900px)", "(max-height: 750px)", "(max-height: 825px)", "(max-height: 863px)", "(max-height: 882px)", "(max-height: 891px)", "(max-height: 887px)", "(max-height: 889px)", "(max-height: 890px)", "(hover: none)", "(hover: hover)", "(inverted-colors: none)", "(inverted-colors: inverted)", "(light-level: normal)", "(light-level: dim)", "(light-level: washed)", "(max-monochrome: 1)", "(max-monochrome: 0)", "(orientation: landscape)", "(orientation: portrait)", "(pointer: none)", "(pointer: coarse)", "(pointer: fine)", "(overflow-inline: none)", "(overflow-inline: scroll)", "(scripting: none)", "(scripting: initial-only)", "(scripting: enabled)", "(max-width: 600px)", "(max-width: 1200px)", "(max-width: 900px)", "(max-width: 1050px)", "(max-width: 975px)", "(max-width: 938px)", "(max-width: 919px)", "(max-width: 929px)", "(max-width: 934px)", "(max-width: 932px)", "(max-width: 931px)", "(prefers-contrast: no-preference)", "(prefers-contrast: high)", "(prefers-contrast: low)", "(overflow-block: none)", "(overflow-block: scroll)", "(overflow-block: optional-paged)", "(overflow-block: paged)", "(update: none)", "(update: slow)", "(update: fast)", "(prefers-reduced-motion: no-preference)", "(prefers-reduced-motion: reduce)", "(q: 1)", "(prefers-reduced-transparency: no-preference)", "(prefers-reduced-transparency: reduce)", "(prefers-color-scheme: no-preference)", "(prefers-color-scheme: light)", "(prefers-color-scheme: dark)", "(scan: interlace)", "(scan: progressive)"];
matchmediaList.push(...["(max-aspect-ratio: 1/1)", "(max-aspect-ratio: 2/1)", "(max-aspect-ratio: 3/1)", "(max-aspect-ratio: 4/1)", "(max-aspect-ratio: 5/1)", "(max-aspect-ratio: 6/1)", "(max-aspect-ratio: 7/1)", "(max-aspect-ratio: 8/1)", "(max-aspect-ratio: 9/1)", "(max-aspect-ratio: 10/1)", "(max-aspect-ratio: 11/1)", "(max-aspect-ratio: 12/1)", "(max-aspect-ratio: 13/1)", "(max-aspect-ratio: 14/1)", "(max-aspect-ratio: 15/1)", "(max-aspect-ratio: 16/1)", "(max-aspect-ratio: 17/1)", "(max-aspect-ratio: 18/1)", "(max-aspect-ratio: 19/1)", "(max-aspect-ratio: 20/1)", "(max-aspect-ratio: 21/1)", "(max-aspect-ratio: 22/1)", "(max-aspect-ratio: 23/1)", "(max-aspect-ratio: 24/1)", "(max-aspect-ratio: 25/1)", "(max-aspect-ratio: 26/1)", "(max-aspect-ratio: 27/1)", "(max-aspect-ratio: 28/1)", "(max-aspect-ratio: 29/1)", "(max-aspect-ratio: 30/1)", "(max-aspect-ratio: 31/1)", "(max-aspect-ratio: 32/1)", "(max-aspect-ratio: 33/1)", "(max-aspect-ratio: 34/1)", "(max-aspect-ratio: 35/1)", "(max-aspect-ratio: 36/1)", "(max-aspect-ratio: 37/1)", "(max-aspect-ratio: 38/1)", "(max-aspect-ratio: 39/1)", "(max-aspect-ratio: 40/1)", "(max-aspect-ratio: 41/1)", "(max-aspect-ratio: 42/1)", "(max-aspect-ratio: 43/1)", "(max-aspect-ratio: 44/1)", "(max-aspect-ratio: 45/1)", "(max-aspect-ratio: 46/1)", "(max-aspect-ratio: 47/1)", "(max-aspect-ratio: 48/1)", "(max-aspect-ratio: 49/1)", "(max-aspect-ratio: 50/1)", "(max-aspect-ratio: 51/1)", "(max-aspect-ratio: 101/2)", "(max-aspect-ratio: 203/4)", "(max-aspect-ratio: 407/8)", "(max-aspect-ratio: 815/16)", "(max-aspect-ratio: 1631/32)", "(max-aspect-ratio: 3263/64)", "(max-aspect-ratio: 6527/128)", "(max-aspect-ratio: 13055/256)", "(max-aspect-ratio: 26111/512)", "(max-aspect-ratio: 52223/1024)", "(max-aspect-ratio: 104447/2048)", "(max-aspect-ratio: 208895/4096)", "(max-aspect-ratio: 417791/8192)", "(max-aspect-ratio: 835583/16384)", "(max-aspect-ratio: 1671167/32768)", "(max-aspect-ratio: 3342335/65536)", "(max-aspect-ratio: 6684671/131072)", "(max-aspect-ratio: 13369343/262144)", "(max-aspect-ratio: 26738687/524288)", "(max-aspect-ratio: 53477375/1048576)", "(max-aspect-ratio: 106954751/2097152)", "(max-aspect-ratio: 213909503/4194304)", "(max-aspect-ratio: 427819007/8388608)", "(max-aspect-ratio: 855638015/16777216)", "(max-aspect-ratio: 1711276031/33554432)", "(max-aspect-ratio: 3422552063/67108864)", "(max-aspect-ratio: 6845104127/134217728)", "(max-aspect-ratio: 13690208255/268435456)", "(max-aspect-ratio: 27380416511/536870912)", "(max-aspect-ratio: 54760833023/1073741824)", "(max-aspect-ratio: 109521666047/2147483648)", "(max-aspect-ratio: 219043332095/4294967296)", "(max-aspect-ratio: 438086664191/8589934592)", "(max-aspect-ratio: 876173328383/17179869184)", "(max-aspect-ratio: 1752346656767/34359738368)", "(max-aspect-ratio: 3504693313535/68719476736)", "(max-aspect-ratio: 7009386627071/137438953472)", "(max-aspect-ratio: 14018773254143/274877906944)", "(max-aspect-ratio: 28037546508287/549755813888)", "(max-aspect-ratio: 56075093016575/1099511627776)", "(max-aspect-ratio: 112150186033151/2199023255552)", "(max-aspect-ratio: 224300372066303/4398046511104)", "(max-aspect-ratio: 448600744132607/8796093022208)", "(max-aspect-ratio: 897201488265215/17592186044416)", "(max-aspect-ratio: 1794402976530431/35184372088832)", "(max-aspect-ratio: 3588805953060863/70368744177664)", "(max-aspect-ratio: 7177611906121727/140737488355328)", "(min-resolution: 0.0001dpi)", "(max-resolution: 24dpi)", "(max-resolution: 48dpi)", "(max-resolution: 96dpi)", "(max-resolution: 72dpi)", "(max-resolution: 84dpi)", "(max-resolution: 90dpi)", "(max-resolution: 93dpi)", "(max-resolution: 95dpi)", "(any-hover: none)", "(any-hover: hover)", "(any-pointer: none)", "(any-pointer: coarse)", "(any-pointer: fine)", "(max-color: 8)", "(max-color: 4)", "(max-color: 6)", "(max-color: 7)", "(color-gamut: srgb)", "(color-gamut: p3)", "(color-gamut: rec2020)", "(max-color-index: 1000)", "(max-color-index: 500)", "(max-color-index: 250)", "(max-color-index: 125)", "(max-color-index: 62)", "(max-color-index: 31)", "(max-color-index: 15)", "(max-color-index: 7)", "(max-color-index: 3)", "(max-color-index: 1)", "(max-color-index: 0)", "(display-mode: fullscreen)", "(display-mode: standalone)", "(display-mode: minimal-ui)", "(display-mode: browser)", "(forced-colors: none)", "(forced-colors: active)", "(grid: 0)", "(grid: 1)", "(max-height: 600px)", "(max-height: 1200px)", "(max-height: 900px)", "(max-height: 750px)", "(max-height: 825px)", "(max-height: 863px)", "(max-height: 844px)", "(max-height: 854px)", "(max-height: 859px)", "(max-height: 861px)", "(max-height: 862px)", "(hover: none)", "(hover: hover)", "(inverted-colors: none)", "(inverted-colors: inverted)", "(light-level: normal)", "(light-level: dim)", "(light-level: washed)", "(max-monochrome: 1)", "(max-monochrome: 0)", "(orientation: landscape)", "(orientation: portrait)", "(pointer: none)", "(pointer: coarse)", "(pointer: fine)", "(overflow-inline: none)", "(overflow-inline: scroll)", "(scripting: none)", "(scripting: initial-only)", "(scripting: enabled)", "(max-width: 600px)", "(max-width: 1200px)", "(max-width: 2400px)", "(max-width: 4800px)", "(max-width: 9600px)", "(max-width: 19200px)", "(max-width: 38400px)", "(max-width: 76800px)", "(max-width: 153600px)", "(max-width: 307200px)", "(max-width: 614400px)", "(max-width: 1228800px)", "(max-width: 2457600px)", "(max-width: 4915200px)", "(max-width: 9830400px)", "(max-width: 19660800px)", "(max-width: 39321600px)", "(max-width: 78643200px)", "(max-width: 157286400px)", "(max-width: 314572800px)", "(max-width: 629145600px)", "(max-width: 1258291200px)", "(max-width: 2516582400px)", "(max-width: 5033164800px)", "(max-width: 10066329600px)", "(max-width: 20132659200px)", "(max-width: 40265318400px)", "(max-width: 80530636800px)", "(max-width: 161061273600px)", "(max-width: 322122547200px)", "(max-width: 644245094400px)", "(max-width: 1288490188800px)", "(max-width: 2576980377600px)", "(max-width: 5153960755200px)", "(max-width: 10307921510400px)", "(max-width: 20615843020800px)", "(max-width: 41231686041600px)", "(max-width: 82463372083200px)", "(max-width: 164926744166400px)", "(max-width: 329853488332800px)", "(max-width: 659706976665600px)", "(max-width: 1319413953331200px)", "(max-width: 2638827906662400px)", "(max-width: 5277655813324800px)", "(max-width: 10555311626649600px)", "(max-width: 21110623253299200px)", "(max-width: 42221246506598400px)", "(max-width: 84442493013196800px)", "(max-width: 168884986026393600px)", "(max-width: 337769972052787200px)", "(max-width: 675539944105574400px)", "(max-width: 506654958079180800px)", "(max-width: 591097451092377600px)", "(max-width: 633318697598976000px)", "(max-width: 654429320852275200px)", "(max-width: 664984632478924800px)", "(max-width: 670262288292249600px)", "(max-width: 672901116198912000px)", "(max-width: 674220530152243200px)", "(max-width: 674880237128908800px)", "(max-width: 675210090617241600px)", "(max-width: 675375017361408000px)", "(max-width: 675457480733491200px)", "(max-width: 675498712419532800px)", "(max-width: 675519328262553600px)", "(max-width: 675529636184064000px)", "(max-width: 675534790144819200px)", "(max-width: 675537367125196800px)", "(max-width: 675538655615385600px)", "(max-width: 675539299860480000px)", "(max-width: 675539621983027200px)", "(max-width: 675539783044300800px)", "(max-width: 675539863574937600px)", "(max-width: 675539903840256000px)", "(max-width: 675539923972915200px)", "(max-width: 675539934039244800px)", "(max-width: 675539939072409600px)", "(max-width: 675539941588992000px)", "(max-width: 675539942847283200px)", "(max-width: 675539943476428800px)", "(max-width: 675539943791001600px)", "(max-width: 675539943948288000px)", "(max-width: 675539944026931200px)", "(max-width: 675539944066252800px)", "(max-width: 675539944085913600px)", "(max-width: 675539944095744000px)", "(max-width: 675539944100659200px)", "(max-width: 675539944103116800px)", "(max-width: 675539944104345600px)", "(max-width: 675539944104960000px)", "(max-width: 675539944105267200px)", "(max-width: 675539944105420800px)", "(max-width: 675539944105497600px)", "(max-width: 675539944105536000px)", "(max-width: 675539944105555200px)", "(max-width: 675539944105564800px)", "(max-width: 675539944105569500px)", "(max-width: 675539944105572000px)", "(max-width: 675539944105573100px)", "(max-width: 675539944105573800px)", "(max-width: 675539944105574100px)", "(prefers-contrast: no-preference)", "(prefers-contrast: high)", "(prefers-contrast: low)", "(overflow-block: none)", "(overflow-block: scroll)", "(overflow-block: optional-paged)", "(overflow-block: paged)", "(update: none)", "(update: slow)", "(update: fast)", "(prefers-reduced-motion: no-preference)", "(prefers-reduced-motion: reduce)", "(q: 1)", "(prefers-reduced-transparency: no-preference)", "(prefers-reduced-transparency: reduce)", "(prefers-color-scheme: no-preference)", "(prefers-color-scheme: light)", "(prefers-color-scheme: dark)", "(scan: interlace)", "(scan: progressive)"])
let matchmedias = {}
for (let i = 0; i < matchmediaList.length; i++) {
let k = matchmediaList[i];
let v = matchMedia(k).matches
matchmedias[k] = v
}
let fonts = [
{"font": "50px sans-serif", "text": "0-_{w."}, {
"font": "50px serif",
"text": "0-_{w."
}, {"font": "50px 'Andale Mono', sans-serif", "text": "0-_{w."}, {
"font": "50px 'Arial Narrow', sans-serif",
"text": "0-_{w."
}, {"font": "50px 'Arial Unicode MS', sans-serif", "text": "0-_{w."}, {
"font": "50px 'Batang', sans-serif",
"text": "0-_{w."
}, {"font": "50px 'Batang', serif", "text": "0-_{w."}, {
"font": "50px 'Bell MT', sans-serif",
"text": "0-_{w."
}, {"font": "50px 'Bell MT', serif", "text": "0-_{w."}, {
"font": "50px 'Brush Script', sans-serif",
"text": "0-_{w."
}, {"font": "50px 'Brush Script', serif", "text": "0-_{w."}, {
"font": "50px 'Brush Script MT', sans-serif",
"text": "0-_{w."
}, {"font": "50px 'Calibri', sans-serif", "text": "0-_{w."}, {
"font": "50px 'Calibri', serif",
"text": "0-_{w."
}, {"font": "50px 'Charter', sans-serif", "text": "0-_{w."}, {
"font": "50px 'Courier', sans-serif",
"text": "0-_{w."
}, {"font": "50px 'Courier New', sans-serif", "text": "0-_{w."}, {
"font": "50px 'Curlz MT', sans-serif",
"text": "0-_{w."
}, {"font": "50px 'Curlz MT', serif", "text": "0-_{w."}, {
"font": "50px 'DejaVu Sans', sans-serif",
"text": "0-_{w."
}, {"font": "50px 'DejaVu Sans', serif", "text": "0-_{w."}, {
"font": "50px 'DejaVu Sans Mono', sans-serif",
"text": "0-_{w."
}, {"font": "50px 'DejaVu Sans Mono', serif", "text": "0-_{w."}, {
"font": "50px 'DejaVu Serif Condensed', sans-serif",
"text": "0-_{w."
}, {"font": "50px 'DejaVu Serif Condensed', serif", "text": "0-_{w."}, {
"font": "50px 'Droid Sans', sans-serif",
"text": "0-_{w."
}, {"font": "50px 'Droid Sans', serif", "text": "0-_{w."}, {
"font": "50px 'Droid Sans Fallback', sans-serif",
"text": "0-_{w."
}, {"font": "50px 'Droid Sans Fallback', serif", "text": "0-_{w."}, {
"font": "50px 'Droid Serif', sans-serif",
"text": "0-_{w."
}, {"font": "50px 'Droid Serif', serif", "text": "0-_{w."}, {
"font": "50px 'Forte', sans-serif",
"text": "0-_{w."
}, {"font": "50px 'Forte', serif", "text": "0-_{w."}, {
"font": "50px 'Futura', sans-serif",
"text": "0-_{w."
}, {"font": "50px 'Geneva', sans-serif", "text": "0-_{w."}, {
"font": "50px 'Hei', sans-serif",
"text": "0-_{w."
}, {"font": "50px 'Leelawadee', sans-serif", "text": "0-_{w."}, {
"font": "50px 'Leelawadee', serif",
"text": "0-_{w."
}, {"font": "50px 'Levenim MT', sans-serif", "text": "0-_{w."}, {
"font": "50px 'Levenim MT', serif",
"text": "0-_{w."
}, {"font": "50px 'Liberation Sans', sans-serif", "text": "0-_{w."}, {
"font": "50px 'Liberation Sans', serif",
"text": "0-_{w."
}, {
"font": "50px 'Liberation Sans Narrow', sans-serif",
"text": "0-_{w."
}, {"font": "50px 'Liberation Sans Narrow', serif", "text": "0-_{w."}, {
"font": "50px 'Marlett', sans-serif",
"text": "0-_{w."
}, {"font": "50px 'Marlett', serif", "text": "0-_{w."}, {
"font": "50px 'Meiryo UI', sans-serif",
"text": "0-_{w."
}, {"font": "50px 'Meiryo UI', serif", "text": "0-_{w."}, {
"font": "50px 'Microsoft Uighur', sans-serif",
"text": "0-_{w."
}, {"font": "50px 'Microsoft Uighur', serif", "text": "0-_{w."}, {
"font": "50px 'Microsoft YaHei UI', sans-serif",
"text": "0-_{w."
}, {"font": "50px 'Microsoft YaHei UI', serif", "text": "0-_{w."}, {
"font": "50px 'MS Mincho', sans-serif",
"text": "0-_{w."
}, {"font": "50px 'MS Mincho', serif", "text": "0-_{w."}, {
"font": "50px 'MS UI Gothic', sans-serif",
"text": "0-_{w."
}, {"font": "50px 'MS UI Gothic', serif", "text": "0-_{w."}, {
"font": "50px 'NanumGothic', sans-serif",
"text": "0-_{w."
}, {"font": "50px 'Nirmala UI', sans-serif", "text": "0-_{w."}, {
"font": "50px 'Nirmala UI', serif",
"text": "0-_{w."
}, {"font": "50px 'Palatino', sans-serif", "text": "0-_{w."}, {
"font": "50px 'Papyrus', sans-serif",
"text": "0-_{w."
}, {"font": "50px 'PMingLiU', sans-serif", "text": "0-_{w."}, {
"font": "50px 'PMingLiU', serif",
"text": "0-_{w."
}, {"font": "50px 'PT Serif', sans-serif", "text": "0-_{w."}, {
"font": "50px 'SimHei', sans-serif",
"text": "0-_{w."
}, {"font": "50px 'SimHei', serif", "text": "0-_{w."}, {
"font": "50px 'STIXVariants', sans-serif",
"text": "0-_{w."
}, {"font": "50px 'STSong', sans-serif", "text": "0-_{w."}, {
"font": "50px 'Traditional Arabic', sans-serif",
"text": "0-_{w."
}, {"font": "50px 'Traditional Arabic', serif", "text": "0-_{w."}, {
"font": "50px 'Urdu Typesetting', sans-serif",
"text": "0-_{w."
}, {"font": "50px 'Urdu Typesetting', serif", "text": "0-_{w."}, {
"font": "50px 'Verdana', sans-serif",
"text": "0-_{w."
}, {"font": "50px 'Wingdings', sans-serif", "text": "0-_{w."}, {
"font": "50px 'Wingdings 3', sans-serif",
"text": "0-_{w."
}, {"font": "50px 'Helkevtrica', sans-serif", "text": "0-_{w."}, {
"font": "50px 'Helkevtrica', serif",
"text": "0-_{w."
}, {"font": "1000px sans-serif", "text": "₹"}, {"font": "1000px sans-serif", "text": "▁"}, {
"font": "1000px sans-serif",
"text": "₺"
}, {"font": "1000px sans-serif", "text": "ꜽ"}, {"font": "1000px sans-serif", "text": "�"}, {
"font": "1000px sans-serif",
"text": "₸"
}, {"font": "1000px sans-serif", "text": "׆"}, {"font": "1000px sans-serif", "text": "ẞ"}, {
"font": "1000px sans-serif",
"text": "ॿ"
}, {"font": "1000px sans-serif", "text": ""}, {"font": "1000px sans-serif", "text": "᳚"}, {
"font": "1000px sans-serif",
"text": "៝"
}, {"font": "1000px sans-serif", "text": "⎮"}, {"font": "1000px sans-serif", "text": "ം"}, {
"font": "1000px sans-serif",
"text": "ஂ"
}, {"font": "1000px sans-serif", "text": "ᅚ"}, {"font": "1000px sans-serif", "text": "␥"}, {
"font": "1000px sans-serif",
"text": "〮"
}, {"font": "1000px sans-serif", "text": "꠰"}, {"font": "1000px sans-serif", "text": "⬆"}, {
"font": "1000px sans-serif",
"text": "⇤"
}, {"font": "1000px sans-serif", "text": "₽"}, {"font": "1000px sans-serif", "text": "ⱻ"}, {
"font": "1000px sans-serif",
"text": "₰"
}, {"font": "1000px sans-serif", "text": "ﯮ"}, {"font": "1000px sans-serif", "text": ""}, {
"font": "1000px sans-serif",
"text": "￿"
}, {"font": "1000px sans-serif", "text": ""}, {"font": "1000px sans-serif", "text": "Ⴀ"}, {
"font": "1000px sans-serif",
"text": "𝞐"
}, {"font": "1000px sans-serif", "text": "܀"}, {"font": "1000px sans-serif", "text": "ᥐ"}, {
"font": "1000px sans-serif",
"text": "ゕ"
}, {"font": "1000px sans-serif", "text": "匭"}, {
"font": "1000px sans-serif",
"text": "؜"
}, {"font": "1000px sans-serif", "text": "⃣"}, {"font": "1000px sans-serif", "text": ""}, {
"font": "1000px sans-serif",
"text": "Ș"
}, {"font": "1000px sans-serif", "text": "֏"}, {"font": "1000px sans-serif", "text": "ࣤ"}, {
"font": "1000px sans-serif",
"text": "঳"
}, {"font": "1000px sans-serif", "text": "᱐"}, {"font": "1000px sans-serif", "text": "☙"}, {
"font": "1000px serif",
"text": "₹"
}, {"font": "1000px serif", "text": "▁"}, {"font": "1000px serif", "text": "₺"}, {
"font": "1000px serif",
"text": "ꜽ"
}, {"font": "1000px serif", "text": "�"}, {"font": "1000px serif", "text": "₸"}, {
"font": "1000px serif",
"text": "׆"
}, {"font": "1000px serif", "text": "ẞ"}, {"font": "1000px serif", "text": "ॿ"}, {
"font": "1000px serif",
"text": ""
}, {"font": "1000px serif", "text": "᳚"}, {"font": "1000px serif", "text": "៝"}, {
"font": "1000px serif",
"text": "⎮"
}, {"font": "1000px serif", "text": "ം"}, {"font": "1000px serif", "text": "ஂ"}, {
"font": "1000px serif",
"text": "ᅚ"
}, {"font": "1000px serif", "text": "␥"}, {"font": "1000px serif", "text": "〮"}, {
"font": "1000px serif",
"text": "꠰"
}, {"font": "1000px serif", "text": "⬆"}, {"font": "1000px serif", "text": "⇤"}, {
"font": "1000px serif",
"text": "₽"
}, {"font": "1000px serif", "text": "ⱻ"}, {"font": "1000px serif", "text": "₰"}, {
"font": "1000px serif",
"text": "ﯮ"
}, {"font": "1000px serif", "text": ""}, {"font": "1000px serif", "text": "￿"}, {
"font": "1000px serif",
"text": ""
}, {"font": "1000px serif", "text": "Ⴀ"}, {"font": "1000px serif", "text": "𝞐"}, {
"font": "1000px serif",
"text": "܀"
}, {"font": "1000px serif", "text": "ᥐ"}, {"font": "1000px serif", "text": "ゕ"}, {
"font": "1000px serif",
"text": "匭"
}, {"font": "1000px serif", "text": "؜"}, {"font": "1000px serif", "text": "⃣"}, {
"font": "1000px serif",
"text": ""
}, {"font": "1000px serif", "text": "Ș"}, {"font": "1000px serif", "text": "֏"}, {
"font": "1000px serif",
"text": "ࣤ"
}, {"font": "1000px serif", "text": "঳"}, {"font": "1000px serif", "text": "᱐"}, {
"font": "1000px serif",
"text": "☙"
}, {"font": "1000px monospace", "text": "₹"}, {"font": "1000px monospace", "text": "▁"}, {
"font": "1000px monospace",
"text": "₺"
}, {"font": "1000px monospace", "text": "ꜽ"}, {"font": "1000px monospace", "text": "�"}, {
"font": "1000px monospace",
"text": "₸"
}, {"font": "1000px monospace", "text": "׆"}, {"font": "1000px monospace", "text": "ẞ"}, {
"font": "1000px monospace",
"text": "ॿ"
}, {"font": "1000px monospace", "text": ""}, {"font": "1000px monospace", "text": "᳚"}, {
"font": "1000px monospace",
"text": "៝"
}, {"font": "1000px monospace", "text": "⎮"}, {"font": "1000px monospace", "text": "ം"}, {
"font": "1000px monospace",
"text": "ஂ"
}, {"font": "1000px monospace", "text": "ᅚ"}, {"font": "1000px monospace", "text": "␥"}, {
"font": "1000px monospace",
"text": "〮"
}, {"font": "1000px monospace", "text": "꠰"}, {"font": "1000px monospace", "text": "⬆"}, {
"font": "1000px monospace",
"text": "⇤"
}, {"font": "1000px monospace", "text": "₽"}, {"font": "1000px monospace", "text": "ⱻ"}, {
"font": "1000px monospace",
"text": "₰"
}, {"font": "1000px monospace", "text": "ﯮ"}, {"font": "1000px monospace", "text": ""}, {
"font": "1000px monospace",
"text": "￿"
}, {"font": "1000px monospace", "text": ""}, {"font": "1000px monospace", "text": "Ⴀ"}, {
"font": "1000px monospace",
"text": "𝞐"
}, {"font": "1000px monospace", "text": "܀"}, {"font": "1000px monospace", "text": "ᥐ"}, {
"font": "1000px monospace",
"text": "ゕ"
}, {"font": "1000px monospace", "text": "匭"}, {"font": "1000px monospace", "text": "؜"}, {
"font": "1000px monospace",
"text": "⃣"
}, {"font": "1000px monospace", "text": ""}, {"font": "1000px monospace", "text": "Ș"}, {
"font": "1000px monospace",
"text": "֏"
}, {"font": "1000px monospace", "text": "ࣤ"}, {"font": "1000px monospace", "text": "঳"}, {
"font": "1000px monospace",
"text": "᱐"
}, {"font": "1000px monospace", "text": "☙"}, {"font": "1000px cursive", "text": "₹"}, {
"font": "1000px cursive",
"text": "▁"
}, {"font": "1000px cursive", "text": "₺"}, {"font": "1000px cursive", "text": "ꜽ"}, {
"font": "1000px cursive",
"text": "�"
}, {"font": "1000px cursive", "text": "₸"}, {"font": "1000px cursive", "text": "׆"}, {
"font": "1000px cursive",
"text": "ẞ"
}, {"font": "1000px cursive", "text": "ॿ"}, {"font": "1000px cursive", "text": ""}, {
"font": "1000px cursive",
"text": "᳚"
}, {"font": "1000px cursive", "text": "៝"}, {"font": "1000px cursive", "text": "⎮"}, {
"font": "1000px cursive",
"text": "ം"
}, {"font": "1000px cursive", "text": "ஂ"}, {"font": "1000px cursive", "text": "ᅚ"}, {
"font": "1000px cursive",
"text": "␥"
}, {"font": "1000px cursive", "text": "〮"}, {"font": "1000px cursive", "text": "꠰"}, {
"font": "1000px cursive",
"text": "⬆"
}, {"font": "1000px cursive", "text": "⇤"}, {"font": "1000px cursive", "text": "₽"}, {
"font": "1000px cursive",
"text": "ⱻ"
}, {"font": "1000px cursive", "text": "₰"}, {"font": "1000px cursive", "text": "ﯮ"}, {
"font": "1000px cursive",
"text": ""
}, {"font": "1000px cursive", "text": "￿"}, {"font": "1000px cursive", "text": ""}, {
"font": "1000px cursive",
"text": "Ⴀ"
}, {"font": "1000px cursive", "text": "𝞐"}, {"font": "1000px cursive", "text": "܀"}, {
"font": "1000px cursive",
"text": "ᥐ"
}, {"font": "1000px cursive", "text": "ゕ"}, {"font": "1000px cursive", "text": "匭"}, {
"font": "1000px cursive",
"text": "؜"
}, {"font": "1000px cursive", "text": "⃣"}, {"font": "1000px cursive", "text": ""}, {
"font": "1000px cursive",
"text": "Ș"
}, {"font": "1000px cursive", "text": "֏"}, {"font": "1000px cursive", "text": "ࣤ"}, {
"font": "1000px cursive",
"text": "঳"
}, {"font": "1000px cursive", "text": "᱐"}, {"font": "1000px cursive", "text": "☙"}, {
"font": "1000px fantasy",
"text": "₹"
}, {"font": "1000px fantasy", "text": "▁"}, {"font": "1000px fantasy", "text": "₺"}, {
"font": "1000px fantasy",
"text": "ꜽ"
}, {"font": "1000px fantasy", "text": "�"}, {"font": "1000px fantasy", "text": "₸"}, {
"font": "1000px fantasy",
"text": "׆"
}, {"font": "1000px fantasy", "text": "ẞ"}, {"font": "1000px fantasy", "text": "ॿ"}, {
"font": "1000px fantasy",
"text": ""
}, {"font": "1000px fantasy", "text": "᳚"}, {"font": "1000px fantasy", "text": "៝"}, {
"font": "1000px fantasy",
"text": "⎮"
}, {"font": "1000px fantasy", "text": "ം"}, {"font": "1000px fantasy", "text": "ஂ"}, {
"font": "1000px fantasy",
"text": "ᅚ"
}, {"font": "1000px fantasy", "text": "␥"}, {"font": "1000px fantasy", "text": "〮"}, {
"font": "1000px fantasy",
"text": "꠰"
}, {"font": "1000px fantasy", "text": "⬆"}, {"font": "1000px fantasy", "text": "⇤"}, {
"font": "1000px fantasy",
"text": "₽"
}, {"font": "1000px fantasy", "text": "ⱻ"}, {"font": "1000px fantasy", "text": "₰"}, {
"font": "1000px fantasy",
"text": "ﯮ"
}, {"font": "1000px fantasy", "text": ""}, {"font": "1000px fantasy", "text": "￿"}, {
"font": "1000px fantasy",
"text": ""
}, {"font": "1000px fantasy", "text": "Ⴀ"}, {"font": "1000px fantasy", "text": "𝞐"}, {
"font": "1000px fantasy",
"text": "܀"
}, {"font": "1000px fantasy", "text": "ᥐ"}, {"font": "1000px fantasy", "text": "ゕ"}, {
"font": "1000px fantasy",
"text": "匭"
}, {"font": "1000px fantasy", "text": "؜"}, {"font": "1000px fantasy", "text": "⃣"}, {
"font": "1000px fantasy",
"text": ""
}, {"font": "1000px fantasy", "text": "Ș"}, {"font": "1000px fantasy", "text": "֏"}, {
"font": "1000px fantasy",
"text": "ࣤ"
}, {"font": "1000px fantasy", "text": "঳"}, {"font": "1000px fantasy", "text": "᱐"}, {
"font": "1000px fantasy",
"text": "☙"
}, {"font": "72px monospace", "text": "mmmmmmmmlli"}, {
"font": "72px sans-serif",
"text": "mmmmmmmmlli"
}, {"font": "72px serif", "text": "mmmmmmmmlli"}, {
"font": "72px ARNOPRO, monospace",
"text": "mmmmmmmmlli"
}, {"font": "72px ARNOPRO, sans-serif", "text": "mmmmmmmmlli"}, {
"font": "72px ARNOPRO, serif",
"text": "mmmmmmmmlli"
}, {"font": "72px AgencyFB, monospace", "text": "mmmmmmmmlli"}, {
"font": "72px AgencyFB, sans-serif",
"text": "mmmmmmmmlli"
}, {"font": "72px AgencyFB, serif", "text": "mmmmmmmmlli"}, {
"font": "72px ArabicTypesetting, monospace",
"text": "mmmmmmmmlli"
}, {"font": "72px ArabicTypesetting, sans-serif", "text": "mmmmmmmmlli"}, {
"font": "72px ArabicTypesetting, serif",
"text": "mmmmmmmmlli"
}, {"font": "72px ArialUnicodeMS, monospace", "text": "mmmmmmmmlli"}, {
"font": "72px ArialUnicodeMS, sans-serif",
"text": "mmmmmmmmlli"
}, {"font": "72px ArialUnicodeMS, serif", "text": "mmmmmmmmlli"}, {
"font": "72px AvantGardeBkBT, monospace",
"text": "mmmmmmmmlli"
}, {"font": "72px AvantGardeBkBT, sans-serif", "text": "mmmmmmmmlli"}, {
"font": "72px AvantGardeBkBT, serif",
"text": "mmmmmmmmlli"
}, {"font": "72px BankGothicMdBT, monospace", "text": "mmmmmmmmlli"}, {
"font": "72px BankGothicMdBT, sans-serif",
"text": "mmmmmmmmlli"
}, {"font": "72px BankGothicMdBT, serif", "text": "mmmmmmmmlli"}, {
"font": "72px Batang, monospace",
"text": "mmmmmmmmlli"
}, {"font": "72px Batang, sans-serif", "text": "mmmmmmmmlli"}, {
"font": "72px Batang, serif",
"text": "mmmmmmmmlli"
}, {
"font": "72px BitstreamVeraSansMono, monospace",
"text": "mmmmmmmmlli"
}, {
"font": "72px BitstreamVeraSansMono, sans-serif",
"text": "mmmmmmmmlli"
}, {"font": "72px BitstreamVeraSansMono, serif", "text": "mmmmmmmmlli"}, {
"font": "72px Calibri, monospace",
"text": "mmmmmmmmlli"
}, {"font": "72px Calibri, sans-serif", "text": "mmmmmmmmlli"}, {
"font": "72px Calibri, serif",
"text": "mmmmmmmmlli"
}, {"font": "72px Century, monospace", "text": "mmmmmmmmlli"}, {
"font": "72px Century, sans-serif",
"text": "mmmmmmmmlli"
}, {"font": "72px Century, serif", "text": "mmmmmmmmlli"}, {
"font": "72px CenturyGothic, monospace",
"text": "mmmmmmmmlli"
}, {"font": "72px CenturyGothic, sans-serif", "text": "mmmmmmmmlli"}, {
"font": "72px CenturyGothic, serif",
"text": "mmmmmmmmlli"
}, {"font": "72px Clarendon, monospace", "text": "mmmmmmmmlli"}, {
"font": "72px Clarendon, sans-serif",
"text": "mmmmmmmmlli"
}, {"font": "72px Clarendon, serif", "text": "mmmmmmmmlli"}, {
"font": "72px EUROSTILE, monospace",
"text": "mmmmmmmmlli"
}, {"font": "72px EUROSTILE, sans-serif", "text": "mmmmmmmmlli"}, {
"font": "72px EUROSTILE, serif",
"text": "mmmmmmmmlli"
}, {"font": "72px FranklinGothic, monospace", "text": "mmmmmmmmlli"}, {
"font": "72px FranklinGothic, sans-serif",
"text": "mmmmmmmmlli"
}, {"font": "72px FranklinGothic, serif", "text": "mmmmmmmmlli"}, {
"font": "72px FuturaBkBT, monospace",
"text": "mmmmmmmmlli"
}, {"font": "72px FuturaBkBT, sans-serif", "text": "mmmmmmmmlli"}, {
"font": "72px FuturaBkBT, serif",
"text": "mmmmmmmmlli"
}, {"font": "72px FuturaMdBT, monospace", "text": "mmmmmmmmlli"}, {
"font": "72px FuturaMdBT, sans-serif",
"text": "mmmmmmmmlli"
}, {"font": "72px FuturaMdBT, serif", "text": "mmmmmmmmlli"}, {
"font": "72px GOTHAM, monospace",
"text": "mmmmmmmmlli"
}, {"font": "72px GOTHAM, sans-serif", "text": "mmmmmmmmlli"}, {
"font": "72px GOTHAM, serif",
"text": "mmmmmmmmlli"
}, {"font": "72px GillSans, monospace", "text": "mmmmmmmmlli"}, {
"font": "72px GillSans, sans-serif",
"text": "mmmmmmmmlli"
}, {"font": "72px GillSans, serif", "text": "mmmmmmmmlli"}, {
"font": "72px HELV, monospace",
"text": "mmmmmmmmlli"
}, {"font": "72px HELV, sans-serif", "text": "mmmmmmmmlli"}, {
"font": "72px HELV, serif",
"text": "mmmmmmmmlli"
}, {"font": "72px Haettenschweiler, monospace", "text": "mmmmmmmmlli"}, {
"font": "72px Haettenschweiler, sans-serif",
"text": "mmmmmmmmlli"
}, {"font": "72px Haettenschweiler, serif", "text": "mmmmmmmmlli"}, {
"font": "72px HelveticaNeue, monospace",
"text": "mmmmmmmmlli"
}, {"font": "72px HelveticaNeue, sans-serif", "text": "mmmmmmmmlli"}, {
"font": "72px HelveticaNeue, serif",
"text": "mmmmmmmmlli"
}, {"font": "72px Humanst521BT, monospace", "text": "mmmmmmmmlli"}, {
"font": "72px Humanst521BT, sans-serif",
"text": "mmmmmmmmlli"
}, {"font": "72px Humanst521BT, serif", "text": "mmmmmmmmlli"}, {
"font": "72px Leelawadee, monospace",
"text": "mmmmmmmmlli"
}, {"font": "72px Leelawadee, sans-serif", "text": "mmmmmmmmlli"}, {
"font": "72px Leelawadee, serif",
"text": "mmmmmmmmlli"
}, {"font": "72px LetterGothic, monospace", "text": "mmmmmmmmlli"}, {
"font": "72px LetterGothic, sans-serif",
"text": "mmmmmmmmlli"
}, {"font": "72px LetterGothic, serif", "text": "mmmmmmmmlli"}, {
"font": "72px LevenimMT, monospace",
"text": "mmmmmmmmlli"
}, {"font": "72px LevenimMT, sans-serif", "text": "mmmmmmmmlli"}, {
"font": "72px LevenimMT, serif",
"text": "mmmmmmmmlli"
}, {"font": "72px LucidaBright, monospace", "text": "mmmmmmmmlli"}, {
"font": "72px LucidaBright, sans-serif",
"text": "mmmmmmmmlli"
}, {"font": "72px LucidaBright, serif", "text": "mmmmmmmmlli"}, {
"font": "72px LucidaSans, monospace",
"text": "mmmmmmmmlli"
}, {"font": "72px LucidaSans, sans-serif", "text": "mmmmmmmmlli"}, {
"font": "72px LucidaSans, serif",
"text": "mmmmmmmmlli"
}, {"font": "72px MSMincho, monospace", "text": "mmmmmmmmlli"}, {
"font": "72px MSMincho, sans-serif",
"text": "mmmmmmmmlli"
}, {"font": "72px MSMincho, serif", "text": "mmmmmmmmlli"}, {
"font": "72px MSOutlook, monospace",
"text": "mmmmmmmmlli"
}, {"font": "72px MSOutlook, sans-serif", "text": "mmmmmmmmlli"}, {
"font": "72px MSOutlook, serif",
"text": "mmmmmmmmlli"
}, {
"font": "72px MSReferenceSpecialty, monospace",
"text": "mmmmmmmmlli"
}, {
"font": "72px MSReferenceSpecialty, sans-serif",
"text": "mmmmmmmmlli"
}, {"font": "72px MSReferenceSpecialty, serif", "text": "mmmmmmmmlli"}, {
"font": "72px MSUIGothic, monospace",
"text": "mmmmmmmmlli"
}, {"font": "72px MSUIGothic, sans-serif", "text": "mmmmmmmmlli"}, {
"font": "72px MSUIGothic, serif",
"text": "mmmmmmmmlli"
}, {"font": "72px MTExtra, monospace", "text": "mmmmmmmmlli"}, {
"font": "72px MTExtra, sans-serif",
"text": "mmmmmmmmlli"
}, {"font": "72px MTExtra, serif", "text": "mmmmmmmmlli"}, {
"font": "72px MYRIADPRO, monospace",
"text": "mmmmmmmmlli"
}, {"font": "72px MYRIADPRO, sans-serif", "text": "mmmmmmmmlli"}, {
"font": "72px MYRIADPRO, serif",
"text": "mmmmmmmmlli"
}, {"font": "72px Marlett, monospace", "text": "mmmmmmmmlli"}, {
"font": "72px Marlett, sans-serif",
"text": "mmmmmmmmlli"
}, {"font": "72px Marlett, serif", "text": "mmmmmmmmlli"}, {
"font": "72px MeiryoUI, monospace",
"text": "mmmmmmmmlli"
}, {"font": "72px MeiryoUI, sans-serif", "text": "mmmmmmmmlli"}, {
"font": "72px MeiryoUI, serif",
"text": "mmmmmmmmlli"
}, {"font": "72px MicrosoftUighur, monospace", "text": "mmmmmmmmlli"}, {
"font": "72px MicrosoftUighur, sans-serif",
"text": "mmmmmmmmlli"
}, {"font": "72px MicrosoftUighur, serif", "text": "mmmmmmmmlli"}, {
"font": "72px MinionPro, monospace",
"text": "mmmmmmmmlli"
}, {"font": "72px MinionPro, sans-serif", "text": "mmmmmmmmlli"}, {
"font": "72px MinionPro, serif",
"text": "mmmmmmmmlli"
}, {"font": "72px MonotypeCorsiva, monospace", "text": "mmmmmmmmlli"}, {
"font": "72px MonotypeCorsiva, sans-serif",
"text": "mmmmmmmmlli"
}, {"font": "72px MonotypeCorsiva, serif", "text": "mmmmmmmmlli"}, {
"font": "72px PMingLiU, monospace",
"text": "mmmmmmmmlli"
}, {"font": "72px PMingLiU, sans-serif", "text": "mmmmmmmmlli"}, {
"font": "72px PMingLiU, serif",
"text": "mmmmmmmmlli"
}, {"font": "72px Pristina, monospace", "text": "mmmmmmmmlli"}, {
"font": "72px Pristina, sans-serif",
"text": "mmmmmmmmlli"
}, {"font": "72px Pristina, serif", "text": "mmmmmmmmlli"}, {
"font": "72px SCRIPTINA, monospace",
"text": "mmmmmmmmlli"
}, {"font": "72px SCRIPTINA, sans-serif", "text": "mmmmmmmmlli"}, {
"font": "72px SCRIPTINA, serif",
"text": "mmmmmmmmlli"
}, {"font": "72px SegoeUILight, monospace", "text": "mmmmmmmmlli"}, {
"font": "72px SegoeUILight, sans-serif",
"text": "mmmmmmmmlli"
}, {"font": "72px SegoeUILight, serif", "text": "mmmmmmmmlli"}, {
"font": "72px Serifa, monospace",
"text": "mmmmmmmmlli"
}, {"font": "72px Serifa, sans-serif", "text": "mmmmmmmmlli"}, {
"font": "72px Serifa, serif",
"text": "mmmmmmmmlli"
}, {"font": "72px SimHei, monospace", "text": "mmmmmmmmlli"}, {
"font": "72px SimHei, sans-serif",
"text": "mmmmmmmmlli"
}, {"font": "72px SimHei, serif", "text": "mmmmmmmmlli"}, {
"font": "72px SmallFonts, monospace",
"text": "mmmmmmmmlli"
}, {"font": "72px SmallFonts, sans-serif", "text": "mmmmmmmmlli"}, {
"font": "72px SmallFonts, serif",
"text": "mmmmmmmmlli"
}, {"font": "72px Staccato222BT, monospace", "text": "mmmmmmmmlli"}, {
"font": "72px Staccato222BT, sans-serif",
"text": "mmmmmmmmlli"
}, {"font": "72px Staccato222BT, serif", "text": "mmmmmmmmlli"}, {
"font": "72px TRAJANPRO, monospace",
"text": "mmmmmmmmlli"
}, {"font": "72px TRAJANPRO, sans-serif", "text": "mmmmmmmmlli"}, {
"font": "72px TRAJANPRO, serif",
"text": "mmmmmmmmlli"
}, {"font": "72px UniversCE55Medium, monospace", "text": "mmmmmmmmlli"}, {
"font": "72px UniversCE55Medium, sans-serif",
"text": "mmmmmmmmlli"
}, {"font": "72px UniversCE55Medium, serif", "text": "mmmmmmmmlli"}, {
"font": "72px Vrinda, monospace",
"text": "mmmmmmmmlli"
}, {"font": "72px Vrinda, sans-serif", "text": "mmmmmmmmlli"}, {
"font": "72px Vrinda, serif",
"text": "mmmmmmmmlli"
}, {"font": "72px ZWAdobeF, monospace", "text": "mmmmmmmmlli"}, {
"font": "72px ZWAdobeF, sans-serif",
"text": "mmmmmmmmlli"
}, {"font": "72px ZWAdobeF, serif", "text": "mmmmmmmmlli"}]
let fontsRes = {}
var canvas = new OffscreenCanvas(1200, 1200)
var ctx = canvas.getContext('2d')
for (let i = 0; i < fonts.length; i++) {
ctx.font = fonts[i].font;
let met = ctx.measureText(fonts[i].text)
if (!fontsRes[fonts[i].font]) {
fontsRes[fonts[i].font] = {}
}
fontsRes[fonts[i].font][fonts[i].text] = {
width: met.width,
actualboundingboxascent: met.actualBoundingBoxAscent,
actualboundingboxleft: met.actualBoundingBoxLeft,
actualboundingboxright: met.actualBoundingBoxRight,
fontboundingboxascent: met.fontBoundingBoxAscent,
actualboundingboxdescent: met.actualBoundingBoxDescent,
}
}
let imgsRes = {};
let sss = [
{
"font": "94px sans-serif",
"fillStyle": "#000000",
"fillText": ["😎", -1, 96],
"imageData": [18, 90, 1, 1]
}, {
"font": "94px sans-serif",
"fillStyle": "#000000",
"fillText": ["6️⃣", -1, 96],
"imageData": [38, 77, 1, 1]
}, {
"font": "94px sans-serif",
"fillStyle": "#000000",
"fillText": ["🍼", -1, 96],
"imageData": [48, 28, 1, 1]
}, {
"font": "94px sans-serif",
"fillStyle": "#000000",
"fillText": ["🏴󠁧󠁢󠁥󠁮󠁧󠁿", -1, 96],
"imageData": [94, 23, 1, 1]
}, {
"font": "94px sans-serif",
"fillStyle": "#000000",
"fillText": ["📊", -1, 96],
"imageData": [26, 46, 1, 1]
}, {
"font": "94px sans-serif",
"fillStyle": "#000000",
"fillText": ["🏴󠁧󠁢󠁥󠁮󠁧󠁿", -1, 96],
"imageData": [47, 23, 1, 1]
}, {
"font": "94px sans-serif",
"fillStyle": "#000000",
"fillText": ["㊗️", -1, 96],
"imageData": [37, 17, 1, 1]
}, {
"font": "94px sans-serif",
"fillStyle": "#000000",
"fillText": ["⛎", -1, 96],
"imageData": [62, 28, 1, 1]
}
]
let imgRes = {};
for (let i = 0; i < sss.length; i++) {
var a = document.createElement('canvas')
a.width = 96
a.height = 96
let ctx = a.getContext('2d');
let s = sss[i];
ctx.font = s.font;
ctx.fillStyle = s.fillStyle;
ctx.fillText(...s.fillText)
let data = ctx.getImageData(...s.imageData);
if (!imgRes[s.font]) {
imgRes[s.font] = {}
}
imgRes[s.font][s.imageData + ''] = data.data + ''
}
let glArgs = {
3413: 8,
3412: 8,
3411: 8,
3410: 8,
3414: 24,
35661: 32,
34076: 16384,
36349: 1024,
34024: 16384,
34930: 16,
3379: 16384,
36348: 31,
34921: 16,
35660: 16,
36347: 1024,
7937: 'WebKit WebGL',
35724: 'WebGL GLSL ES 1.0 (OpenGL ES GLSL ES 1.0 Chromium)',
3415: 0,
7936: 'WebKit',
7938: 'WebGL 1.0 (OpenGL ES 2.0 Chromium)',
37445: 'Google Inc.',
37446: 'ANGLE (Apple, Apple M1 Max, OpenGL 4.1)',
34047: 16
};
var glARgs = Object.keys(glArgs);
var canvas = document.createElement('canvas')
var gl = canvas.getContext('webgl')
gl.getExtension('WEBGL_debug_renderer_info')
gl.getExtension('EXT_texture_filter_anisotropic')
for (let i = 0; i < glARgs.length; i++) {
glArgs[glARgs[i]] = gl.getParameter(parseInt(glARgs[i]))
}
let navigatorparams = {
appname: navigator.appName,
appncodename: navigator.appCodeName,
appversion: navigator.appVersion,
appcodename: navigator.appCodeName,
hardwareconcurrency: navigator.hardwareConcurrency,
maxtouchpoints: navigator.maxTouchPoints,
platform: navigator.platform,
product: navigator.product,
productsub: navigator.productSub,
useragent: navigator.userAgent,
vendor: navigator.vendor,
vendorsub: navigator.vendorSub,
donottrack: navigator.doNotTrack,
oscpu: navigator.oscpu ? navigator.oscpu : '',
buildid: navigator.buildID ? navigator.buildID : '',
}
let screenparams = {
height: screen.height,
width: screen.width,
availheight: screen.availHeight,
availwidth: screen.availWidth,
pixeldepth: screen.pixelDepth,
colordepth: screen.colorDepth,
availtop: screen.availTop,
availleft: screen.availLeft,
}
let featurePolicy;
if (document.featurePolicy) {
featurePolicy = {
features: document.featurePolicy.features(),
allowedfeatures: document.featurePolicy.allowedFeatures(),
}
}
let windowparams = {
innerheight: window.innerHeight,
innerwidth: window.innerWidth,
outerheight: window.outerHeight,
outerwidth: window.outerWidth,
screenx: window.screenX,
screeny: window.screenY,
screentop: window.screenTop,
screenleft: window.screenLeft,
pageyoffset: window.pageYOffset,
devicepixelratio: window.devicePixelRatio,
}
let plugins = navigator.plugins;
let plgs = {}
function getObj(r) {
return {
description: r.description,
suffixes: r.suffixes,
type: r.type,
}
}
for (let i = 0; i < plugins.length; i++) {
let p = plugins.item(i);
let pi = {}
let keys = ['0', '1', 'application/pdf', 'text/pdf', 'description', 'filename', 'length', 'name'];
for (const key of keys) {
let r = p[key];
if (typeof r === 'object') {
r = getObj(r)
r.enabledPlugin = [];
}
pi[key] = r
}
plgs[i] = pi
}
let mimes = [];
let mimeTypes = navigator.mimeTypes;
for (let i = 0; i < mimeTypes.length; i++) {
let mime = mimeTypes.item(i);
mimes.push({
description: mime.description,
suffixes: mime.suffixes,
type: mime.type,
})
}
function getDataUrl() {
var canvas = document.createElement('canvas');
let ctx = canvas.getContext('2d');
ctx.font = '18pt Sans';
ctx.textBaseline = 'top'
ctx.fillText('Hel$&?6%){mZ+#@', 2, 2)
return canvas.toDataURL("image/png");
}
function getDataUrl2() {
let A = function () {
let d = String["fromCharCode"];
for (var t = [], n = 0, e = "", r = 0, a = arguments["length"]; r !== a; ++r) {
var o = +arguments[r];
if (!(o < 1114111 && o >>> 0 === o)) {
throw RangeError("Invalid code point: " + o);
}
o <= 65535 ? n = t["push"](o) : (o -= 65536, n = t["push"](55296 + (o >> 10), o % 1024 + 56320));
n >= 16383 && (e += d["apply"](null, t), t["length"] = 0);
}
return e + d["apply"](null, t);
};
function Ll(t, n) {
var e = document["createElement"]("canvas");
e["width"] = t || 2e3;
e["height"] = n || 200;
e["style"]["display"] = "inline";
return e;
}
function f(t) {
f = "function" == typeof Symbol && "symbol" == typeof Symbol["iterator"] ? function (t) {
return typeof t;
} : function (t) {
return t && "function" == typeof Symbol && t["constructor"] === Symbol && t !== Symbol["prototype"] ? "symbol" : typeof t;
};
return f(t);
}
function jl(t) {
var n = t && t["getContext"]("2d");
return n && f(n["fillText"]) === "function" ? n : null;
}
var e = "no_fp";
try {
var r = Ll(860, 6);
if (r) {
var a = jl(r);
e = "PX11982";
if (a) {
a["font"] = "6px sans-serif";
var o = 1;
[97, 667, 917, 1050, 1344, 1488, 1575, 1808, 1931, 2342, 2476, 2583, 2711, 2825, 2980, 3108, 3221, 3374, 3517, 3524, 3652, 3749, 3926, 4121, 4325, 4877, 5091, 5123, 6017, 6190, 6682, 7070, 11612, 20206, 27721, 41352, 43415, 54620, 55295]["forEach"](function (t) {
a["fillText"](A("0x" + t["toString"](16)), 6 * o, 6);
o++;
});
for (var i = 9881; i < 9983; i++) {
a["fillText"](A("0x" + i["toString"](16)), 6 * o, 6);
o++;
}
// PX12572
e = a["canvas"]["toDataURL"]();
}
} else {
e = "PX12423";
}
} catch (n) {
e = "PX11474";
}
var e2 = "no_fp";
try {
var r = Ll(650, 12);
if (r) {
var a = jl(r);
e2 = "PX11982";
if (a) {
a["font"] = "8px sans-serif";
for (var o = 1, i = 128512; i < 128591; i++) {
a["fillText"](A("0x" + i["toString"](16)), 8 * o, 8);
o++;
}
// PX11927
e2 = a["canvas"]["toDataURL"]();
}
} else {
e = "PX12423";
}
} catch (n) {
e2 = "PX11474";
}
return {
PX11927: e2,
PX12572: e,
}
}
let audioFp = {};
(function() {
try {
var e;
var r = new (window["OfflineAudioContext"] || window["webkitOfflineAudioContext"])(1, 44100, 44100);
if (!r) {
return {}
}
function f(t) {
f = "function" == typeof Symbol && "symbol" == typeof Symbol["iterator"] ? function (t) {
return typeof t;
} : function (t) {
return t && "function" == typeof Symbol && t["constructor"] === Symbol && t !== Symbol["prototype"] ? "symbol" : typeof t;
};
return f(t);
}
function Wl(t, n, e) {
t && (f(t["setValueAtTime"]) === "function" ? t["setValueAtTime"](n, e) : t["value"] = n);
}
var a = r["createOscillator"]();
var o = f(r["currentTime"]) === "number" && r["currentTime"] || 0;
a["type"] = "sine";
Wl(a["frequency"], 1e4, o);
var c = r["createDynamicsCompressor"]();
Wl(c["threshold"], -50, o);
Wl(c["knee"], 40, o);
Wl(c["ratio"], 12, o);
Wl(c["reduction"], -20, o);
Wl(c["attack"], 0, o);
Wl(c["release"], .25, o);
a["connect"](c);
c["connect"](r["destination"]);
a["start"](0);
r["startRendering"]()["then"](function (t) {
try {
var r;
var a = 0;
if (f(t["getChannelData"]) === "function") {
for (var o = 4500; o < 5e3; o++) {
var c = t["getChannelData"](0);
c && (a += Math["abs"](c[o]));
}
}
var h = a["toString"]();
var s = h ;
audioFp = {
PX11477: h,
//P(h)
PX12109: s,
}
} catch (t) {
var l;
return {};
}
});
navigator.storage.estimate().then(e=>{
audioFp.PX12362 = e.quota;
})
var a = function () {
let Ju = window["speechSynthesis"]["getVoices"]();
if (!Ju) {
return {
"browser": 'no_fp',
"device": 'no_fp'
};
}
for (var t = "", n = "", e = 0; e < Ju["length"]; e++) {
var r = Ju[e];
n += r["voiceURI"] + r["name"] + r["lang"] + r["localService"] + r["default"];
r["name"] && -1 === r["name"]["indexOf"]("Google") && -1 === r["name"]["indexOf"]("Microsoft") && (t += r["name"]);
}
return {
"browser": n,
"device": t
};
}();
audioFp["PX12525"] = a["browser"];
audioFp["PX12526"] = a["device"];
} catch (e) {
var h;
return {};
}
}())
function canplay() {
let videos = {
"audio/aac; codecs=\"flac\"": "",
"audio/flac": "probably",
"audio/mpeg; codecs=\"mp3\"": "probably",
"audio/mpeg; codecs=\"vp9\"": "",
"audio/webm; codecs=\"vp8\"": "",
"audio/webz": "",
"audio/x-m4a; codecs=\"mp3\"": "",
"audio/x-m4a; codecs=\"vp8, mp4a.40\"": "",
"audio/x-m4a; codecs=\"vp9, mp4a.40.2\"": "",
"video/mp4": "maybe",
"video/mp4; codecs=\"ac-3\"": "",
"video/mp4; codecs=\"avc1.42011E\"": "",
"video/mp4; codecs=\"avc1.42E009\"": "maybe",
"video/mp4; codecs=\"avc1.42E034\"": "probably",
"video/mp4; codecs=\"avc1.42F01E\"": "probably",
"video/mp4; codecs=\"avc1.4D001E\"": "probably",
"video/mp4; codecs=\"avc3.42001E\"": "probably",
"video/mp4; codecs=\"avc3.42E01E, mp4a.40.29\"": "probably",
"video/mp4; codecs=\"flac\"": "probably",
"video/mp4; codecs=\"hev1\"": "",
"video/mp4; codecs=\"hvc1x\"": "",
"video/mp4; codecs=\"lavc1337\"": "",
"video/mp4; codecs=\"mp4a.40.02\"": "probably",
"video/mp4; codecs=\"mp4a.40.5\"": "probably",
"video/mp4; codecs=\"mp4a.67\"": "probably",
"video/mp4; codecs=\"opus\"": "probably",
"video/ogg; codecs=\"flac\"": "probably",
"video/ogg; codecs=\"opus\"": "probably",
"video/ogg; codecs=\"vp8\"": "probably",
"video/webm": "maybe",
"video/webm; codecs=\"av01.0.04M.08\"": "probably",
"video/webm; codecs=\"vp09.02.10.08\"": "probably",
"video/x-dv": "",
"video/x-m4v; codecs=\"avc1.42AC23\"": "maybe"
};
var v = document.createElement('video');
for (let i = 0; i < videos.length; i++) {
videos[i] = v.canPlayType(videos[i]);
}
return videos;
}
function stringToHex(str) {
var val = "";
for (var i = 0; i < str.length; i++) {
let a = (str.charCodeAt(i) - 20).toString(16);
if (a.length == 1) {
val += "0" + a;
} else {
val += a
}
}
return val;
}
let userAgentData = {};
navigator.userAgentData && navigator.userAgentData.getHighEntropyValues(['architecture', 'bitness', 'brands', 'mobile', 'model', 'platform',
'platformVersion', 'uaFullVersion', 'wow64', 'fullVersionList']).then(e => {
userAgentData['highvalue'] = e
userAgentData['brands'] = navigator.userAgentData.brands
userAgentData['mobile'] = navigator.userAgentData.mobile
userAgentData['platform'] = navigator.userAgentData.platform
// console.log(JSON.stringify(userAgentData))
})
let webglImg = function () {
let canvas = document.createElement("canvas");
canvas.width = 150;
canvas.height = 150;
let n = {};
let t = canvas.getContext('webgl');
var r;
var a;
var o;
var c;
var Gl = "no_fp";
function Pl(t, n) {
try {
return t["getParameter"](n) || "no_fp";
} catch (t) {
return "no_fp";
}
}
var u2 = function (n) {
t["clearColor"](0, 0, 0, 1);
t["enable"](t["DEPTH_TEST"]);
t["depthFunc"](t["LEQUAL"]);
t["clear"](t["COLOR_BUFFER_BIT"] | t["DEPTH_BUFFER_BIT"]);
return "[" + n[0] + ", " + n[1] + "]";
};
r = t["createBuffer"]();
t["bindBuffer"](t["ARRAY_BUFFER"], r);
var u = new Float32Array([-.2, -.9, 0, .4, -.26, 0, 0, .732134444, 0]);
t["bufferData"](t["ARRAY_BUFFER"], u, t["STATIC_DRAW"]);
r["itemSize"] = 3;
r["numItems"] = 3;
a = t["createProgram"]();
o = t["createShader"](t["VERTEX_SHADER"]);
t["shaderSource"](o, "attribute vec2 attrVertex;varying vec2 varyinTexCoordinate;uniform vec2 uniformOffset;void main(){varyinTexCoordinate=attrVertex+uniformOffset;gl_Position=vec4(attrVertex,0,1);}");
t["compileShader"](o);
c = t["createShader"](t["FRAGMENT_SHADER"]);
t["shaderSource"](c, "precision mediump float;varying vec2 varyinTexCoordinate;void main() {gl_FragColor=vec4(varyinTexCoordinate,0,1);}");
t["compileShader"](c);
t["attachShader"](a, o);
t["attachShader"](a, c);
t["linkProgram"](a);
t["useProgram"](a);
a["vertexPosAttrib"] = t["getAttribLocation"](a, "attrVertex");
a["offsetUniform"] = t["getUniformLocation"](a, "uniformOffset");
t["enableVertexAttribArray"](a["vertexPosArray"]);
t["vertexAttribPointer"](a["vertexPosAttrib"], r["itemSize"], t["FLOAT"], !1, 0, 0);
t["uniform2f"](a["offsetUniform"], 1, 1);
t["drawArrays"](t["TRIANGLE_STRIP"], 0, r["numItems"]);
n["canvasfp"] = null === t["canvas"] ? "no_fp" : t["canvas"]["toDataURL"]();
n["extensions"] = t["getSupportedExtensions"]() || ["no_fp"];
n["webglRenderer"] = Pl(t, t["RENDERER"]);
n["shadingLangulageVersion"] = Pl(t, t["SHADING_LANGUAGE_VERSION"]);
n["webglVendor"] = Pl(t, t["VENDOR"]);
n["webGLVersion"] = Pl(t, t["VERSION"]);
var a = t["getExtension"]("WEBGL_debug_renderer_info");
a && (n["unmaskedVendor"] = Pl(t, a["UNMASKED_VENDOR_WEBGL"]), n["unmaskedRenderer"] = Pl(t, a["UNMASKED_RENDERER_WEBGL"]));
n["webglParameters"] = [];
var o = n["webglParameters"];
o["push"](u2(Pl(t, t["ALIASED_LINE_WIDTH_RANGE"])));
o["push"](u2(Pl(t, t["ALIASED_POINT_SIZE_RANGE"])));
o["push"](Pl(t, t["ALPHA_BITS"]));
o["push"](t["getContextAttributes"]()["antialias"] ? "yes" : "no");
o["push"](Pl(t, t["BLUE_BITS"]));
o["push"](Pl(t, t["DEPTH_BITS"]));
o["push"](Pl(t, t["GREEN_BITS"]));
o["push"](function (t) {
var n;
var e = t["getExtension"]("EXT_texture_filter_anisotropic") || t["getExtension"]("WEBKIT_EXT_texture_filter_anisotropic") || t["getExtension"]("MOZ_EXT_texture_filter_anisotropic");
return e ? (0 === (n = t["getParameter"](e["MAX_TEXTURE_MAX_ANISOTROPY_EXT"])) && (n = 2), n) : null;
}(t));
o["push"](Pl(t, t["MAX_COMBINED_TEXTURE_IMAGE_UNITS"]));
o["push"](Pl(t, t["MAX_CUBE_MAP_TEXTURE_SIZE"]));
o["push"](Pl(t, t["MAX_FRAGMENT_UNIFORM_VECTORS"]));
o["push"](Pl(t, t["MAX_RENDERBUFFER_SIZE"]));
o["push"](Pl(t, t["MAX_TEXTURE_IMAGE_UNITS"]));
o["push"](Pl(t, t["MAX_TEXTURE_SIZE"]));
o["push"](Pl(t, t["MAX_VARYING_VECTORS"]));
o["push"](Pl(t, t["MAX_VERTEX_ATTRIBS"]));
o["push"](Pl(t, t["MAX_VERTEX_TEXTURE_IMAGE_UNITS"]));
o["push"](Pl(t, t["MAX_VERTEX_UNIFORM_VECTORS"]));
o["push"](u2(Pl(t, t["MAX_VIEWPORT_DIMS"])));
o["push"](Pl(t, t["STENCIL_BITS"]));
if (t["getShaderPrecisionFormat"]) {
for (var i = ["VERTEX_SHADER", "FRAGMENT_SHADER", "VERTEX_SHADER", "FRAGMENT_SHADER"], c = ["HIGH_FLOAT", "MEDIUM_FLOAT", "LOW_FLOAT"], f = 0; f < i["length"]; f++) {
for (var h = i[f], s = 0; s < c["length"]; s++) {
var l = c[s];
var v = t["getShaderPrecisionFormat"](t[h], t[l]);
o["push"](v["precision"], v["rangeMin"], v["rangeMax"]);
}
}
}
return n;
}()
setTimeout(function () {
let locationprops = Object.keys(Object.create(location).__proto__);
let documentFuncResult = [
"_Selenium_IDE_Recorder",
"all",
"characterSet",
"charset",
"compatMode",
"documentMode",
"images",
"layers"
].map(e => {
return e in document ? 1 : 0
});
let bodyFuncResult = [
"contextMenu",
"innerText",
"mozRequestFullScreen",
"requestFullScreen",
"webkitRequestFullScreen"
].map(e => {
return e in document.body ? 1 : 0
});
let navigatorfuncResult = [
"vibrate",
"webdriver",
"credentials",
"storage",
"requestMediaKeySystemAccess",
"bluetooth"
].map(e => {
return e in navigator ? 1 : 0
});
let windowprops = Object.getOwnPropertyNames(window);
let lastIndex = windowprops.lastIndexOf('webkitResolveLocalFileSystemURL');
windowprops = windowprops.slice(0, lastIndex);
function intlDateTimeFormat() {
return {
spaceTime: new Intl["DateTimeFormat"]()["format"](""),
timeZone: new window["Intl"]["DateTimeFormat"]()["resolvedOptions"]()["timeZone"]
}
}
function has(a, b) {
let res = [];
for (let i = 0; i < b.length; i++) {
res.push(b[i] in a ? 1 : 0)
}
return res;
}
function hasProperty() {
var So = ["closed", "devicePixelRatio", "getSelection", "locationbar", "scrollbars", "crypto", "caches", "speechSynthesis", "menubar", "personalbar", "toolbar", "Dump", "VRDispaly", "VRDisplayCapabilities", "VRDisplayEvent", "VREyeParameters", "VRFieldOfView", "VRFrameData", "VRPose", "VRStageParameters", "mozInnerScreenX", "mozInnerScreenY", "mozRTCIceCandidate", "mozRTCPeerConnection", "mozRTCSessionDescription", "webkitMediaStream", "webkitRTCPeerConnection", "webkitSpeechGrammar", "webkitSpeechGrammarList", "webkitSpeechRecognition", "webkitSpeechRecognitionError", "webkitSpeechRecognitionEvent", "webkitURL", "scheduler", "getDefaultComputedStyle", "Yandex", "yandexAPI", "Chrome", "Opera", "onrendersubtreeactivation", "scheduler", "onactivateinvisible", "onoverscroll", "onscrollend", "ondevicemotion", "ondeviceorientation", "onabsolutedeviceorientation", "ondeviceproximity", "onuserproximity", "ondevicelight", "onvrdisplayconnect", "onvrdisplaydisconnect", "onvrdisplayactivate", "onvrdisplaydeactivate", "onvrdisplaypresentchange", "ondragexit", "onloadend", "onshow", "onelementpainted", "onmozfullscreenchange", "Onmozfullscreenerror", "Onabort", "Onafterprint", "Onanimationend", "Onanimationiteration", "Onanimationstart", "Onappinstalled", "Onauxclick", "onbeforeinstallprompt", "onbeforeprint", "onbeforeunload", "onbeforexrselect", "onblur", "oncancel", "oncanplay", "oncanplaythrough", "onchange", "onclick", "onclose", "oncontextmenu", "oncuechange", "ondblclick", "ondevicemotion", "ondeviceorientation", "ondeviceorientationabsolute", "ondrag", "ondragend", "ondragenter", "ondragleave", "ondragover", "ondragstart", "ondrop", "ondurationchange", "onemptied", "onended", "onerror", "onfocus", "onformdata", "ongotpointercapture", "onhashchange", "oninput", "oninvalid", "onkeydown", "onkeypress", "onkeyup", "onlanguagechange", "onload", "onloadeddata", "onloadedmetadata", "onloadstart", "onlostpointercapture", "onmessage", "onmessageerror", "onmousedown", "onmouseenter", "onmouseleave", "onmousemove", "onmouseout", "onmouseover", "onmouseup", "onmousewheel", "onoffline", "ononline", "onpagehide", "onpageshow", "onpause", "onplay", "onplaying", "onpointercancel", "onpointerdown", "onpointerenter", "onpointerleave", "onpointermove", "onpointerout", "onpointerover", "onpointerrawupdate", "onpointerup", "onpopstate", "onprogress", "onratechange", "onrejectionhandled", "onreset", "onresize", "onscroll", "onsearch", "onseeked", "onseeking", "onselect", "onselectionchange", "onselectstart", "onstalled", "onstorage", "onsubmit", "onsuspend", "ontimeupdate", "ontoggle", "ontransitioncancel", "ontransitionend", "ontransitionrun", "ontransitionstart", "onunhandledrejection", "onunload", "onvolumechange", "onwaiting", "onwebkitanimationend", "onwebkitanimationiteration", "onwebkitanimationstart", "onwebkittransitionend", "onwheel", "Math"];
let windowRes = has(window, So);
var go = ["onrejectionhandled", "onunhandledrejection", "getOverrideStyle", "getCSSCanvasContext", "onrendersubtreeactivation", "addressSpace", "onactivateinvisible", "onoverscroll", "onscrollend", "rootScroller", "ol_originalAddEventListener", "releaseCapture", "mozSetImageElement", "mozCancelFullScreen", "enableStyleSheetsForSet", "caretPositionFromPoint", "onbeforescriptexecute", "onafterscriptexecute", "mozFullScreen", "mozFullScreenEnabled", "selectedStyleSheetSet", "lastStyleSheetSet", "preferredStyleSheetSet", "styleSheetSets", "mozFullScreenElement", "ondragexit", "onloadend", "onshow", "onmozfullscreenchange", "onmozfullscreenerror", "registerElement", "compatMode", "contentType", "Doctype", "mozSyntheticDocument", "mozSetImageElement", "Plugins", "featurePolicy", "visibilityState", "Onafterscriptexecute", "Onbeforescriptexecute", "Oncopy", "oncut", "Onfullscreenchange", "Onpaste", "Onreadystatechange", "Onselectionchange", "Onvisibilitychange", "xmlVersion", "adoptNode", "Append", "CaptureEvents", "carePositionsFromPoint", "caretRangeFromPoint", "createAttribute", "CreateAttributeNS", "createcdatasECTION", "CREATEcOMMENT", "CREATEdOCUMENTfRAGMENT", "CREATEelement", "createElementNS", "createEntityReference", "createEvent", "createNodeIterator", "createProcessingInstruction", "createRange", "createTextNode", "createTouch", "createTouchList", "createTreeWalker", "createElementFromPoint", "createElementsFromPoint", "elementFromPoint", "elementsFromPoint", "enableStyleSheetsForSet", "exitPictureInPicture", "exitPointerLock", "getAnimatinos", "getBoxQuads", "getElementsById", "getElementsByClassName", "getElementbyTagName", "getSelection", "hasStorageAccess", "importNode", "normalizeDocument", "Prepend", "querySelector", "querySelectorAll", "releaseCapture", "RELEASEevents", "Replacechildren", "requestStorageAccess", "mozSetImageElement", "createExpression", "createNSResolver", "Evaluate", "Clear", "Close", "getElementByName", "hasFocus", "Open", "queryCommandEnabled", "queryCommandIndeterm", "queryCommandState", "queryCommandSupported", "queryCommandValue", "Write", "writeIn", "execComandShowHelp", "getBoxObjectFor", "loadOverlay", "queryCommandText", "fileSize"];
let documentRes = has(document, go);
var No = ["appCodeName", "appName", "Bluetooth", "Clipboard", "cookieEnabled", "Keyboard", "Locks", "mediaCapabilities", "mediaDevices", "mediaSession", "Permissions", "Presentation", "Product", "productSub (important returns the build number of the current browser)", "vendorSub (important return vendor version number)", "Serial", "vendorName", "Xr", "buildID (important return the buildID on firefox in addition to productSub)", "Securitypolicy", "Standalone", "Vibrate", "Share", "setAppBadge", "getvrdISPLAYS", "getUserMedia", "taintEnabled", "requestMediaKeySystemAccess", "registerProtocolHandler", "javaEnabled", "getBattery", "clearAppBadge"];
let navigatorRes = has(navigator, No);
var yo = ["ancestorOrigins", "fragmentDirective"];
let locationRes = has(location, yo);
return {
window: windowRes,
document: documentRes,
navigator: navigatorRes,
location: locationRes,
}
}
function voiceUri() {
let sps = speechSynthesis.getVoices()
let res = [];
for (let i = 0; i < sps.length; i++) {
res.push({
lang: sps[i].lang,
name: sps[i].name,
uri: sps[i].voiceURI,
default: sps[i].default,
local: sps[i].localService,
})
}
return res;
}
let result = {
windowparams: windowparams,
screenparams: screenparams,
navigatorparams: navigatorparams,
featurepolicy: featurePolicy,
plugins: plgs,
mimetypes: mimes,
connection: connection(),
voiceUri: voiceUri(),
intldatetimeformat: intlDateTimeFormat(),
hasProperty: hasProperty(),
// fontsres: fontsRes,
// imgsres: imgRes,
glres: glArgs,
jpg: getDataUrl(),
jpg2: getDataUrl2(),
// canplay: canplay(),
useragentdata: userAgentData,
webglimg: webglImg,
audioFp: audioFp,
// matchmedias: matchmedias,
consoleprops: Object.keys(Object.getOwnPropertyDescriptors(console)).sort(),
webglprops: WebGLRenderingContext ? Object.getOwnPropertyNames(WebGLRenderingContext.prototype).filter(e => {
return e != 'constructor'
}) : [],
// windowprops: windowprops,
locationprops: locationprops,
mathprops: Object.getOwnPropertyNames(Math),
funcs: funcResult,
funcs2: funcResult2,
documentfunc: documentFuncResult,
bodyfunc: bodyFuncResult,
navigatorfunc: navigatorfuncResult,
}
let body = JSON.stringify(result);
// body = stringToHex(encodeURIComponent(body))
// console.log(2, body.length)
// /collect
// fetch("https://stage.unififi.com/env/shape", {
fetch("/collect", {
// fetch("http://127.0.0.1:39999/env/shape", {
"headers": {
"accept": "*/*",
"accept-language": "en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7",
"cache-control": "no-cache",
"pragma": "no-cache",
"sec-fetch-dest": "empty",
"sec-fetch-mode": "cors",
"sec-fetch-site": "cross-site"
},
"body": body,
"method": "POST",
"mode": "cors",
"credentials": "omit"
}).then(e => {
console.log(e.text())
})
}, 2000)
} catch (e) {
}
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment