{"id":21322122,"url":"https://github.com/polyrabbit/web-image-fs","last_synced_at":"2025-10-10T18:02:12.779Z","repository":{"id":149571819,"uuid":"294368900","full_name":"polyrabbit/web-image-fs","owner":"polyrabbit","description":"Mount web images and links to local files and folders","archived":false,"fork":false,"pushed_at":"2020-09-16T13:20:54.000Z","size":27,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-22T11:48:02.985Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/polyrabbit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-09-10T09:48:31.000Z","updated_at":"2020-09-16T13:20:57.000Z","dependencies_parsed_at":null,"dependency_job_id":"6201536e-26c4-4b48-96ba-40f7c3e86fb1","html_url":"https://github.com/polyrabbit/web-image-fs","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/polyrabbit%2Fweb-image-fs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/polyrabbit%2Fweb-image-fs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/polyrabbit%2Fweb-image-fs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/polyrabbit%2Fweb-image-fs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/polyrabbit","download_url":"https://codeload.github.com/polyrabbit/web-image-fs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243801612,"owners_count":20350106,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-21T20:13:26.657Z","updated_at":"2025-10-10T18:02:12.723Z","avatar_url":"https://github.com/polyrabbit.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# imagefs - Mount web images as local files\n\n## Example\n\nView my blog in your explorer/finder:\n\n```bash\n$ imagefs -v /tmp/imagefs https://blog.betacat.io/post/2020/08/how-to-mount-etcd-as-a-filesystem/\n$ ls -alh\ntotal 648K\ndrwxr-xr-x 0 poly poly    0 Sep 11 18:01 ./\ndrwxr-xr-x 0 poly poly    0 Sep 11 18:01 ↩︎/\ndrwxr-xr-x 0 poly poly    0 Sep 11 18:01 1/\ndrwxr-xr-x 0 poly poly    0 Sep 11 18:01 2/\ndrwxr-xr-x 0 poly poly    0 Sep 11 18:01 3/\ndrwxr-xr-x 0 poly poly    0 Sep 11 18:01 About/\ndrwxr-xr-x 0 poly poly    0 Sep 11 18:01 Archives/\ndrwxr-xr-x 0 poly poly    0 Sep 11 18:01 CC BY-NC-ND 4.0/\ndrwxr-xr-x 0 poly poly    0 Sep 11 18:01 dentry cache/\ndrwxr-xr-x 0 poly poly    0 Sep 11 18:01 EntryTimeout/\ndrwxr-xr-x 0 poly poly    0 Sep 11 18:01 etcdfs/\ndrwxr-xr-x 0 poly poly    0 Sep 11 18:01 FUSE/\n-rw-r--r-- 0 poly poly 166K Sep 11 18:01 FUSE Stack.png\ndrwxr-xr-x 0 poly poly    0 Sep 11 18:01 FUSE 文件系统/\ndrwxr-xr-x 0 poly poly    0 Sep 11 18:01 go-fuse/\ndrwxr-xr-x 0 poly poly    0 Sep 11 18:01 go-fuse Inode structure/\ndrwxr-xr-x 0 poly poly    0 Sep 11 18:01 Go-fuse 库/\ndrwxr-xr-x 0 poly poly    0 Sep 11 18:01 Home/\ndrwxr-xr-x 0 poly poly    0 Sep 11 18:01 Hugo/\ndrwxr-xr-x 0 poly poly    0 Sep 11 18:01 inode/\ndrwxr-xr-x 0 poly poly    0 Sep 11 18:01 inode编号/\ndrwxr-xr-x 0 poly poly    0 Sep 11 18:01 Jane/\ndrwxr-xr-x 0 poly poly    0 Sep 11 18:01 Kernel FUSE message format/\ndrwxr-xr-x 0 poly poly    0 Sep 11 18:01 OpCode enum/\n-rw-r--r-- 0 poly poly 217K Sep 11 18:01 open kubernetes etcd in vscode.png\ndrwxr-xr-x 0 poly poly    0 Sep 11 18:01 sshfs/\ndrwxr-xr-x 0 poly poly    0 Sep 11 18:01 TL;DR/\n-rw-r--r-- 0 poly poly 257K Sep 11 18:01 VFS Read Operation.png\ndrwxr-xr-x 0 poly poly    0 Sep 11 18:01 举个栗子/\ndrwxr-xr-x 0 poly poly    0 Sep 11 18:01 喵叔/\ndrwxr-xr-x 0 poly poly    0 Sep 11 18:01 喵叔没话说/\ndrwxr-xr-x 0 poly poly    0 Sep 11 18:01 工作原理/\ndrwxr-xr-x 0 poly poly    0 Sep 11 18:01 总结/\ndrwxr-xr-x 0 poly poly    0 Sep 11 18:01 文件系统相关的代码/\ndrwxr-xr-x 0 poly poly    0 Sep 11 18:01 沪ICP备17033881号-1/\ndrwxr-xr-x 0 poly poly    0 Sep 11 18:01 编写可测试 Go 代码的一种模式?            下一篇/\ndrwxr-xr-x 0 poly poly    0 Sep 11 18:01 背景/\n```\n\n## Usage\n\n```bash\n$ imagefs\nMount web images to local file system - find help/update at https://github.com/polyrabbit/web-image-fs\n\nUsage:\n  imagefs [mount-point] [url] [flags]\n\nFlags:\n      --http-timeout duration   http request timeout (default 10s)\n      --enable-pprof            enable runtime profiling data via HTTP server. Address is at \"http://localhost:9327/debug/pprof\"\n  -v, --verbose                 verbose output\n      --mount-options strings   options are passed as -o string to fusermount (default [nonempty])\n  -h, --help                    help for imagefs\n```\n\n## Limitations\n\nThis tool uses a simple html parser called [goquery](https://github.com/PuerkitoBio/goquery) that does not evaluate javascript, so it cannot handle dynamically generated images.\n\n## TODO\n\n- [x] ~~Prefetch image stats using a `HEAD` request~~\n- [ ] Detect file extension using `content-type` header\n- [ ] Use a cache library for `DomNode` objects\n- [x] ~~`DomNode` should contain an absolute self link url~~\n\n## License\n\nThe MIT License (MIT) - see [LICENSE.md](https://github.com/polyrabbit/web-image-fs/blob/master/LICENSE) for more details\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpolyrabbit%2Fweb-image-fs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpolyrabbit%2Fweb-image-fs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpolyrabbit%2Fweb-image-fs/lists"}