Skip to content

Features

Serphentas edited this page Apr 8, 2016 · 22 revisions

To do:

  • Proper authentication using an encrypted channel and scrypt for the password (or another decent KDF)
    • Actually, this is done by the FTPS server
  • Change FTP for FTP over TLS (aka FTPS) in explicit mode, using AES-256 w/ GCM or ChaCha20/Poly1305
  • Shared folder
    • To be synced across all devices, whereas content on the DefaultFrame is managed on a per-item(s) basis
  • File/directory sharing via a unique access link, possibly protected by a password
    • ACLs
  • Drag and drop support for both DL and UL (from/to the client)
  • UI adjustments
    • Options menu
    • Populate Preferences menu
  • Benchmarking tool
  • Logging (for crashes, etc.)

Latest commit:

  • File transactions with FTP
  • Single view on the DefaultFrame (unsynced remote files)
    • Basic functions
      • Upload -> entry under File menu (ctrl+o)
      • Download -> entry under File menu (ctrl+s) or popup menu via file table
      • Delete -> entry under File menu (del) or popup menu via file table
      • Create folder -> entry under File menu (ctrl+n)
    • Set a download folder from the Preferences menu, or get asked for one each time
  • On-the-fly encryption/decryption
    • Local files can be sent and retrieved to/from the FTP server, with on-the-fly (achieved with GCMCipher)

Release versions:

v0.1:

  • Encryption/decryption of local files

Deprecated features:

  • To be implemented into FTP later on Parallelized mode available (causes a memory leak)
    • Each select file will be process by its own Thread, effectively processing all files at the same time
  • Replaced by FTPS authentication Authentication over TLS, using SHA384
    • Two rounds:
      • First, the client sends its username and password over TLS to the authentication server and this one checks for a match. If correct, the client receives a unique random token. Finally, it closes the TLS connection.
      • Second, the user sends its username and the previously received token over TLS to the data server checks. This one checks if an entry username:token exists. If yes, the connection stays open and data may flow. Else it is closed.

Clone this wiki locally