mirror of
https://github.com/KevinMidboe/Arduino.git
synced 2026-02-10 01:59:07 +00:00
Init commit with many years of arduino sketches and projects. I dont know if the esp8266 includes much, but there are also libraries. I hope they dont have crazy automatic versioning through the Arduino IDE.
This commit is contained in:
57
enp8266/esp8266_deauther-master/utils/old_web_converter/convert_all.sh
Executable file
57
enp8266/esp8266_deauther-master/utils/old_web_converter/convert_all.sh
Executable file
@@ -0,0 +1,57 @@
|
||||
#!/bin/bash
|
||||
|
||||
#
|
||||
# This script walks through the html folder and minify all JS, HTML and CSS files. It also generates
|
||||
# the corresponding constants that is added to the data.h file on esp8266_deauther folder.
|
||||
#
|
||||
# @Author Erick B. Tedeschi < erickbt86 [at] gmail [dot] com >
|
||||
#
|
||||
|
||||
outputfile="$(pwd)/data_h_temp"
|
||||
|
||||
rm $outputfile
|
||||
|
||||
function minify_html_css {
|
||||
file=$1
|
||||
curl -X POST -s --data-urlencode "input@$file" http://html-minifier.com/raw > /tmp/converter.temp
|
||||
}
|
||||
|
||||
function minify_js {
|
||||
file=$1
|
||||
curl -X POST -s --data-urlencode "input@$file" https://javascript-minifier.com/raw > /tmp/converter.temp
|
||||
}
|
||||
|
||||
function ascii2hexCstyle {
|
||||
file_name=$(constFileName $1)
|
||||
result=$(cat /tmp/converter.temp | hexdump -ve '1/1 "0x%.2x,"')
|
||||
result=$(echo $result | sed 's/,$//')
|
||||
echo "const char data_${file_name}[] PROGMEM = {$result};"
|
||||
}
|
||||
|
||||
function constFileName {
|
||||
extension=$(echo $1 | egrep -io "(css|js|html)$" | tr "[:lower:]" "[:upper:]")
|
||||
file=$(echo $1 | sed 's/\.css//' | sed 's/\.html//' | sed 's/\.js//' | sed 's/\.\///' | tr '/' '_' | tr '.' '_')
|
||||
echo $file$extension
|
||||
}
|
||||
|
||||
|
||||
cd html
|
||||
file_list=$(find . -type f)
|
||||
|
||||
for file in $file_list; do
|
||||
echo "Processing: $file"
|
||||
if [[ "$file" == *.js ]]; then
|
||||
echo "-> JS minifier"
|
||||
minify_js $file
|
||||
ascii2hexCstyle $file >> $outputfile
|
||||
elif [[ "$file" == *.html ]] || [[ "$file" == *.css ]]; then
|
||||
echo "-> HTML and CSS minifier"
|
||||
minify_html_css $file
|
||||
ascii2hexCstyle $file >> $outputfile
|
||||
else
|
||||
echo "-> without minifier"
|
||||
cat $file > /tmp/converter.temp
|
||||
ascii2hexCstyle $file >> $outputfile
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
71
enp8266/esp8266_deauther-master/utils/old_web_converter/converter.html
Executable file
71
enp8266/esp8266_deauther-master/utils/old_web_converter/converter.html
Executable file
@@ -0,0 +1,71 @@
|
||||
<!Doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Byte Converter</title>
|
||||
<meta name="description" content="OConvert Text into Hex-Bytes">
|
||||
<meta name="author" content="Spacehuhn - Stefan Kremser">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="style.css">
|
||||
<script src="jquery-3.2.1.min.js"></script>
|
||||
<style>
|
||||
textarea{
|
||||
width: 96%;
|
||||
height: 350px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<nav>
|
||||
<a href="index.html">Converter</a>
|
||||
<a href="https://github.com/spacehuhn" class="right">GitHub</a>
|
||||
</nav>
|
||||
|
||||
<div class="container">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<h1 class="header">Text to Byte Array Converter</h1>
|
||||
<p>
|
||||
Please use <a href="https://htmlcompressor.com/compressor/" target="_blank">HTMLCompressor</a> (or something similar) first to get your HTML, CSS and JS minified.<br />
|
||||
Every saved byte can improve the stability of the ESP8266's webserver!
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<textarea id="input"></textarea>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<textarea id="output" onclick="this.focus();this.select()" readonly="readonly"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<button onclick="convert()" class="fullWidth button-primary">convert</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<p>Length: <span id="info_len">0</span> Bytes</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
String.prototype.convertToHex = function (delim) {
|
||||
return this.split("").map(function(c) {
|
||||
return ("0" + c.charCodeAt(0).toString(16)).slice(-2);
|
||||
}).join(delim || "");
|
||||
};
|
||||
|
||||
function convert(){
|
||||
var input = $('#input').val().convertToHex(",0x");
|
||||
$('#output').val("0x"+input);
|
||||
$('#info_len').html((input.match(new RegExp(",", "g")) || []).length + 1);
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
4
enp8266/esp8266_deauther-master/utils/old_web_converter/jquery-3.2.1.min.js
vendored
Executable file
4
enp8266/esp8266_deauther-master/utils/old_web_converter/jquery-3.2.1.min.js
vendored
Executable file
File diff suppressed because one or more lines are too long
40
enp8266/esp8266_deauther-master/utils/old_web_converter/readme.md
Executable file
40
enp8266/esp8266_deauther-master/utils/old_web_converter/readme.md
Executable file
@@ -0,0 +1,40 @@
|
||||
# How to update files inside html folder?
|
||||
The files related to the Frontend of ESP8266_Deauther are inside html folder.
|
||||
To reflect on the firmware it needs to be: minified, converted to hex and updated on data.h on esp8266_deauther folder on the root of this project.
|
||||
|
||||
The following process can be used:
|
||||
## Script Mode (Linux/Mac)
|
||||
|
||||
**1** Update the desired files on ./html folder
|
||||
**2** at the command line run the shell script: ./convert_all.sh
|
||||
**3** open the generated file "data_h_temp" and copy the content (CTRL+C)
|
||||
**4** Go to data.h and replace the content between the comments like below:
|
||||
```c
|
||||
/* constants generated by convert_all.sh - start */
|
||||
const char data_apscanHTML[] PROGMEM = {0x3c,0x21,0x44,0x4f,0x43...
|
||||
const char data_attackHTML[] PROGMEM = {0x3c,0x21,0x44,0x4f,0x43...
|
||||
const char data_errorHTML[] PROGMEM = {0x3c,0x21,0x44,0x4f,0x43,...
|
||||
const char data_indexHTML[] PROGMEM = {0x3c,0x21,0x44,0x4f,0x43,...
|
||||
const char data_infoHTML[] PROGMEM = {0x3c,0x21,0x44,0x4f,0x43,0...
|
||||
const char data_js_apscanJS[] PROGMEM = {0x66,0x75,0x6e,0x63,0x7...
|
||||
const char data_js_attackJS[] PROGMEM = {0x66,0x75,0x6e,0x63,0x7...
|
||||
const char data_js_functionsJS[] PROGMEM = {0x66,0x75,0x6e,0x63,...
|
||||
const char data_js_settingsJS[] PROGMEM = {0x66,0x75,0x6e,0x63,0...
|
||||
const char data_js_stationsJS[] PROGMEM = {0x66,0x75,0x6e,0x63,0...
|
||||
const char data_license[] PROGMEM = {0x43,0x6f,0x70,0x79,0x72,0x...
|
||||
const char data_settingsHTML[] PROGMEM = {0x3c,0x21,0x44,0x4f,0x...
|
||||
const char data_stationsHTML[] PROGMEM = {0x3c,0x21,0x44,0x4f,0x...
|
||||
const char data_styleCSS[] PROGMEM = {0x2f,0x2a,0x20,0x47,0x6c,0...
|
||||
/* constants generated by convert_all.sh - end */
|
||||
```
|
||||
|
||||
## Manual mode
|
||||
|
||||
**1** Use a minifier (e.g. htmlcompressor.com) to get your files as small as possible
|
||||
**2** Open converter.html
|
||||
**3** Paste the code in the left textfield
|
||||
**4** Press Convert
|
||||
**5** Copy the results from the right textfield
|
||||
**6** Go to data.h and replace the array of the changed file with the copied bytes
|
||||
|
||||
**Now compile and upload your new sketch :)**
|
||||
405
enp8266/esp8266_deauther-master/utils/old_web_converter/style.css
Executable file
405
enp8266/esp8266_deauther-master/utils/old_web_converter/style.css
Executable file
@@ -0,0 +1,405 @@
|
||||
/* Global */
|
||||
body {
|
||||
background: #36393e;
|
||||
color: #bfbfbf;
|
||||
font-family: sans-serif;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 1.7rem;
|
||||
margin-top: 1rem;
|
||||
background: #2f3136;
|
||||
color: #bfbfbb;
|
||||
padding: 0.2em 1em;
|
||||
border-radius: 3px;
|
||||
border-left: solid #4974a9 5px;
|
||||
font-weight: 100;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 1.1rem;
|
||||
margin-top: 1rem;
|
||||
background: #2f3136;
|
||||
color: #bfbfbb;
|
||||
padding: 0.4em 1.8em;
|
||||
border-radius: 3px;
|
||||
border-left: solid #4974a9 5px;
|
||||
font-weight: 100;
|
||||
}
|
||||
|
||||
table{
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
label{
|
||||
line-height: 46px;
|
||||
}
|
||||
|
||||
input{
|
||||
line-height: 46px;
|
||||
}
|
||||
|
||||
.left {
|
||||
float: left;
|
||||
}
|
||||
.right {
|
||||
float: right;
|
||||
}
|
||||
.bold {
|
||||
font-weight: bold;
|
||||
}
|
||||
.red{
|
||||
color: #F04747;
|
||||
}
|
||||
.green{
|
||||
color:#43B581;
|
||||
}
|
||||
.clear {
|
||||
clear: both;
|
||||
}
|
||||
.centered{
|
||||
text-align: center;
|
||||
}
|
||||
.select{
|
||||
width: 98px !important;
|
||||
padding: 0 !important;
|
||||
}
|
||||
.selected{
|
||||
background: #4974a9;
|
||||
}
|
||||
.status{
|
||||
width: 120px;
|
||||
padding-left: 8px;
|
||||
}
|
||||
.labelFix {
|
||||
line-height: 40px;
|
||||
}
|
||||
.clickable{
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#error {
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
background: #af3535;
|
||||
border-radius: 5px;
|
||||
padding: 10px;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
#closeError{
|
||||
float: right;
|
||||
color: #fff;
|
||||
padding: 0px 10px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#copyright{
|
||||
font-size: 0.95em;
|
||||
text-align: center;
|
||||
margin-top: 3em;
|
||||
margin-bottom: 3em;
|
||||
}
|
||||
|
||||
/* CHECKBOX */
|
||||
/* Customize the label (the container) */
|
||||
.checkBoxContainer {
|
||||
display: block;
|
||||
position: relative;
|
||||
padding-left: 35px;
|
||||
margin-bottom: 12px;
|
||||
cursor: pointer;
|
||||
font-size: 22px;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
height: 32px;
|
||||
width: 32px;
|
||||
}
|
||||
|
||||
/* Hide the browser's default checkbox */
|
||||
.checkBoxContainer input {
|
||||
position: absolute;
|
||||
opacity: 0;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/* Create a custom checkbox */
|
||||
.checkmark {
|
||||
position: absolute;
|
||||
top: 8px;
|
||||
left: 0;
|
||||
height: 28px;
|
||||
width: 28px;
|
||||
background-color: #2F3136;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
/* When the checkbox is checked, add a blue background */
|
||||
.checkBoxContainer input:checked ~ .checkmark {
|
||||
background-color: #4974A9;
|
||||
}
|
||||
|
||||
/* Create the checkmark/indicator (hidden when not checked) */
|
||||
.checkmark:after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Show the checkmark when checked */
|
||||
.checkBoxContainer input:checked ~ .checkmark:after {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/* Style the checkmark/indicator */
|
||||
.checkBoxContainer .checkmark:after {
|
||||
left: 10px;
|
||||
top: 7px;
|
||||
width: 4px;
|
||||
height: 10px;
|
||||
border: solid white;
|
||||
border-width: 0 3px 3px 0;
|
||||
-webkit-transform: rotate(45deg);
|
||||
-ms-transform: rotate(45deg);
|
||||
transform: rotate(45deg);
|
||||
}
|
||||
|
||||
/* ERROR */
|
||||
.hide {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.show {
|
||||
display: block !important;
|
||||
animation-name: fadeIn;
|
||||
animation-duration: 1s;
|
||||
}
|
||||
|
||||
@keyframes fadeIn {
|
||||
0% {opacity: 0;}
|
||||
100% {opacity: 1;}
|
||||
}
|
||||
|
||||
|
||||
hr {
|
||||
background: #3e4146;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #5281bb;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: #95b8e4;
|
||||
}
|
||||
|
||||
li{
|
||||
margin: 4px 0;
|
||||
}
|
||||
|
||||
/* Meter */
|
||||
.meter_background{
|
||||
background: #42464D;
|
||||
width: 100%;
|
||||
min-width: 90px;
|
||||
}
|
||||
.meter_forground{
|
||||
color: #fff;
|
||||
padding: 4px 0;
|
||||
/* + one of the colors below
|
||||
(width will be set by the JS) */
|
||||
}
|
||||
.meter_green{
|
||||
background: #43B581;
|
||||
}
|
||||
.meter_orange{
|
||||
background: #FAA61A;
|
||||
}
|
||||
.meter_red{
|
||||
background: #F04747;
|
||||
}
|
||||
.meter_value{
|
||||
padding-left: 8px;
|
||||
}
|
||||
|
||||
|
||||
/* Tables */
|
||||
table {
|
||||
width: 100%;
|
||||
margin-bottom: 50px;
|
||||
}
|
||||
|
||||
th, td {
|
||||
padding: 10px 6px;
|
||||
text-align: left;
|
||||
border-bottom: 1px solid #5d5d5d;
|
||||
}
|
||||
|
||||
|
||||
/* Navigation bar */
|
||||
nav {
|
||||
display: block;
|
||||
padding: 8px 10px;
|
||||
background: #2f3136;
|
||||
}
|
||||
|
||||
nav a {
|
||||
color: #bfbfbf;
|
||||
padding: 0.5em;
|
||||
display: inline-block;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
nav a:hover{
|
||||
background: #36393f;
|
||||
color:#cecece;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
/* Inputs and buttons */
|
||||
.upload-script, .button, button, input[type="submit"], input[type="reset"], input[type="button"] {
|
||||
display: inline-block;
|
||||
height: 38px;
|
||||
padding: 0 25px;
|
||||
color:#fff;
|
||||
text-align: center;
|
||||
font-size: 11px;
|
||||
font-weight: 600;
|
||||
line-height: 38px;
|
||||
letter-spacing: .1rem;
|
||||
text-transform: uppercase;
|
||||
text-decoration: none;
|
||||
white-space: nowrap;
|
||||
background: #2f3136;
|
||||
border-radius: 4px;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
button:hover, input[type="submit"]:hover, input[type="reset"]:hover, input[type="button"]:hover {
|
||||
background: #42444a;
|
||||
}
|
||||
|
||||
/* Forms */
|
||||
input[type="email"], input[type="number"], input[type="search"], input[type="text"], input[type="tel"], input[type="url"], input[type="password"], textarea, select {
|
||||
height: 38px;
|
||||
padding: 6px 10px; /* The 6px vertically centers text on FF, ignored by Webkit */
|
||||
background-color: #2f3136;
|
||||
border-radius: 4px;
|
||||
box-shadow: none;
|
||||
box-sizing: border-box;
|
||||
color: #d4d4d4;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.setting {
|
||||
width: 100% !important;
|
||||
max-width: 284px !important;
|
||||
}
|
||||
|
||||
input[type="file"] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* ==== GRID SYSTEM ==== */
|
||||
.container {
|
||||
width: 100%;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
max-width: 1140px;
|
||||
}
|
||||
|
||||
.row {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.row [class^="col"] {
|
||||
float: left;
|
||||
margin: 0.25rem 2%;
|
||||
min-height: 0.125rem;
|
||||
}
|
||||
|
||||
.col-1,
|
||||
.col-2,
|
||||
.col-3,
|
||||
.col-4,
|
||||
.col-5,
|
||||
.col-6,
|
||||
.col-7,
|
||||
.col-8,
|
||||
.col-9,
|
||||
.col-10,
|
||||
.col-11,
|
||||
.col-12 {
|
||||
width: 96%;
|
||||
}
|
||||
|
||||
.row::after {
|
||||
content: "";
|
||||
display: table;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.hidden-sm {
|
||||
display: none;
|
||||
}
|
||||
|
||||
@media only screen and (min-width: 45em) {
|
||||
.col-1 {
|
||||
width: 4.33%;
|
||||
}
|
||||
|
||||
.col-2 {
|
||||
width: 12.66%;
|
||||
}
|
||||
|
||||
.col-3 {
|
||||
width: 21%;
|
||||
}
|
||||
|
||||
.col-4 {
|
||||
width: 29.33%;
|
||||
}
|
||||
|
||||
.col-5 {
|
||||
width: 37.66%;
|
||||
}
|
||||
|
||||
.col-6 {
|
||||
width: 46%;
|
||||
}
|
||||
|
||||
.col-7 {
|
||||
width: 54.33%;
|
||||
}
|
||||
|
||||
.col-8 {
|
||||
width: 62.66%;
|
||||
}
|
||||
|
||||
.col-9 {
|
||||
width: 71%;
|
||||
}
|
||||
|
||||
.col-10 {
|
||||
width: 79.33%;
|
||||
}
|
||||
|
||||
.col-11 {
|
||||
width: 87.66%;
|
||||
}
|
||||
|
||||
.col-12 {
|
||||
width: 96%;
|
||||
}
|
||||
|
||||
.hidden-sm {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user