mumble-voip / mumble

Mumble is an open-source, low-latency, high quality voice chat software.
https://www.mumble.info
Other
6.37k stars 1.12k forks source link

Favorite Servers File Directory & Encryption #5937

Open trymeouteh opened 2 years ago

trymeouteh commented 2 years ago

Context

The ability to store your favorite servers into a file and choose were this file is stored on your computer.

Description

To have a setting on where your favorite server file is stored on your computer. When you add, edit or remove a favorite server, it will modify this file. And to have a setting to set a password for this favorite file to encrypt the data in the file which the mumble client can decrypt.

The reason I would like to request the favorites server becoming a file is for syncing and for backing up. Those who use cloud storage providers such as Google Drive. OneDrive, Dropbox. Sync.com, Filen or even P2P folder syncing like Syncthing can have their favorite servers always backuped to the cloud and synced with their other computers running mumble.

This way users can easily setup an automatic backup of their favorite server which is simular to a "contact list" on your phone. Many people use their Apple ID, Google Contacts or EteSync to sync their contacts and backup their contacts.

By having the favorite servers saved to a file were the user can choose its directory, mumble does not need to create a syncing favorite server feature or service or a backup feature for favorite servers. Users can choose how to sync or backup their favorite server list.

By having the optional password to encrypt the file would help keep the favorite server list details private when users choose to backup their favorite server list onto non-private cloud storage providers such as Google Drive.

Mumble component

Client

OS-specific?

No

Additional information

No response

Krzmbrzl commented 1 year ago

Well technically the favorite servers are already stored in a file: The client's database ^^

But that won't really cut it in your scenario.

dihernandez commented 11 months ago

I'd like to give it a shot

Krzmbrzl commented 11 months ago

@dihernandez awesome! Do you need some hints on where to start?

dihernandez commented 11 months ago

Yes Please

Krzmbrzl commented 10 months ago

@dihernandez Sorry for the late reply - I was (and still am) very busy :eyes:

First of all, you should have a look at https://github.com/mumble-voip/mumble/blob/master/docs/dev/TheMumbleSourceCode.md

and then for this issue in particular, https://github.com/mumble-voip/mumble/blob/master/src/mumble/ConnectDialog.cpp is the class that seems most relevant. In particular what is going on in its destructor and when it is loading the favorite servers (somewhere during construction/initialization).