Bug fixes and a shit ton of new content!
This commit is contained in:
23
oldprojects/pass/README.md
Normal file
23
oldprojects/pass/README.md
Normal file
@@ -0,0 +1,23 @@
|
||||
# [Simple Password generator](https://pass.purplebored.pl)
|
||||
- You can also find this on [Github](https://github.com/PurpleBored/Simple-password-generator)<br>
|
||||
Simple password generator is just a simple password generator written in HTML CSS and JS
|
||||
|
||||
## Installation
|
||||
- Clone the repository to your local machine using git clone https://codeberg.org/PurpleBored/Simple-Password-Generator.git
|
||||
- Open index.html in your browser and start generating passwords!
|
||||
|
||||
## Usage
|
||||
- Select desired criteria for your password using the checkboxes and input field.
|
||||
- Click the "Generate Password" button to generate a new password.
|
||||
- Copy the generated password to your clipboard using the "Copy to Clipboard" button.
|
||||
- Click the "Generate Another Password" button to generate a new password with the same criteria.
|
||||
|
||||
## Contributing
|
||||
|
||||
Pull requests are welcome. For major changes, please open an issue first
|
||||
to discuss what you would like to change.
|
||||
|
||||
Please make sure to update tests as appropriate.
|
||||
|
||||
## License
|
||||
[GPL3](https://codeberg.org/PurpleBored/Simple-Password-Generator/src/branch/main/LICENSE)
|
||||
BIN
oldprojects/pass/favicon.png
Normal file
BIN
oldprojects/pass/favicon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 8.6 KiB |
4
oldprojects/pass/icon.svg
Normal file
4
oldprojects/pass/icon.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
|
||||
<svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M6 2C3.79086 2 2 3.79086 2 6V18C2 20.2091 3.79086 22 6 22H18C20.2091 22 22 20.2091 22 18V6C22 3.79086 20.2091 2 18 2H6ZM4 6C4 4.89543 4.89543 4 6 4H18C19.1046 4 20 4.89543 20 6V18C20 19.1046 19.1046 20 18 20H6C4.89543 20 4 19.1046 4 18V6ZM10.7071 9.70711C11.0976 9.31658 11.0976 8.68342 10.7071 8.29289C10.3166 7.90237 9.68342 7.90237 9.29289 8.29289L6.29289 11.2929C5.90237 11.6834 5.90237 12.3166 6.29289 12.7071L9.29289 15.7071C9.68342 16.0976 10.3166 16.0976 10.7071 15.7071C11.0976 15.3166 11.0976 14.6834 10.7071 14.2929L8.41421 12L10.7071 9.70711ZM14.7071 8.29289C14.3166 7.90237 13.6834 7.90237 13.2929 8.29289C12.9024 8.68342 12.9024 9.31658 13.2929 9.70711L15.5858 12L13.2929 14.2929C12.9024 14.6834 12.9024 15.3166 13.2929 15.7071C13.6834 16.0976 14.3166 16.0976 14.7071 15.7071L17.7071 12.7071C18.0976 12.3166 18.0976 11.6834 17.7071 11.2929L14.7071 8.29289Z" fill="#000000"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
51
oldprojects/pass/index.html
Normal file
51
oldprojects/pass/index.html
Normal file
@@ -0,0 +1,51 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Simple Password Generator</title>
|
||||
<meta property="og:url" content="https://pass.purplebored.pl">
|
||||
<meta property="og:title" content="Simple password generator">
|
||||
<meta property="og:description" content="A very simple web app wich generates passwords">
|
||||
<link rel="icon" type="image/png" href="favicon.png">
|
||||
<link rel="stylesheet" type="text/css" href="style.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h1>Password Generator</h1>
|
||||
<form>
|
||||
<label>Password Length:
|
||||
<input type="number" name="length" min="1" max="250" required oninput="this.value = this.value.replace(/[^0-9]/g, '')" required>
|
||||
<small>(1-250)</small>
|
||||
</label>
|
||||
|
||||
<label>Include Numbers:
|
||||
<input type="checkbox" name="numbers">
|
||||
</label>
|
||||
<label for="lowercase">Include Lowercase Characters:
|
||||
<input type="checkbox" name="lowercase" id="lowercase">
|
||||
</label>
|
||||
<label for="uppercase">Include Uppercase Characters:
|
||||
<input type="checkbox" name="uppercase" id="uppercase">
|
||||
</label>
|
||||
<label>Include Special Characters:
|
||||
<input type="checkbox" name="specialChars">
|
||||
</label>
|
||||
|
||||
<button type="button" onclick="generatePassword()">Generate Password</button>
|
||||
</form>
|
||||
|
||||
<div id="password-container" style="display: none;">
|
||||
<p id="password"></p>
|
||||
<button onclick="copyToClipboard()">Copy to Clipboard</button>
|
||||
<button onclick="generatePassword()">Generate Another Password</button>
|
||||
</div>
|
||||
|
||||
<script src="password.js"></script>
|
||||
</footer>
|
||||
|
||||
<footer class="site-footer">
|
||||
<p id="footer">Made with 💜 by Niko aka PurpleBored. | <a href="https://codeberg.org/PurpleBored/Simple-Password-Generator"><img src="icon.svg" alt="Source Code" />Source Code</a></p> <!-- Footer text with source code link -->
|
||||
</footer>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
21
oldprojects/pass/info.html
Normal file
21
oldprojects/pass/info.html
Normal file
@@ -0,0 +1,21 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>=INFO=</title>
|
||||
<link rel="stylesheet" href="/style.css">
|
||||
<link rel="icon" href="favicon.ico" type="image/x-icon">
|
||||
<link rel="icon" href="favicon.ico" type="image/x-icon">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="content-blog"> <!--Yes i am reusing my CSS everywhere-->
|
||||
<p><a href="https://purplebored.pl/">Return to main site.</a></br>===INFO===<p>
|
||||
So there is nothing special about this. I created it cause i was bored AND i needed a simple and fast to acees password generator for alt accounts lol.
|
||||
<center><img src="/oldprojects/pass/screenshot.jpg" alt="A screenshot from the website."></center>
|
||||
<center>Screenshot from the project ^^</center>
|
||||
</div>
|
||||
<footer>
|
||||
<a class="clean">Purplebored © 2023-2024 </a> | <a href="https://codeberg.org/Purplebored" target="_blank">My Codeberg</a> | <a href="https://github.com/PurpleBored" target="_blank">My Github</a> | <a href="/contact.html/" target="_blank">Contact Me</a> | </pre>
|
||||
</footer>>
|
||||
</body>
|
||||
</html>
|
||||
57
oldprojects/pass/password.js
Normal file
57
oldprojects/pass/password.js
Normal file
@@ -0,0 +1,57 @@
|
||||
function generatePassword() {
|
||||
let length = document.querySelector('[name=length]').value;
|
||||
let includeNumbers = document.querySelector('[name=numbers]').checked;
|
||||
let includeLowerCase = document.querySelector('[name=lowercase]').checked;
|
||||
let includeUpperCase = document.querySelector('[name=uppercase]').checked;
|
||||
let includeSpecialChars = document.querySelector('[name=specialChars]').checked;
|
||||
|
||||
let result = '';
|
||||
let chars = '';
|
||||
|
||||
if (includeNumbers) {
|
||||
chars += '0123456789';
|
||||
}
|
||||
if (includeLowerCase) {
|
||||
chars += 'abcdefghijklmnopqrstuvwxyz';
|
||||
}
|
||||
if (includeUpperCase) {
|
||||
chars += 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
|
||||
}
|
||||
if (includeSpecialChars) {
|
||||
chars += '!@#$%^&*()_+~`|}{[]:;?><,./-=';
|
||||
}
|
||||
|
||||
if (chars.length === 0) {
|
||||
alert('Please select at least one type of character to include.');
|
||||
return;
|
||||
}
|
||||
|
||||
result += '\n';
|
||||
for (let i = 0; i < length; i++) {
|
||||
result += chars.charAt(Math.floor(Math.random() * chars.length));
|
||||
}
|
||||
document.getElementById('password-container').style.display = 'block';
|
||||
document.getElementById('password').textContent = result;
|
||||
}
|
||||
|
||||
function copyToClipboard() {
|
||||
let password = document.getElementById('password').textContent.trim();
|
||||
let input = document.createElement('textarea');
|
||||
input.style.position = 'fixed';
|
||||
input.style.opacity = 0;
|
||||
input.value = password.match(/[^\r\n]+\r?\n?\r?/gm).pop().trim();
|
||||
document.body.appendChild(input);
|
||||
input.select();
|
||||
document.execCommand('copy');
|
||||
document.body.removeChild(input);
|
||||
|
||||
clearCheckmarks();
|
||||
alert('Password copied to clipboard!');
|
||||
}
|
||||
|
||||
function clearCheckmarks() {
|
||||
let password = document.getElementById('password');
|
||||
let text = password.textContent.trim().split('\n');
|
||||
text.pop();
|
||||
password.textContent = text.join('\n');
|
||||
}
|
||||
BIN
oldprojects/pass/screenshot.jpg
Normal file
BIN
oldprojects/pass/screenshot.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 42 KiB |
115
oldprojects/pass/style.css
Normal file
115
oldprojects/pass/style.css
Normal file
@@ -0,0 +1,115 @@
|
||||
body {
|
||||
font-family: 'Roboto', sans-serif;
|
||||
background-color: #002240;
|
||||
background-image: radial-gradient(circle, #002240 0%, #001529 80%);
|
||||
color: #fff;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
height: 100vh;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 48px;
|
||||
text-align: center;
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
form {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
margin-top: 32px;
|
||||
}
|
||||
|
||||
label {
|
||||
display: block;
|
||||
margin-bottom: 10px;
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
input[type="number"] {
|
||||
font-size: 24px;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
button {
|
||||
font-size: 24px;
|
||||
padding: 5px 10px;
|
||||
margin-top: 10px;
|
||||
background-color: #4CAF50;
|
||||
border: none;
|
||||
border-radius: 4px;
|
||||
color: #fff;
|
||||
cursor: pointer;
|
||||
transition: background-color 0.2s;
|
||||
}
|
||||
|
||||
button:hover {
|
||||
background-color: #3e8e41;
|
||||
}
|
||||
|
||||
#password-container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
margin-top: 32px;
|
||||
}
|
||||
|
||||
#password {
|
||||
font-size: 32px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
button + button {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
#password-container button {
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.site-footer {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.site-footer a {
|
||||
color: #fff;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.container {
|
||||
margin-bottom: 80px;
|
||||
}
|
||||
|
||||
.site-footer img {
|
||||
width: 23px;
|
||||
height: 22px;
|
||||
vertical-align: middle;
|
||||
margin-left: 1px;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 600px) {
|
||||
h1 {
|
||||
font-size: 36px;
|
||||
}
|
||||
label {
|
||||
font-size: 18px;
|
||||
}
|
||||
input[type="number"] {
|
||||
font-size: 18px;
|
||||
padding: 3px;
|
||||
}
|
||||
button {
|
||||
font-size: 18px;
|
||||
padding: 3px 6px;
|
||||
margin-top: 5px;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user