Advertisement
Huntereb

Obfuscate your name on 4chan Userscript

Mar 23rd, 2016
268
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ==UserScript==
  2. // @name         Obfuscate your name on 4chan
  3. // @namespace    boards.4chan.org
  4. // @version      1
  5. // @description  Randomize the characters in your name on 4chan!
  6. // @author       Huntereb
  7. // @match        *boards.4chan.org/*
  8. // ==/UserScript==
  9.  
  10. //Name(s) you want to obfuscate
  11. var chanName = [
  12.     "Huntereb",
  13.     "RandomName",
  14.     "PoopButt"
  15. ];
  16. //0: lowercase, 1: uppercase, 2: mixed
  17. var capital = 2;
  18. //Should we "Demonize" your name?
  19. var useZalgo = 1;
  20. //Minimum & maximum amount of Zalgo characters to insert between letters
  21. var zalgoMin = 2;
  22. var zalgoMax = 5;
  23. //Add a random trip behind your name?
  24. var useTrip = 1;
  25. //List of random trips
  26. var trips = [
  27.     "#1234567",
  28.     "#tripcode",
  29.     "#ayylmao"
  30. ];
  31.  
  32. //don't edit anything below here unless you know what you're doing
  33.  
  34. function randomNumber(num) {
  35.     return Math.floor(Math.random() * num);
  36. }
  37.  
  38. function randomLetter(letter) {
  39.     var possibleU;
  40.     var possibleL = "";
  41.     switch(letter) {
  42.         case 'A':
  43.         case 'a':
  44.             possibleU = "AÀÁÂÃÄÅĀĂĄǍǺẠẢẤẦẨẪẬẮẰẲẴẶ";
  45.             possibleL = "aàáâãäåāăąǎǻạảấầẩẫậắằẳẵặ";
  46.             break;
  47.         case 'B':
  48.         case 'b':
  49.             possibleU = "Bßℬ";
  50.             possibleL = "b";
  51.             break;
  52.         case 'C':
  53.         case 'c':
  54.             possibleU = "CÇĆĈĊČℭ";
  55.             possibleL = "cçćĉċč¢";
  56.             break;
  57.         case 'D':
  58.         case 'd':
  59.             possibleU = "DĎĐ";
  60.             possibleL = "dďđ";
  61.             break;
  62.         case 'E':
  63.         case 'e':
  64.             possibleU = "EÈÉÊËĒĔĖĘĚẸẺẼẾỀỂỄỆℰ";
  65.             possibleL = "eèéêëēĕėęěẹẻẽếềểễệəℯ";
  66.             break;
  67.         case 'F':
  68.         case 'f':
  69.             possibleU = "Fℱ";
  70.             possibleL = "fƒ";
  71.             break;
  72.         case 'G':
  73.         case 'g':
  74.             possibleU = "GĜĞĠĢ";
  75.             possibleL = "gĝğġģ";
  76.             break;
  77.         case 'H':
  78.         case 'h':
  79.             possibleU = "HĤĦℋ";
  80.             possibleL = "hĥħℎℌ";
  81.             break;
  82.         case 'I':
  83.         case 'i':
  84.             possibleU = "IÌÍÎÏĨĪĬĮİǏỈỊ";
  85.             possibleL = "iìíîïĩīĭįıǐỉị";
  86.             break;
  87.         case 'J':
  88.         case 'j':
  89.             possibleU = "JĴℑ";
  90.             possibleL = "jĵ";
  91.             break;
  92.         case 'K':
  93.         case 'k':
  94.             possibleU = "KĶ";
  95.             possibleL = "kķĸ";
  96.             break;
  97.         case 'L':
  98.         case 'l':
  99.             possibleU = "LĹĻĽĿŁℒ";
  100.             possibleL = "lĺļľŀłℓ";
  101.             break;
  102.         case 'M':
  103.         case 'm':
  104.             possibleU = "Mℳ";
  105.             possibleL = "m";
  106.             break;
  107.         case 'N':
  108.         case 'n':
  109.             possibleU = "NÑŃŅŇ";
  110.             possibleL = "nñńņňʼn";
  111.             break;
  112.         case 'O':
  113.         case 'o':
  114.             possibleU = "O0ÒÓÔÕÖŌŎŐƠǑỌỎỐỒỔỖỘỚỜỞỠỢ";
  115.             possibleL = "oòóôõöōŏőơǒọỏốồổỗộớờởỡợℴ";
  116.             break;
  117.         case 'P':
  118.         case 'p':
  119.             possibleU = "P";
  120.             possibleL = "p℘";
  121.             break;
  122.         case 'Q':
  123.         case 'q':
  124.             possibleU = "Q";
  125.             possibleL = "q";
  126.             break;
  127.         case 'R':
  128.         case 'r':
  129.             possibleU = "RŔŖŘℛℜ";
  130.             possibleL = "rŕŗř";
  131.             break;
  132.         case 'S':
  133.         case 's':
  134.             possibleU = "SŚŜŞŠ$";
  135.             possibleL = "sśŝşš";
  136.             break;
  137.         case 'T':
  138.         case 't':
  139.             possibleU = "TŢŤŦ";
  140.             possibleL = "tţťŧ";
  141.             break;
  142.         case 'U':
  143.         case 'u':
  144.             possibleU = "UÙÚÛÜŨŪŬŮŰŲƯǓǕǗǗǙǛỤỦỨỪỬỮỰ";
  145.             possibleL = "uùúûüũūŭůűųưǔǖǘǚǜụủứừửữự";
  146.             break;
  147.         case 'V':
  148.         case 'v':
  149.             possibleU = "V";
  150.             possibleL = "v";
  151.             break;
  152.         case 'W':
  153.         case 'w':
  154.             possibleU = "WШЩԜŴẀẂẄ";
  155.             possibleL = "wшщѡŵẁẃẅ";
  156.             break;
  157.         case 'X':
  158.         case 'x':
  159.             possibleU = "X";
  160.             possibleL = "x×";
  161.             break;
  162.         case 'Y':
  163.         case 'y':
  164.             possibleU = "YÝŸŶỲỴỶỸ¥";
  165.             possibleL = "yýÿŷỳỵỷỹ";
  166.             break;
  167.         case 'Z':
  168.         case 'z':
  169.             possibleU = "ZŹŻŽ";
  170.             possibleL = "zźżž";
  171.             break;
  172.         case ' ':
  173.             return ' ';
  174.         case '-':
  175.         case '~':
  176.             possibleU = "-~‐‑‒–—―−〜〰-";
  177.             break;
  178.         default:
  179.             possibleU = "?";
  180.             break;
  181.     }
  182.     var possible;
  183.     switch(capital) {
  184.         case 0:
  185.             possible = possibleL;
  186.             break;
  187.         case 1:
  188.             possible = possibleU;
  189.             break;
  190.         case 2:
  191.             possible = possibleU += possibleL;
  192.             break;
  193.     }
  194.  
  195.     return possible.charAt(randomNumber(possible.length));
  196. }
  197.  
  198. var zalgo = {
  199.     chars: {
  200.         0 : [ /* up */
  201.             '\u030d', /*     ̍     */
  202.             '\u030e', /*     ̎     */
  203.             '\u0304', /*     ̄     */
  204.             '\u0305', /*     ̅     */
  205.             '\u033f', /*     ̿     */
  206.             '\u0311', /*     ̑     */
  207.             '\u0306', /*     ̆     */
  208.             '\u0310', /*     ̐     */
  209.             '\u0352', /*     ͒     */
  210.             '\u0357', /*     ͗     */
  211.             '\u0351', /*     ͑     */
  212.             '\u0307', /*     ̇     */
  213.             '\u0308', /*     ̈     */
  214.             '\u030a', /*     ̊     */
  215.             '\u0342', /*     ͂     */
  216.             '\u0343', /*     ̓     */
  217.             '\u0344', /*     ̈́     */
  218.             '\u034a', /*     ͊     */
  219.             '\u034b', /*     ͋     */
  220.             '\u034c', /*     ͌     */
  221.             '\u0303', /*     ̃     */
  222.             '\u0302', /*     ̂     */
  223.             '\u030c', /*     ̌     */
  224.             '\u0350', /*     ͐     */
  225.             '\u0300', /*     ̀     */
  226.             '\u0301', /*     ́     */
  227.             '\u030b', /*     ̋     */
  228.             '\u030f', /*     ̏     */
  229.             '\u0312', /*     ̒     */
  230.             '\u0313', /*     ̓     */
  231.             '\u0314', /*     ̔     */
  232.             '\u033d', /*     ̽     */
  233.             '\u0309', /*     ̉     */
  234.             '\u0363', /*     ͣ     */
  235.             '\u0364', /*     ͤ     */
  236.             '\u0365', /*     ͥ     */
  237.             '\u0366', /*     ͦ     */
  238.             '\u0367', /*     ͧ     */
  239.             '\u0368', /*     ͨ     */
  240.             '\u0369', /*     ͩ     */
  241.             '\u036a', /*     ͪ     */
  242.             '\u036b', /*     ͫ     */
  243.             '\u036c', /*     ͬ     */
  244.             '\u036d', /*     ͭ     */
  245.             '\u036e', /*     ͮ     */
  246.             '\u036f', /*     ͯ     */
  247.             '\u033e', /*     ̾     */
  248.             '\u035b', /*     ͛     */
  249.             '\u0346', /*     ͆     */
  250.             '\u031a'  /*     ̚     */
  251.         ],
  252.         1 : [ /* down */
  253.             '\u0316', /*     ̖     */
  254.             '\u0317', /*     ̗     */
  255.             '\u0318', /*     ̘     */
  256.             '\u0319', /*     ̙     */
  257.             '\u031c', /*     ̜     */
  258.             '\u031d', /*     ̝     */
  259.             '\u031e', /*     ̞     */
  260.             '\u031f', /*     ̟     */
  261.             '\u0320', /*     ̠     */
  262.             '\u0324', /*     ̤     */
  263.             '\u0325', /*     ̥     */
  264.             '\u0326', /*     ̦     */
  265.             '\u0329', /*     ̩     */
  266.             '\u032a', /*     ̪     */
  267.             '\u032b', /*     ̫     */
  268.             '\u032c', /*     ̬     */
  269.             '\u032d', /*     ̭     */
  270.             '\u032e', /*     ̮     */
  271.             '\u032f', /*     ̯     */
  272.             '\u0330', /*     ̰     */
  273.             '\u0331', /*     ̱     */
  274.             '\u0332', /*     ̲     */
  275.             '\u0333', /*     ̳     */
  276.             '\u0339', /*     ̹     */
  277.             '\u033a', /*     ̺     */
  278.             '\u033b', /*     ̻     */
  279.             '\u033c', /*     ̼     */
  280.             '\u0345', /*     ͅ     */
  281.             '\u0347', /*     ͇     */
  282.             '\u0348', /*     ͈     */
  283.             '\u0349', /*     ͉     */
  284.             '\u034d', /*     ͍     */
  285.             '\u034e', /*     ͎     */
  286.             '\u0353', /*     ͓     */
  287.             '\u0354', /*     ͔     */
  288.             '\u0355', /*     ͕     */
  289.             '\u0356', /*     ͖     */
  290.             '\u0359', /*     ͙     */
  291.             '\u035a', /*     ͚     */
  292.             '\u0323'  /*     ̣     */
  293.         ],
  294.         2 : [ /* mid */
  295.             '\u0315', /*     ̕     */
  296.             '\u031b', /*     ̛     */
  297.             '\u0340', /*     ̀     */
  298.             '\u0341', /*     ́     */
  299.             '\u0358', /*     ͘     */
  300.             '\u0321', /*     ̡     */
  301.             '\u0322', /*     ̢     */
  302.             '\u0327', /*     ̧     */
  303.             '\u0328', /*     ̨     */
  304.             '\u0334', /*     ̴     */
  305.             '\u0335', /*     ̵     */
  306.             '\u0336', /*     ̶     */
  307.             '\u034f', /*     ͏     */
  308.             '\u035c', /*     ͜     */
  309.             '\u035d', /*     ͝     */
  310.             '\u035e', /*     ͞     */
  311.             '\u035f', /*     ͟     */
  312.             '\u0360', /*     ͠     */
  313.             '\u0362', /*     ͢     */
  314.             '\u0338', /*     ̸     */
  315.             '\u0337', /*     ̷      */
  316.             '\u0361', /*     ͡     */
  317.         ]
  318.  
  319.     },
  320.     random: function(len) {
  321.         if (len == 1) return 0;
  322.         return !!len ? Math.floor(Math.random() * len + 1) - 1 : Math.random();
  323.     },
  324.     generate: function(str) {
  325.         var str_arr = str.split(''),
  326.             output = str_arr.map(function(a) {
  327.                 if(a == " ") return a;
  328.                 for(var i = 0, l = zalgo.random(zalgoMax);
  329.                     i<l;i++){
  330.                     var rand = zalgo.random(zalgoMin);
  331.                     a += zalgo.chars[rand][
  332.                         zalgo.random(zalgo.chars[rand].length)
  333.                     ];
  334.                 }
  335.                 return a;
  336.             });
  337.         return output.join('');
  338.     }
  339. };
  340.  
  341. var nbLength;
  342.  
  343. function start() {
  344.     var nameBoxs = document.getElementsByName("name");
  345.     if (nameBoxs.length != nbLength && nameBoxs.length !== 0) {
  346.         var chanName2 = chanName[randomNumber(chanName.length)];
  347.         var finalName = "";
  348.         for (i = 0; i < chanName2.length; i++) {
  349.             finalName += randomLetter(chanName2.charAt(i));
  350.         }
  351.         if (useZalgo == 1) finalName = zalgo.generate(finalName);
  352.         if (useTrip == 1) finalName += trips[randomNumber(trips.length)];
  353.         for(var i=0; i<nameBoxs.length; i++) nameBoxs[i].value = finalName;
  354.     }
  355.     nbLength = nameBoxs.length;
  356.     setTimeout(start, 1000);
  357. }
  358.  
  359. start();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement