Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ghfs

A read-only tmpfs-type FUSE filesystem that represents GitHub as a directory tree. Users, repositories, and files are fetched lazily via the GitHub API (API token at GITHUB_TOKEN for queries) and presented at /tmp/ghfs/.

Libraries

  • Linux: sudo apt install libfuse3-dev (or equivalent)
  • macOS: brew install --cask macfuse

In Linux, enable user_allow_other in /etc/fuse.conf. By default, FUSE mounts are isolated to the mounting user to prevent non-root users from halting root processes and causes a DoS. Enabling this allows other users, and the root user to see the filesystem.

Building & Running

cargo build --release

Unauthenticated GitHub API requests are limited to 60 per hour. GitHub PATs increases the limit to 5k per hour.

GITHUB_TOKEN="ghp_xxx" cargo run --release

It is recommended to run this as a startup program with the token in env.

Usage

$ cd /tmp/github
$ cd torvalds
$ cd linux
$ tree
$ cat fs/fuse/file.c

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages