Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TinyDB, Added GUI (Credentials viewer), Credentials Encryption #36

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

NEDev2
Copy link

@NEDev2 NEDev2 commented Jun 9, 2024

Hi,

This is my first contribution to this project. I created a very similar project for another website and decided to share some of the code with you because you're amazing :D

Changelog:

  1. Instead of saving credentials in a text file, we now save them in TinyDB.
  2. Added encryption for accounts saved in the database.
  3. Created a GUI using Python Tkinter for easily viewing the encrypted credentials saved in the database (with the added ability to right-click to copy).
  4. Uploading files with the -p option (for public link) also saves to the database and is viewable with the GUI.
  5. If config.json is not found, it will create it with the necessary fields.

Optional TODO:

  • Improve the UI of the GUI.
  • Add a way to display multiple Mega links in the GUI per account.
  • Implement a one-time password for all accounts and save it instead of prompting the user each time to enter a password for encryption.

Really love the project

@qtchaos
Copy link
Owner

qtchaos commented Jun 10, 2024

I'm away atm so can't take a deep dive, but I'd prefer if the formatting would stay the same (ruff + format on save). Thanks for the PR though, I'll take a better look once i get the chance. :)

@qtchaos
Copy link
Owner

qtchaos commented Jun 17, 2024

Fixed a bit of the formatting and organized the files just to help you in the right direction.

I'm not really sure if it's necessary to encrypt the credentials that we generate, I want to keep this project pretty minimal and not really change the core feature set too much. I get that encrypting passwords is the norm for a lot of software, but I don't really think this is something that we need, a lot of other tools require a plaintext file as input to process your data, which would not be possible with this approach, this means you have to manually copy paste credentials. So I think we should move back to just the plaintext file storage and the GUI should reflect that.

I think the GUI would be useful to some users though and if you'd like to keep working on this then as you mentioned you can keep improving the UI.

This is just my opinion so if you think that encrypting credentials is necessary then please do argue your point.

@NEDev2
Copy link
Author

NEDev2 commented Jun 17, 2024

Hi @qtchaos ,

I understand the project's aim to be as minimal as possible. However, I find the current credentials-saving system too disorganized with text files. Regarding encrypting credentials, I find it to be the most basic standard for storing passwords.

Would you be willing to merge this pull request into a new branch and mention the branch in the main repo README.md file "for advanced users"? I'm sure there are some people who will find these changes useful.

Thanks,
Nehoray

@NEDev2
Copy link
Author

NEDev2 commented Jun 30, 2024

Posting another comment incase you missed the one above : ) @qtchaos

@qtchaos
Copy link
Owner

qtchaos commented Jul 14, 2024

Hey, sorry for the late reply I've been taking a break from maintaining this project.

I find the current credentials-saving system too disorganized with text files.

This can and has been improved over time by allowing you to append credentials to a single file, I'm open to more features that allow it to be more organized (without a GUI). The point of this project isn't to be insanely organized and to essentially be a password manager for your mega.nz accounts, you generate an account and upload a file or two using the application itself or use it together with other scripts and that's it. If you want to keep using the account for a longer time then it's your own responsibility to add it to your password manager of choice. The first version only allowed you to generate the account and everything else has just been nice to have features which already make the program pretty bloated and harder to maintain.

Regarding encrypting credentials, I find it to be the most basic standard for storing passwords.

As mentioned above, this project shouldn't be a glorified password manager for your mega.nz accounts.

Would you be willing to merge this pull request into a new branch and mention the branch in the main repo.

Sure, once you or any other maintainer wants to make the changes that you mention in the TODO section of your first PR comment along with the ideas that we have discussed in this thread. As you mentioned I think some people would find this useful and I don't want all of your work to be wasted so I think this is the best choice as of now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants