Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tracking issues of Remote file management #611

Open
3 tasks
Xuanwo opened this issue Feb 1, 2024 · 14 comments
Open
3 tasks

Tracking issues of Remote file management #611

Xuanwo opened this issue Feb 1, 2024 · 14 comments
Labels
feature New feature request

Comments

@Xuanwo
Copy link

Xuanwo commented Feb 1, 2024

This issue is used to track progress of yazi's remote file management.

Discuss at discord: https://discord.com/channels/1136203602898194542/1187669236672368681

Goal

Make yazi a super terminal file manager that can manage remote files.

First of all, users can define new shemas in config:

[schemas]
rules = [
  { name = "backup", type = "s3", bucket = "my-backup-bucket", ... },
  { name = "google", type = "gdrive", referesh_token = "my-token", ... },
  { name = "nextcloud", type = "webdav", endpoint = "http://my-nextcloud-server", ... }
]

Then, users can use yazi to manage them like local files:

# manage remote s3 bucket!
yazi backup://path/to/dir

# manage my gdrive
yazi google://root

# manage my nextcloud
yazi nextcloud://path/to/my/notes

Tasks

  • Add shemas in config
  • Add remote url scheme in URL
  • Build opendal operator and handling io operations
@Xuanwo Xuanwo added the feature New feature request label Feb 1, 2024
@Xuanwo Xuanwo mentioned this issue Feb 1, 2024
59 tasks
@dyxushuai
Copy link

Amazing idea, really like it.

@dyxushuai
Copy link

I want to claim this.

@og900aero
Copy link

It would be nice if they were also available on the go, so these "drives" could also be called up with a keyboard shortcuts.

@dyxushuai
Copy link

It would be nice if they were also available on the go, so these "drives" could also be called up with a keyboard shortcuts.

Opendal already supports Go binding https://github.com/apache/opendal/tree/main/bindings/go

@sxyazi
Copy link
Owner

sxyazi commented Feb 1, 2024

Can we implement it using the Go binding?

@Xuanwo
Copy link
Author

Xuanwo commented Feb 1, 2024

What's the relation between keyboard shortcuts and go? I would rather directly integrate yazi with rust because the go binding is still in its early stages and it requires CGO and the c binding, which could complicate our cross-platform support efforts.

@danilevy1212
Copy link

danilevy1212 commented Feb 1, 2024

Would SSH / SFTP / SCP be within scope of this feature? Currently, I use Dired (from emacs) for most of my file editing because of it's remote file management capabilities, through Tramp. If yazi supported this, I would totally switch over, since tramp can be quite slow, but I do have a whole lot of SSH hosts where I routinely do file operations on, so it's just too convenient to leave behind at the moment.

@Xuanwo
Copy link
Author

Xuanwo commented Feb 1, 2024

Would SSH / SFTP / SCP be within scope of this feature?

SFTP, Yes.

Other protocols are considered as obsolete that not supported in opendal. See apache/opendal#2643

@danilevy1212
Copy link

Thank you! very much looking forward to this.

@sxyazi sxyazi mentioned this issue Feb 2, 2024
1 task
@Xuanwo
Copy link
Author

Xuanwo commented Jun 14, 2024

Hello everyone, I have started my work at #1152.

Current progress: opendal has been integrated into yazi. I'm working out the layout of yazi to make it works correctly.

image

@uxfion
Copy link

uxfion commented Nov 17, 2024

Is it better to integrate through the plugin rclone? because rclone is mature and stable enough to avoid reinventing the wheel

@choovick
Copy link

choovick commented Dec 22, 2024

Another user that was brought up on Norton Commander then Total Commander then Midnight Commander. Shell link is a must for me as well, with this feature MC and be uninstalled. MC URI schema sh://user@host_or_ip[:port]/path

@kkumlien
Copy link

Can't even start using Yazi without fully integrated, remote file management MC-style (or similar). Keep up the good work!

@planetrobbie
Copy link

Same this is a pretty useful feature that I use everyday with MC.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature request
Projects
None yet
Development

No branches or pull requests

9 participants