mirror of
https://github.com/dmuth/diceware.git
synced 2024-11-21 16:36:28 -05:00
Merge branch 'main' of github.com:dmuth/diceware into main
This commit is contained in:
commit
873cd43e1c
11 changed files with 4297 additions and 2568 deletions
3
.gitattributes
vendored
Normal file
3
.gitattributes
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
|
||||
src/index.js ident
|
||||
|
3
.github/FUNDING.yml
vendored
Normal file
3
.github/FUNDING.yml
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
# These are supported funding model platforms
|
||||
|
||||
ko_fi: dmuth
|
|
@ -1,10 +1,11 @@
|
|||
|
||||
language: node_js
|
||||
node_js:
|
||||
- "6"
|
||||
- "8"
|
||||
- "9"
|
||||
- "lts/*"
|
||||
- "15"
|
||||
- "14"
|
||||
- "13"
|
||||
- "12"
|
||||
|
||||
#
|
||||
# Cache the node_modules directory
|
||||
|
|
28
README.md
28
README.md
|
@ -1,8 +1,9 @@
|
|||
# Diceware
|
||||
|
||||
Current build/test status in Travis CI: [![Build Status](https://travis-ci.org/dmuth/diceware.svg?branch=master)](https://travis-ci.org/dmuth/diceware)
|
||||
<img src="./dice.jpg" width="250" align="right" />
|
||||
Current build/test status in Travis CI: [![Build Status](https://travis-ci.org/dmuth/diceware.svg?branch=main)](https://travis-ci.org/dmuth/diceware)
|
||||
|
||||
First, feel free to check out the live demo, running at [https://www.dmuth.org/diceware/](https://www.dmuth.org/diceware/)
|
||||
First, feel free to check out the live demo, running at [https://diceware.dmuth.org/](https://diceware.dmuth.org/)
|
||||
|
||||
Weak passwords are a big flaw in computer security due to a lack of "entropy" or randomness. For example, how many times have you used the name of a pet or relative or street in a password, or perhaps the number "1". Not very random, is it? :-) Worse still, if passwords are reused between services, that increases your security risk.
|
||||
|
||||
|
@ -21,7 +22,7 @@ For more information on Diceware:
|
|||
Yes. Feel free to clone this repo with `git clone https://github.com/dmuth/diceware.git` and run it
|
||||
from a local directory on your computer.
|
||||
|
||||
You can also set up a webserver on Mac/Linux boxes by running `python -m SimpleHTTPServer 8000`.
|
||||
You can also set up a webserver on Mac/Linux boxes by running `python3 -m http.server 8000`.
|
||||
You will then able to access DiceWare at http://localhost:8000/.
|
||||
|
||||
|
||||
|
@ -52,13 +53,26 @@ design feature of this app--I want it to be as easy to get up and running as pos
|
|||
|
||||
A local webserver can be set up by running `npm install http-server -g` to install it, then `http-server` to listen on http://localhost:8080/
|
||||
|
||||
In summary:
|
||||
## In summary:
|
||||
|
||||
- `npp run clean` - Cleanup after a previous run
|
||||
- `npm install` - Install NPM packages used by Diceware
|
||||
- `webpack --watch --mode development` - Pack Javscript files
|
||||
- `npm run dev-build` - Run webpack to pack Javascript files and watch for changes.
|
||||
- `http-server`
|
||||
- `vim src/lib.js src/index.js`
|
||||
- `rm -fv src/index.js && git co src/index.js` - Get the new SHA1 hash that will be displayed in debug messages.
|
||||
- `npm test` - Make sure you didn't break any of the core logic!
|
||||
- `webpack` - Pack Javscript files in production mode (smaller file but takes longer)
|
||||
- `npm run build` - Webpack Javscript files in production mode (smaller file but takes longer)
|
||||
- `./go-sync-to-s3.sh` - Do this if you're me, to upload to S3. If you're not me, you'll need to do something else, or possibly nothing at all.
|
||||
|
||||
|
||||
## In practice:
|
||||
|
||||
- `npm run clean; npm run dev-build` - Run webpack in dev mode while working on Javascript
|
||||
- `http-server` - Stand up a local HTTP server
|
||||
- `vim src/lib.js src/index.js`
|
||||
- `rm -fv src/index.js && git co src/index.js`
|
||||
- `npm run clean; npm run build` - Run webpack in prod mode to produce final Javascript bundle
|
||||
- `./go-sync-to-s3.sh` - Do this if you're me, to upload to S3. If you're not me, you'll need to do something else, or possibly nothing at all.
|
||||
|
||||
|
||||
|
@ -69,7 +83,7 @@ My name is Douglas Muth, and I am a software engineer in Philadelphia, PA.
|
|||
There are several ways to get in touch with me:
|
||||
- Email to doug.muth AT gmail DOT com or dmuth AT dmuth DOT org
|
||||
- [Facebook](https://facebook.com/dmuth) and [Twitter](http://twitter.com/dmuth)
|
||||
- [LinkedIn](http://localhost:8080/www.linkedin.com/in/dmuth)
|
||||
- [LinkedIn](https://linkedin.com/in/dmuth)
|
||||
|
||||
Feel free to reach out to me if you have any comments, suggestions, or bug reports.
|
||||
|
||||
|
|
10
dist/bundle.js
vendored
10
dist/bundle.js
vendored
File diff suppressed because one or more lines are too long
35
dist/bundle.js.LICENSE.txt
vendored
Normal file
35
dist/bundle.js.LICENSE.txt
vendored
Normal file
|
@ -0,0 +1,35 @@
|
|||
/* @preserve
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2013-2018 Petka Antonov
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*
|
||||
*/
|
||||
|
||||
/*!
|
||||
* The buffer module from node.js, for the browser.
|
||||
*
|
||||
* @author Feross Aboukhadijeh <https://feross.org>
|
||||
* @license MIT
|
||||
*/
|
||||
|
||||
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
|
||||
|
||||
/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
|
|
@ -163,7 +163,7 @@
|
|||
|
||||
Weak passwords are a big flaw in computer security due to a lack of "entropy"
|
||||
or randomness. For example, how many times have you used the name of a pet or relative or street
|
||||
in a password, or perhaps the number "1"? Not very random, is it? :-)
|
||||
in a password, or perhaps the number "1"? Not very random, is it? 😃
|
||||
Worse still, if
|
||||
passwords are reused between services, <a href="http://www.businessinsider.com/biggest-password-mistake-2014-8"
|
||||
>that increases your security risk</a>. This is not theoretical, <a href="http://www.techspot.com/news/65255-hackers-access-github-accounts-reusing-passwords-previous-leaks.html"
|
||||
|
@ -340,13 +340,12 @@ There are several ways to get in touch with me:
|
|||
<li><a href="https://github.com/dmuth/diceware/issues">Opening an Issue in GitHub</a>
|
||||
</ul>
|
||||
|
||||
Feel free to reach out to me if you have any comments, suggestions, bug reports, or wish to buy me a beer. :-)
|
||||
Feel free to reach out to me if you have any comments, suggestions, bug reports, or wish to buy me a beer. 😃🍻
|
||||
<br/>
|
||||
<br/>
|
||||
<br/>
|
||||
<br/>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
|
6716
package-lock.json
generated
6716
package-lock.json
generated
File diff suppressed because it is too large
Load diff
18
package.json
18
package.json
|
@ -7,7 +7,10 @@
|
|||
"test": "tests"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "mocha ./tests/test.js"
|
||||
"test": "mocha ./tests/test.js",
|
||||
"clean": "rm -rfv dist/*bundle.js* node_modules package-lock.json",
|
||||
"build": "npm install; webpack --mode production",
|
||||
"dev-build": "npm install; webpack --watch --mode development"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
|
@ -21,12 +24,17 @@
|
|||
},
|
||||
"homepage": "https://github.com/dmuth/diceware#readme",
|
||||
"devDependencies": {
|
||||
"mocha": "^4.0.1",
|
||||
"mocha": "^8.3.2",
|
||||
"should": "^13.1.3",
|
||||
"webpack": "^3.8.1"
|
||||
"webpack": "^5.25.0",
|
||||
"webpack-cli": "^4.5.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"bluebird": "^3.5.1",
|
||||
"random-number-csprng": "^1.0.2"
|
||||
"buffer": "^6.0.3",
|
||||
"crypto-browserify": "^3.12.0",
|
||||
"process": "^0.11.10",
|
||||
"random-number-csprng": "^1.0.2",
|
||||
"stream-browserify": "^3.0.0",
|
||||
"vm-browserify": "^1.1.2"
|
||||
}
|
||||
}
|
||||
|
|
23
src/index.js
23
src/index.js
|
@ -175,7 +175,7 @@ Diceware.is_mobile = function() {
|
|||
/**
|
||||
* Do some preliminary work, such as clearing out results and scrolling.
|
||||
*/
|
||||
Diceware.rollDiceHanlderPre = function() {
|
||||
Diceware.rollDiceHandlerPre = function() {
|
||||
|
||||
//
|
||||
// Clear out more space when mobile
|
||||
|
@ -212,7 +212,12 @@ Diceware.rollDiceHanlderPre = function() {
|
|||
*/
|
||||
Diceware.rollDiceHandler = function(e) {
|
||||
|
||||
Diceware.rollDiceHanlderPre();
|
||||
//
|
||||
// Disable our button while generating results
|
||||
//
|
||||
jQuery("#roll_dice").prop("disabled", true);
|
||||
|
||||
Diceware.rollDiceHandlerPre();
|
||||
|
||||
//
|
||||
// Make our dice rolls
|
||||
|
@ -250,7 +255,7 @@ Diceware.rollDiceHandler = function(e) {
|
|||
|
||||
});
|
||||
|
||||
Diceware.rollDiceHanlderPost(rolls, passphrase, num_passwords);
|
||||
Diceware.rollDiceHandlerPost(rolls, passphrase, num_passwords);
|
||||
|
||||
});
|
||||
|
||||
|
@ -260,7 +265,7 @@ Diceware.rollDiceHandler = function(e) {
|
|||
/**
|
||||
* Our post work, of displaying the results of our dice rolls.
|
||||
*/
|
||||
Diceware.rollDiceHanlderPost = function(rolls, passphrase, num_passwords) {
|
||||
Diceware.rollDiceHandlerPost = function(rolls, passphrase, num_passwords) {
|
||||
|
||||
//
|
||||
// Populate our results by cloning the hidden base rows which
|
||||
|
@ -335,13 +340,21 @@ Diceware.rollDiceHanlderPost = function(rolls, passphrase, num_passwords) {
|
|||
//
|
||||
var height = jQuery(".results").height();
|
||||
jQuery(".results").css("height", "auto");
|
||||
|
||||
var new_height = jQuery(".results").height();
|
||||
jQuery(".results").height(height);
|
||||
jQuery(".results").animate({height: new_height}, 400);
|
||||
|
||||
//
|
||||
// All done with our results, re-enable the button!
|
||||
//
|
||||
jQuery("#roll_dice").prop("disabled", false);
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
||||
} // End of rollDiceHandlerPost()
|
||||
|
||||
|
||||
|
@ -385,6 +398,8 @@ Diceware.go = function() {
|
|||
|
||||
console.log("Thanks for checking out my code! You can find the Git repo at https://github.com/dmuth/diceware, my blog at https://www.dmuth.org/, or you can bug me on Twitter at https://twitter.com/dmuth");
|
||||
|
||||
console.log("TEST2: $Id$");
|
||||
|
||||
Diceware.get_data = Diceware.extractGetData(location.search);
|
||||
console.log("GET Data: " + JSON.stringify(Diceware.get_data)); // Debugging
|
||||
|
||||
|
|
|
@ -4,6 +4,8 @@
|
|||
//
|
||||
var path = require('path');
|
||||
|
||||
const webpack = require('webpack')
|
||||
|
||||
//
|
||||
// Compile main.js (and its dependencies) into dist/bundle.js.
|
||||
//
|
||||
|
@ -12,6 +14,19 @@ module.exports = {
|
|||
output: {
|
||||
filename: 'bundle.js',
|
||||
path: path.resolve(__dirname, 'dist')
|
||||
}
|
||||
},
|
||||
resolve: {
|
||||
fallback: {
|
||||
"crypto": require.resolve("crypto-browserify"),
|
||||
"stream": require.resolve("stream-browserify"),
|
||||
"vm": require.resolve("vm-browserify")
|
||||
}
|
||||
},
|
||||
plugins: [
|
||||
new webpack.ProvidePlugin({
|
||||
Buffer: ['buffer', 'Buffer'],
|
||||
process: 'process/browser.js'
|
||||
})
|
||||
]
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue