{"id":15295190,"url":"https://github.com/obscurely/estash","last_synced_at":"2025-04-13T15:59:29.470Z","repository":{"id":64592429,"uuid":"572354472","full_name":"Obscurely/EStash","owner":"Obscurely","description":"An open source, cross-platform, programmed in rust, encrypted digital vault (store files and text) with the capability to set a path and with the click of a button to copy the contents to that file.","archived":false,"fork":false,"pushed_at":"2025-01-10T09:08:05.000Z","size":580,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-13T15:59:25.021Z","etag":null,"topics":["cross-platform","cross-platform-app","encrypt","encrypted","encryption","open-source","rust","rust-lang","rustlang","secure","vault"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Obscurely.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null},"funding":{"ko_fi":"Obscurely"}},"created_at":"2022-11-30T04:49:24.000Z","updated_at":"2025-01-10T09:08:08.000Z","dependencies_parsed_at":"2023-01-29T04:01:14.761Z","dependency_job_id":null,"html_url":"https://github.com/Obscurely/EStash","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Obscurely%2FEStash","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Obscurely%2FEStash/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Obscurely%2FEStash/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Obscurely%2FEStash/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Obscurely","download_url":"https://codeload.github.com/Obscurely/EStash/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248741198,"owners_count":21154252,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cross-platform","cross-platform-app","encrypt","encrypted","encryption","open-source","rust","rust-lang","rustlang","secure","vault"],"created_at":"2024-09-30T17:08:59.604Z","updated_at":"2025-04-13T15:59:29.446Z","avatar_url":"https://github.com/Obscurely.png","language":"Rust","readme":"\u003cdiv id=\"top\"\u003e\u003c/div\u003e\n\n[![Contributors][contributors-shield]][contributors-url]\n[![Forks][forks-shield]][forks-url]\n[![Stargazers][stars-shield]][stars-url]\n[![Issues][issues-shield]][issues-url]\n[![MIT License][license-shield]][license-url]\n\n\u003c!-- PROJECT LOGO --\u003e\n\u003cbr /\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/Obscurely/EStash/blob/master/assets/logo.png\" alt=\"Logo\" width=\"150\" height=\"150\"\u003e\n\n  \u003ch1 align=\"center\"\u003e\u003c/h1\u003e\n\n  \u003cp align=\"center\"\u003e\n    An open source, cross-platform, programmed in rust, encrypted digital vault (store files and text) with the capability to set a path and \n    with the click of a button to copy the content to that file. For example store your ssh keys safely, put your vault in like your github dotfiles, \n    download it on another machine and easily install those keys.\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/Obscurely/EStash/issues\"\u003eReport Bug\u003c/a\u003e\n    |\n    \u003ca href=\"https://github.com/Obscurely/EStash/issues\"\u003eRequest Feature\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n\u003cdetails\u003e\n  \u003csummary\u003eTable of Contents\u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003e\n      \u003ca href=\"#about-the-project\"\u003eAbout The Project\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#video-showcase\"\u003eVideo showcase\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#built-with\"\u003eBuilt with\u003c/a\u003e\u003c/li\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"#the-stock-libraries-and-these-awesome-3rd-party-ones\"\u003eThe stock libraries and these awesome 3rd party ones\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#getting-started\"\u003eGetting Started\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#running-the-program\"\u003eRunning the Program\u003c/a\u003e\u003c/li\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"#windows\"\u003eWindows\u003c/a\u003e\u003c/li\u003e\n          \u003cul\u003e\n            \u003cli\u003e\u003ca href=\"#portable-exe\"\u003ePortable EXE\u003c/a\u003e\u003c/li\u003e\n            \u003cli\u003e\u003ca href=\"#installer\"\u003eInstaller\u003c/a\u003e\u003c/li\u003e\n          \u003c/ul\u003e\n          \u003cli\u003e\u003ca href=\"#linux\"\u003eLinux\u003c/a\u003e\u003c/li\u003e\n          \u003cul\u003e\n            \u003cli\u003e\u003ca href=\"#portable-bin\"\u003ePortable Bin\u003c/a\u003e\u003c/li\u003e\n            \u003cli\u003e\u003ca href=\"#appimage\"\u003eAppImage\u003c/a\u003e\u003c/li\u003e\n            \u003cli\u003e\u003ca href=\"#aur\"\u003eAUR\u003c/a\u003e\u003c/li\u003e\n            \u003cli\u003e\u003ca href=\"#nix-file\"\u003eNix File\u003c/a\u003e\u003c/li\u003e\n            \u003cli\u003e\u003ca href=\"#deb-file\"\u003eDeb File\u003c/a\u003e\u003c/li\u003e\n            \u003cli\u003e\u003ca href=\"#arch-pkg-file\"\u003eArch Pkg File\u003c/a\u003e\u003c/li\u003e\n          \u003c/ul\u003e\n          \u003cli\u003e\u003ca href=\"#macos\"\u003eMacOS\u003c/a\u003e\u003c/li\u003e\n          \u003cul\u003e\n            \u003cli\u003e\u003ca href=\"#portable-binary\"\u003ePortable Bin\u003c/a\u003e\u003c/li\u003e\n            \u003cli\u003e\u003ca href=\"#app-folder\"\u003eApp Folder\u003c/a\u003e\u003c/li\u003e\n            \u003cli\u003e\u003ca href=\"#dmg-installer\"\u003eDMG Installer\u003c/a\u003e\u003c/li\u003e\n            \u003cli\u003e\u003ca href=\"#homebrew\"\u003eHomebrew\u003c/a\u003e\u003c/li\u003e\n          \u003c/ul\u003e\n          \u003cli\u003e\u003ca href=\"#all-platforms\"\u003eAll Platforms\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n        \u003cli\u003e\u003ca href=\"#compilation\"\u003eCompilation\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#usage\"\u003eUsage\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#basics\"\u003eBasics\u003c/a\u003e\u003c/li\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"#login\"\u003eLogin\u003c/a\u003e\u003c/li\u003e\n          \u003cli\u003e\u003ca href=\"#the-vault\"\u003eThe Vault\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n        \u003cli\u003e\u003ca href=\"#advanced\"\u003eAdvanced\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#road-map\"\u003eRoad Map\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contributing\"\u003eContributing\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#license\"\u003eLicense\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contact\"\u003eContact\u003c/a\u003e\u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n## 🪽 About The Project\n* An open source, programmed in rust, encrypted digital vault (store files and text) with the capability to set a path and \nwith the click of a button to copy the content to that file. For example store your ssh keys safely, put your vault in like your github dotfiles, \ndownload it on another machine and easily install those keys.\u003cbr\u003e\n* The vault is encrypted using a key derived from your password (the strength of your password decides the safetyness of your vault) using argon2id \nand that key is used to encrypt the private key. The encryption algorithm used is an ECIES, combines X25519 Diffie-Hellman function and XChaCha20Poly1305. (I used an [ECIES](https://itecspec.com/spec/3gpp-33-501-c-3-elliptic-curve-integrated-encryption-scheme-ecies/) for future proof reasons as there are no security downsides)\n* The way this works is by hashing your vault name with blake3. The password doesn't get stored, but a key derived from your password of 32 bytes length using argon2id gets generated with some very strong options and with this key the private encryption key for the vault (from the ECIES) get's encrypted. You get logged into a vault if the private key is decrypted sucessfully and the vault name is present basically. And all the content inside a vault is encrypted using the key-pair for that vault, basically nothing gets leaked.\n\n### 🎥 Video showcase\n\nhttps://user-images.githubusercontent.com/59087558/206248579-a786b277-b0fc-4306-be50-9db1c948e901.mp4\n\n### 🍔 Built with\n\n- [Rust 1.64.0](https://www.rust-lang.org/)\n\n#### The stock libraries and these awesome 3rd party ones:\n- [BLAKE3](https://lib.rs/crates/blake3) hash function, much faster then sha2 and more secure.\n- [rust-argon2](https://lib.rs/crates/rust-argon2) for deriving the encryption key from the password.\n- [rand](https://lib.rs/crates/rand) random number generators and other randomness functionality.\n- [rand_hc](https://lib.rs/crates/rand_hc) HC128 random number generator.\n- [zeroize](https://lib.rs/crates/zeroize) securely clear secrets from memory with a simple trait.\n- [crypto_box](https://lib.rs/crates/crypto_box) [ECIES](https://itecspec.com/spec/3gpp-33-501-c-3-elliptic-curve-integrated-encryption-scheme-ecies/) that combines X25519 Diffie-Hellman function and XChaCha20Poly1305.\n- [chacha20poly1305](https://lib.rs/crates/chacha20poly1305) simple, fast and strong [AEAD](https://en.wikipedia.org/wiki/Authenticated_encryption) encryption algorithm.\n- [sled](https://lib.rs/crates/sled) lightweight high-performance pure-rust transactional embedded database.\n- [Serde](https://lib.rs/crates/serde) a generic serialization/deserialization framework.\n- [serde_json](https://lib.rs/crates/serde_json) a JSON serialization file format.\n- [FLTK](https://lib.rs/crates/fltk) rust bindings for the FLTK GUI library.\n- [dirs](https://lib.rs/crates/dirs) a tiny low-level library that provides platform-specific standard locations.\n\n\n## 🏁 Getting Started\n\n### 🏃‍♂️ Running The Program\n- [Windows](#windows)\n- [Linux](#linux)\n- [MacOS](#macos)\n- [All Platforms](#all-platforms)\n---\n\n### 🪟 Windows\n- [Portable EXE](#portable-exe)\n- [Installer](#installer)\n\n#### Portable EXE\n1. Go to the [Releases Tab](https://github.com/Obscurely/EStash/releases) and download the *estash-windows.exe* file (might have to click show all).\n2. Double click the exe you just downloaded and there you go the program works.\n3. Might wanna take a look at the [Usage Tab](usage) if you don't understand something about it.\n\n#### Installer\n1. Go to the [Releases Tab](https://github.com/Obscurely/EStash/releases) and download the *estash-windows-installer.exe* files (might have to click show all).\n2. Double click the installer and go through the it as you would with any other installer.\n3. If you look now in the start menu (or on the desktop if you ticked create desktop shortcut) you are gonna see a shortcut for estash, just run it like any other program.\n4. Might wanna take a look at the [Usage Tab](usage) if you don't understand something about it.\n\n---\n\n### 🐧 Linux\n- [Portable Bin](#portable-bin)\n- [AppImage](#appimage)\n- [AUR](#aur)\n- [Nix File](#nix-file)\n- [Deb File](#deb-file)\n- [Arch Pkg File](#arch-pkg-file)\n\n#### Portable Bin\n1. Go to the [Releases Tab](https://github.com/Obscurely/EStash/releases) and download the *estash-linux* file.\n2. Double click the bin you just downloaded and there you go the program works.\n3. Might wanna take a look at the [Usage Tab](usage) if you don't understand something about it.\n\n#### AppImage\n1. Go to the [Releases Tab](https://github.com/Obscurely/EStash/releases) and download the *estash-linux.AppImage* file.\n2. Double click the AppImage you download and there you go the program just works. You may want to install [AppImageLauncher](https://github.com/TheAssassin/AppImageLauncher) if you don't have it already, when you start the AppImage you'll get a prompt asking if you want to integrate and run it and if you do so it will appear just as if you installed it.\n3. Might wanna take a look at the [Usage Tab](usage) if you don't understand something about it.\n\n#### AUR\nThe PKGs are: estash (for stable), estash-bin (for precompiled) and estash-git (to compile latest source code)\n\na. if you have an AUR manager (like [paru](https://github.com/Morganamilo/paru/blob/master/README.md#installation) or [yay](https://github.com/Jguer/yay/blob/next/README.md#installation), which you should)\n  1. Just like with any other AUR pkg choose your prefered type and you can run the following command for example.\n  ```shell\n  paru -Sy estash\n  ```\n  2. Search for estash in your app launcher and launch it.\n  3. Might wanna take a look at the [Usage Tab](usage) if you don't understand something about it.\n  \nb. Manually cloning and building it from AUR\n  1. First install the basic build dependencies, if you don't already have them:\n  ```shell\n  sudo pacman -Sy gcc base-devel --needed\n  ```\n  2. Then clone the build script\n  ```shell\n  git clone https://aur.archlinux.org/estash.git # or estash-bin \u0026 estash-git\n  ```\n  3. Cd into the new cloned repository and run the following to build the package\n  ```shell\n  makepkg\n  ```\n  4. In order to install the package run the following (where * is just an any other characters place holder)\n  ```shell\n  sudo pacman -U estash-*.pkg.tar.zst\n  ```\n\n#### Nix File\nYou are using NixOS, don't worry I got you bro.\n1. Go to the [Releases Tab](https://github.com/Obscurely/EStash/releases) and download the *estash-linux.nix* file.\n2. If you use flakes then put it in your pkgs folder, and up-top add your tag (like *my*). If you don't just add the code in your default.nix file and install it this way.\n3. Might wanna take a look at the [Usage Tab](usage) if you don't understand something about it.\n\n#### Deb File\nYou should use the app image. This does not provide a desktop file, you'll have to run it from the command line. It's here just as another means if needed. I will try to make a ppa.\n1. Go to the [Releases Tab](https://github.com/Obscurely/EStash/releases) and download the *estash-linux.deb* file.\n2. Open a terminal in the folder where your download is and run the following command:\n```shell\nsudo dpkg -i estash-linux.deb\n```\n3. Run *estash* in the terminal and there it is, the app.\n4. Might wanna take a look at the [Usage Tab](usage) if you don't understand something about it.\n\n#### Arch Pkg File\nYou shouldn't use this method, install the estash-bin AUR pkg instead. This is here just as another means if needed.\n1. Go to the [Releases Tab](https://github.com/Obscurely/EStash/releases) and download the *estash-linux.pkg.tar.zst* file.\n2. From you Arch Linux command line run the following command:\n```shell\nsudo pacman -U estash-linux.pkg.tar.zst\n```\n3. Search for estash in your app launcher and launch it.\n4. Might wanna take a look at the [Usage Tab](usage) if you don't understand something about it.\n\n---\n\n### 🍎 MacOS\n- [Portable binary](#portable-binary)\n- [App Folder](#app-folder)\n- [DMG Installer](#dmg-installer)\n- [Homebrew](#homebrew)\n\n#### Portable binary\n1. Go to the [Releases Tab](https://github.com/Obscurely/EStash/releases) and download the *estash-macos* file.\n2. Double click the bin you just downloaded and there you go the program works.\n3. Might wanna take a look at the [Usage Tab](usage) if you don't understand something about it.\n\n#### App Folder\nVery simillar to [portable binary](#portable-binary), only real difference is this has an icon.\n1. Go to the [Releases Tab](https://github.com/Obscurely/EStash/releases) and download the *estash-macos-app.tar.gz* file.\n2. Use your archive manager or run in the terminal the following command:\n```shell\ntar -xzf estash-macos-app.tar.gz\n```\n3. Double clikc the app folder you just downloaded and there you go the program works.\n4. Might wanna take a look at the [Usage Tab](usage) if you don't understand something about it.\n\n#### DMG Installer\nWorks just like any other dmg installer you've used.\n1. Go to the [Releases Tab](https://github.com/Obscurely/EStash/releases) and download the *estash-macos-installer.dmg* file.\n2. Double click to run the dmg.\n3. Drag the app folder over the *Applications* folder.\n4. Done, you've just installed the app, should see it in launchpad now.\n5. Might wanna take a look at the [Usage Tab](usage) if you don't understand something about it.\n\n#### Homebrew\nNote this method doesn't come with a desktop entry. You'll have to run the *estash* command or just [create a shortcut yourself](https://siytek.com/macos-terminal-command-as-a-shortcut/#2.-Create-a-new-shortcut), it's really easy.\n1. You will need to have [homebrew](https://brew.sh) installed, if you don't have it installed run the following command:\n```shell\n/bin/bash -c \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\"\n```\n2. You'll need to add my tap repo, run the following command for that:\n```shell\nbrew tap Obscurely/tap\n```\n3. Install the pkg.\n```shell\nbrew install estash\n```\n4. Might wanna take a look at the [Usage Tab](usage) if you don't understand something about it.\n\n---\n\n### 🚉 All Platforms\nThis method will work across any Linux distribution, Windows 10/11 and macOS (Big Sur+ tested).\n\n1. Install rust, either using the official [rustup installer](https://www.rust-lang.org/tools/install) or any pkg manager you may use. (There is also a shell.nix file in the repo if you use nix)\n2. Run the following command in your terminal of choice:\n```shell\ncargo install estash\n```\n3. Make sure you have .cargo/bin in path, for linux and macOS you would need to add the following line in your terminal RC file (e.g $HOME/.zshrc)\n```shell\nexport PATH=$HOME/.cargo/bin:$PATH # This is for Linux \u0026 macOS, look below for Windows.\n```\nOn windows it should work automatically (restart if just installed), if not you can follow this [guide](https://www.computerhope.com/issues/ch000549.htm) for how to add something to path. The cargo bin folder will be {your-user-folder}\\\\.cargo\\\\bin\n\n4. You may want to create a [symlink](https://www.freecodecamp.org/news/symlink-tutorial-in-linux-how-to-create-and-remove-a-symbolic-link/) on Linux \u0026 macOS or [create a shortcut](https://support.microsoft.com/en-us/office/create-a-desktop-shortcut-for-an-office-program-or-file-9a8df64b-cd87-4700-95cc-4bc3e2a962da) if you are on Windows to the bin file for easy access.\n\n5. In order to update run the install command again, and you can now follow [usage](#usage) for more information on how to use it.\n\n---\n\n### 🛠️ Compilation\n\nThis program only uses cross platform libraries. The following steps require that you have rust installed, check their official [installation page](https://www.rust-lang.org/tools/install) or use any pkg manager you may want. (There is also a shell.nix file in the repo if you use nix).\n\n1.  Clone this repo on your PC, you can use \"git clone\", if you have git installed, like this:\n```shell\ngit clone https://github.com/Obscurely/estash.git\n```\nOtherwise in the right up side of the repo page you will see a download button, download the repo as zip and extract it in a folder\n\n2.  Open a new terminal/cmd window in the folder you extracted the repo in, if you can't right click on the folder and open it there do:\n```shell\ncd the/path\n```\nand you will get there.\n\n3.  From there run this compile command in the terminal:\n```shell\ncargo build --release\n```\nIt will take a bit depending on your system because of executable size optimizations, but be patient.\n\n4. Done, navigate to target/release and grab only the \"estash\" file from there.\n\n## 🪧 Usage\n**In the provided [video](#video-showcase) it's presented everything you should know on how to use EStash. I also think the UI is intuitive enough, but I obviously can't have an unbiased opinion or a first look experience, so here you go.**\n\n### Basics\n#### Login\n1. First click on signup. The first field is the name of the vault, the second field is the password, and the third one is to verify the password. After inputting you desired credentials (note you can also make a vault with nothing as the vault name and password) click Singup and wait.\n2. After the vault has been created in left up corner you will se a back arrow, click that.\n3. Now that we are in the main menu click on Login. The first field is the name of the vault and the second one is the password. After inputting your credentials hit Login.\n\n#### The Vault\n- Add an entry by adding some text in the left down corner box and hitting the plus sign besides it.\n- Get the content of an entry by clicking on its name in the tree\n- Hit the plus/minus sign besides the install path box if you want to enable/disable the install path. The install path is checked if it's working on you current operating system.\n- The Check button besides the install path box checks if the path is valid on your current operating system.\n- The Content box represents what you would want to store, you can write anything utf-8 here, if it's not the UI will not let you do it so you don't have to worry about this.\n- The Clear Content button simply clears anything in the content box.\n- The Select File button let's you select a file from you system, any file, using the native file selecter or the one packaged with FLTK if none is found, and import all of its content inside the contents box. If the file is too big or is not in utf-8 format (for example it's a photo) the content box will be disabled and a message will you up and the file will automatically be stored in the entry.\n- The Notes box has no real effect on the functionallity, if you want to add anything extra just write it there.\n- The Delete button deletes the entry without question\n- The Install button takes the contents of the content box even if you've modified it and not saved it and tries installing it to the desired install path if the install path is enabled.\n- The Save button will simply save the entry, encrypted, to the db.\n\n### Advanced\n- Change the install path or add one without saving the entry, you may want this as an one time use.\n- Change the content without saving the entry and installing that to a file.\n\n## 🛣️ Road Map\n\nThe roadmap (kanban board) is located up top in the projects tab or at [this link](https://github.com/users/Obscurely/projects/1).\n\n## 💁 Contributing\n\nPlease read [CONTRIBUTING.md](https://github.com/Obscurely/EStash/blob/master/CONTRIBUTING.md), but to generalise it the basic process is: edit a file you want, do a [pull request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request), I will look at it and if the change makes sense and is a good one I will accept it and that's it.\n\n## 🪪 License\n\nIs under [GPL-3.0](https://www.gnu.org/licenses/gpl-3.0.html) so stick to the license conditions and have fun :)\u003c/br\u003e\n\n## 📧 Contact\n\nEither post an issue in the [Issues Tab](https://github.com/Obscurely/falion/issues) or contact me at this email adddress if you have more to say: obscurely.social@protonmail.com\n\n[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/K3K3H29LV)\n\n\u003c!-- MARKDOWN LINKS \u0026 IMAGES --\u003e\n\u003c!-- https://www.markdownguide.org/basic-syntax/#reference-style-links --\u003e\n\n[contributors-shield]: https://img.shields.io/github/contributors/Obscurely/EStash.svg?style=for-the-badge\n[contributors-url]: https://github.com/Obscurely/EStash/graphs/contributors\n[forks-shield]: https://img.shields.io/github/forks/Obscurely/EStash.svg?style=for-the-badge\n[forks-url]: https://github.com/Obscurely/EStash/network/members\n[stars-shield]: https://img.shields.io/github/stars/Obscurely/EStash.svg?style=for-the-badge\n[stars-url]: https://github.com/Obscurely/EStash/stargazers\n[issues-shield]: https://img.shields.io/github/issues/Obscurely/EStash.svg?style=for-the-badge\n[issues-url]: https://github.com/Obscurely/EStash/issues\n[license-shield]: https://img.shields.io/github/license/Obscurely/EStash.svg?style=for-the-badge\n[license-url]: https://github.com/Obscurely/EStash/blob/master/LICENSE\n","funding_links":["https://ko-fi.com/Obscurely","https://ko-fi.com/K3K3H29LV"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fobscurely%2Festash","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fobscurely%2Festash","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fobscurely%2Festash/lists"}