TeamAmaze / TeamAmaze/AmazeFileManager

Implement SFTP server for file transfer over SSH protocol

Open
#3,124 1 comment 1 reaction 1 assignee View on GitHub

@TranceLove is already working on this.

Since Oct 21, 2023.

Area-FTP Issue-Feature
Dominant language
Kotlin
Stars
6.4k
Forks
1.7k
Avg merge
3d 9h
Merged PRs (30d)
1

Description

A number of users had raised this, so I'm putting it up here anyway. Wish there will be enough interest and investments to throw in a bounty for kind-hearted devs to work on this.

Is your feature request related to a problem? Please describe.
FTP server is considered obsolete and insecure for file transfers in 2022, even with SSL enabled. With modern devices' (even if it's a mobile phone) computation power it should not be difficult to handle file transmissions over SSH.

Describe the solution you'd like
SFTP server replacing current Apache ftpserver implementation inside Amaze

Describe alternatives you've considered
To reach the security we wish, just tell everyone to continue using FTP server with SSL enabled, and accept the fact that possibly only Filezilla can connect to it without problem.

Additional context
Some considerations to push this through:

  • There is already some code showing setting up a SFTP server already in the code tree, inside com.amaze.filemanager.filesystem.ssh.AbstractSftpServerTest
  • Fixed key or generated key for SSH server?
  • Hardest part maybe is to write a FileSystem implementation, especially with Android's troublesome DocumentFile implementation;
  • Would MANAGE_ALL_FILES permission waive such troubles for us? But how about Androids that doesn't accept this permission?
  • Will this implementation replacing, or just as an option aside the current FTP server?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.