A transcompiler for converting DucklingScript code into Rubber Ducky Language 1.0
Project description
Welcome to DucklingScript, a language that compiles into Rubber Ducky Scripting Language 1.0! DucklingScript is the best language to use for BadUSB on the Flipper Zero. Although this is the main idea, there are many other applications as well!
All documentation, contributing guides, are found here!
Issues and PR's are welcome!
Documentation
We got you covered! Docs are hosted on a separate website found here!
VSCode Support
DucklingScript has a public VSCode extension that supports syntax highlighting.
DucklingScript VSCode Extension ->
Why DucklingScript?
There are many key points to using DucklingScript, such as Type Safety, Flow Control, Syntactical Speed, and Forward Compatibility.
Type Safety
Because DucklingScript has to go through a compilation process, it means DucklingScript can validate your script will work on your hardware. It will tell you that there is an error, and it will tell you exactly where. For example, CTRL requires one character. DucklingScript will validate that this is true.
Flow Control
Rubber Ducky Scripting Language 1.0 and even the Flipper's implementation don't add any kind of flow control. e.g. if statements, while/for loops, etc. DucklingScript gives you those capabilities, and more!
Syntactical Speed
Normal Rubber Ducky Scripting 1.0 doesn't give much room for speed, and oftentimes leads you to repeating yourself in code. Not only does DucklingScript add commands to improve this, it also makes small syntactical changes. Such as:
Rubber Ducky 1.0
STRINGLN Hello,
STRINGLN world,
STRINGLN it is I!
DucklingScript
STRINGLN
Hello,
world,
it is I!
Forward Compatibility
If you use a command that does not exist in Rubber Ducky 1.0, DucklingScript will simply warn you that this is the case (these warnings can even be supressed using a flag on compilation, or editing the config file). However, it does not stop you from doing so. This allows you to use future commands!
Support Me 💖
If you'd like to support me or this project, you can support me through my Ko-Fi: https://ko-fi.com/dragonofshuu.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ducklingscript-0.2.3.tar.gz.
File metadata
- Download URL: ducklingscript-0.2.3.tar.gz
- Upload date:
- Size: 48.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.3 CPython/3.11.9 Windows/10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bbe550de4fcc78363834b57ea5c388cffc97f554b4f0b9094140e08e92d43661
|
|
| MD5 |
5875b9da3c9a1860f0a2ff652fa6841f
|
|
| BLAKE2b-256 |
6966d390f8537f1e5cca2fd2bf33dbc789256bbb43fecafc5644b26bab5d8c4d
|
File details
Details for the file ducklingscript-0.2.3-py3-none-any.whl.
File metadata
- Download URL: ducklingscript-0.2.3-py3-none-any.whl
- Upload date:
- Size: 89.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.3 CPython/3.11.9 Windows/10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
75e8bed27d6af9da78f4e8fb2ef6b4355dd6890fa96ddde47ba57214a5523c51
|
|
| MD5 |
22781027ec54f9cd3725b07e1a7332ca
|
|
| BLAKE2b-256 |
d2051d36572f9100459c750ed592157ff97e2750bf8dfa3a7dd00527b4e6faa8
|