Client Setup
In the .toml file you'll find all adjustable settings for Demonsaw. Everything from the encryption layer in a group, to which files you share.
Please note: Not all elements here are in your .toml file, and they don't need to! Titan will automatically create missing fields if changed in-app. And almost all attributes specified here are possible to change within the GUI.
Contents
global
user_colors
defines {insert some smart sentence here}active_tab
defines which tab were last active when you close the app. Default = 0auto_open
defines whether tabs should be auto-opened when there's activity in them (e.g. download tab). Default = 1statusbar
defines whether the statusbar should be visible or not. Default = 1timestamps
defines whether timestamp should be visible or not. Default = 1font_size
defines the size of all texts in the app. Default = 13theme
defines the location of a CSS file to change the theme of Titan. Optionalupload_speed
defines the throttling speed of uploads in Mbps. Default = 0 (no throttle)download_speed
defines the throttling speed of downloads in Mbps. Default = 0 (no throttle)qt_geometry
is just some Qt gibberish to remember the size and location of different windows. No need to change this.qt_state
is just some Qt gibberish to remember the size and location of different windows. No need to change this.
client
name
is the name of your client.threads
defines the amount of concurrent threads the app will use when transferring files. Default = 4enabled
defines whether your client is enabled, and will automatically connect to the specified router once you open the app. Default = true- Note: this value will change depending on the state of your client when you close Titan. If your client is disconnected when you close the app, this value will become "false".
color
defines the color of your client.
One [[client.share]] per folder/file shared.
path
defines the location of the folder or file you want to share.enabled
defines whether you are actively sharing this file or folder when you are connected.
client.router
port
is which port you will connect to. Default = 80name
is the local name of the router. Optionalenabled
defines whether you'll connect or not when you start the app. Default = trueaddress
is the address (either a URL or IP) E.g. router.demonsaw.com or 192.254.75.74password
defines a password for connecting to the router. Wrong password will make the router refuse connection. Default = ""
client.option
mode
{insert smart sentence here as well}timestamp
defines the time/date format to use in chat. 12H format: "%I:%M:%S %p" 24H format: "%H:%M:%S"max_downloads
defines the max number of concurrent file downloads. Default = 4salt
defines the salt to apply to the hashing of your shred files/folders. Optionalhash
defines the type of hashing you want to use for you shared files/folders. Default = md5buffer_size
defines the amount of chunks your client requests to be buffered by the router. Default = 16path
defines the default downloads path for your client. If none is specified, Windows will use "C:/Users/user/Downloads", and Linux will use "something".chunk_size
defines the size (in bytes) of each chunk to request from uploaders.- Note: If you have a slow/intermittent connection, you should considering lowering this value. Default = 786432
max_uploads
defines the max number of concurrent file uploads. Default = 4
client.group
One [[client.group]] per layer of encryption. All layers will be combined for increased security. You will NOT join several groups with several layers!
enabled
defines whether this certain layer is enabled and used or not. Default = truecipher
defines the type of cipher you want to use for this layer. Default = aespercent
defines the percent of the file/string/URL content you want to use. Nice to reduce when you have a large file. Default = 100.000entropy
defines the entropy of your layer. This can be a file, plain text string, or the content of a URL (HTTPS not supported (yet)). Required!key_size
defines the size of the key (in KB) used. Default = 256salt
defines the salt to be used along with the entropy in this layer. Optionalhash
defines the type of hash to be used in this layer. Default = sha256iterations
defines the number of iterations for this layer. Note that the whole hashing/salting process is repeated for the entropy, therefore bigger sized entropy will take very long with more iterations. Default = 1
client.session
This is the options for the encryption of the session between you and the router.
cipher
defines the type of cipher you want to use for this session. Default = aesalgorithm
defines the type of algorithm to use when exchanging keys with the router. Default = dhprime_size
defines the size of your prime (in KB). Default = 128key_size
defines the size of the key (in KB). Default = 256salt
defines the salt to be used. Default = ""hash
defines the type of hash to use. Default = sha256iterations
defines the number of iterations for this encryption. Default = 1
client.verified
In order to appear as a verified user, you'll have to manually add this section to your demonsaw.toml file. Note that the router owner will have to do some changes on their toml file as well. Go to Router Setup to see what.
All values are case sensitive!
- 1. You need to create a hash for the router owner. You can create one here: http://www.freecodeformat.com/pbkdf2.php
- 2. Enter some key in the
Data Input
field, for example "BBQ Spice" (without quotation marks), and then click thePBKDF2
button. - 3. A new row will spawn and you'll need to fill out following:
Key length
choose your length (for example 256).Salt
some salt to season your hash, for example "charcoal taste salt 443".Number of iterations
choose your iterations (for example 16384).- Note: It would be smart to write this down somewhere safe, in case you decide to mess up your demonsaw.toml file.
- 4. Once everything is filled out and your key and salt is written down click
Hash
. - 5. Copy the hash presented, and send it to the router admin together with the name of your client.
- 6. Close Demonsaw, open demonsaw.toml, insert the following at the end of the file:
-Example-
[client.verified] salt = "charcoal taste salt 443" hash = "sha1" iterations = 16384 key = "BBQ Spice" key_size = 256
Note: All properties need a value, if not this section will be lost when saved.
- 7. Save, close, and start Demonsaw again
- 8. If all went well and the router admin likes you, you should now be verified and have the verified tick on the side of your screen name.
Note: Most printable characters (including Unicode) should work, as long as you enclose it in double quotation marks.