forked from haxednet/Bark
-
Notifications
You must be signed in to change notification settings - Fork 0
/
homoglyph.js
88 lines (86 loc) · 2.26 KB
/
homoglyph.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
/*
this code is used to prevent homoglyph attacks
*/
let hyph=[];
hyph['!']='!ǃ!';
hyph['"']='"״″"';
hyph['$']='$$';
hyph['%']='%%';
hyph['&']='&&';
hyph["'"]="''";
hyph['(']='(﹝(';
hyph[')']=')﹞)';
hyph['*']='*⁎*';
hyph['+']='++';
hyph[',']=',‚,';
hyph['-']='-‐𐆑-';
hyph['.']='.٠۔܁܂․‧。.。';
hyph['/']='/̸⁄∕╱⫻⫽/ノ';
hyph['0']="0OoΟοОоՕ𐒆Oo";
hyph['o']='Oo0ΟοОоՕ𐒆Oo';
hyph['1']='1Iا1';
hyph['2']='22';
hyph['3']='33';
hyph['4']='44';
hyph['5']='55';
hyph['6']='66';
hyph['7']='7𐒇7';
hyph['8']='8Ց8';
hyph['9']='99';
hyph[':']=':։܃܄∶꞉:';
hyph[';']=';;;';
hyph['<']='<‹<';
hyph['=']='=𐆐=';
hyph['>']='>›>';
hyph['?']='??';
hyph['@']='@@';
hyph['[']='[[';
hyph['\\']='\\\';
hyph[']']=']]';
hyph['^']='^^';
hyph['_']='__';
hyph['`']='``';
hyph['a']='AaÀÁÂÃÄÅàáâãäåɑΑαаᎪAa';
hyph['b']='BbßʙΒβВЬᏴᛒBb';
hyph['c']='CcϲϹСсᏟⅭⅽ𐒨Cc';
hyph['d']='DdĎďĐđԁժᎠḍⅮⅾDd';
hyph['e']='EeÈÉÊËéêëĒēĔĕĖėĘĚěΕЕеᎬEe';
hyph['f']='FfϜFf';
hyph['g']='GgɡɢԌնᏀGg';
hyph['h']='HhʜΗНһᎻHh';
hyph['i']='IilɩΙІіاᎥᛁⅠⅰ𐒃Ii';
hyph['j']='JjϳЈјյᎫJj';
hyph['k']='KkΚκКᏦᛕKKk';
hyph['l']='LlʟιاᏞⅬⅼLl';
hyph['m']='MmΜϺМᎷᛖⅯⅿMm';
hyph['n']='NnɴΝNn';
hyph['0']="0OoΟοОоՕ𐒆Oo";
hyph['o']='Oo0ΟοОоՕ𐒆Oo';
hyph['p']='PpΡρРрᏢPp';
hyph['q']='QqႭႳQq';
hyph['r']='RrʀԻᏒᚱRr';
hyph['s']='SsЅѕՏႽᏚ𐒖Ss';
hyph['t']='TtΤτТᎢTt';
hyph['u']='UuμυԱՍ⋃Uu';
hyph['v']='VvνѴѵᏙⅤⅴVv';
hyph['w']='WwѡᎳWw';
hyph['x']='XxΧχХхⅩⅹXx';
hyph['y']='YyʏΥγуҮYy';
hyph['z']='ZzΖᏃZz';
hyph['{']='{{';
hyph['|']='|ǀا|';
hyph['}']='}}';
const homoglyph = {
stringify: (e)=>{
let parsed = e.toLowerCase().split("");
for(let i in parsed){
for(let x in hyph){
if(hyph[x].indexOf(parsed[i])>-1){
parsed[i] = x;
}
}
}
return parsed.join("").replace(/[^ -~]+/g, "");
}
}
module.exports = homoglyph;