[Feature request] SFTP driver for Cloud Sync
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 14.1k
- Forks
- 2.2k
- Avg merge
- 7h 35m
- Merged PRs (30d)
- 51
Description
#15548 implemented the Cloud Sync functionality. Currently we have the WebDAV and the iCloud drivers. iCloud is platform specific, so for most platforms we only have the option of using WebDAV. While WebDAV is supported by many cloud storage providers, having at least a second multiplatform option would help a lot with compatibility, since while certain services might not support some protocols, they'll often support at least a couple popular ones.
One such protocol is SFTP. It is build on top of SSH, unlike WebDAV, which is based on HTTP, and it is often implemented by both SSH and FTP servers, making it also very likely to be supported. RetroArch doesn't currently implements SSH in any capacity, as far as I know, but SSH has a couple very mature C libraries that support SFTP, so it should be able to be included without sacrificing portability.
For instance, the provider I use, rsync.net, is very SSH-centric, and supports SFTP, but not WebDAV. The current implementation of Cloud Sync is very robust, and being able to use it across all my devices without requiring any local setup would improve the experience immensely.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the Cloud Sync implementation from #15548 and the existing WebDAV and iCloud drivers. Identify how a portable C SSH/SFTP library could fit the current design; done means Cloud Sync supports SFTP across platforms without requiring local setup.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- cloud
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100