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 · 10 comments
Open
3 tasks

Tracking issues of Remote file management #611

Xuanwo opened this issue Feb 1, 2024 · 10 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
55 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

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

5 participants