在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:fangfufu/httpdirfs开源软件地址:https://github.com/fangfufu/httpdirfs开源编程语言:C 97.9%开源软件介绍:HTTPDirFS - HTTP Directory Filesystem with a permanent cache, and Airsonic / Subsonic server support!Have you ever wanted to mount those HTTP directory listings as if it was a partition? Look no further, this is your solution. HTTPDirFS stands for Hyper Text Transfer Protocol Directory Filesystem. The performance of the program is excellent. HTTP connections are reused through curl-multi interface. The FUSE component runs in the multithreaded mode. There is a permanent cache system which can cache all the file segments you have
downloaded, so you don't need to these segments again if you access them later.
This feature is triggered by the There is support for Airsonic / Subsonic server. This allows you to mount a remote music collection locally. If you only want to access a single file, there is also a simplified Single File Mode. This can be especially useful if the web server does not present a HTTP directory listing. InstallationPlease note if you install HTTDirFS from a repository, it can be outdated. Debian 11 "Bullseye"HTTPDirFS is available as a package in Debian 11 "Bullseye", If you are on
Debian Bullseye, you can simply run the following
command as
For more information on the status of HTTDirFS in Debian, please refer to Debian package tracker Arch LinuxHTTPDirFS is available in the Arch User Repository. FreeBSDHTTPDirFS is available in the FreeBSD Ports Collection. CompilationUbuntuUnder Ubuntu 18.04.4 LTS, you need the following packages:
Debian 11 "Bullseye" and Debian 10 "Buster"Under Debian 10 "Buster" and newer versions, you need the following packages:
Debian 9 "Stretch"Under Debian 9 "Stretch", you need the following packages:
If you get the following warnings during compilation,
then this program will crash if you connect to HTTPS website. You need to check
if you have You can check your SSL engine version using the FreeBSDThe following dependencies are required from either pkg or ports: Packages:
Ports:
Note: If you want brotli compression support, you will need to install curl from ports and enable the option. You can then build + install with:
Alternatively, you may use the FreeBSD ports(7) infrastructure to build HTTPDirFS from source with the modifications you need. macOSYou need to install macFUSE, cURL, gumbo, and OpenSSL from Homebrew:
Build and install:
Apple's command-line build tools are usually installed as part of setting up
Homebrew. HTTPDirFS will be installed in Usage
An example URL would be
Debian CD Image Server. The Useful optionsHTTPDirFS options:
For mounting a Airsonic / Subsonic server:
Useful FUSE options:
Airsonic / Subsonic server supportThe Airsonic / Subsonic server support is dedicated the my Debian package maintainer Jerome Charaoui.You can mount the music collection on your Airsonic / Subsonic server (*sonic), and browse them using your favourite file browser. You simply have to supply both
You definitely want to enable the cache for this one, otherwise it is painfully slow. There are two ways of mounting your *sonic server
In the index mode, the filesystem is presented based on the listing on the
In ID3 mode, the filesystem is presented using the following hierarchy: 0. Root
By default, *sonic server is mounted in the index mode. If you want to mount in
ID3 mode, please use the Please note that the cache feature is unaffected by how you mount your *sonic server. If you mounted your server in index mode, the cache is still valid in ID3 mode, and vice versa. HTTPDirFS is also known to work with the following applications, which implement some or all of Subsonic API:
Single file modeIf you just want to access a single file, you can specify
e.g.
This can be useful if the web server does not present a HTTP directory listing. This feature was implemented due to Github issue #86 Permanent cache systemYou can cache the files you have accessed permanently on your hard drive by
using the By default, the cache files are stored under Once a segment of the file has been downloaded once, it won't be downloaded again. Please note that due to the way the permanent cache system is implemented. The maximum download speed is around 15MiB/s, as measured using my localhost as the web server. However after you have accessed a file once, accessing it again will be the same speed as accessing your hard drive. If you have any patches to make the initial download go faster, please submit a pull request. The permanent cache system relies on sparse allocation. Please make sure your filesystem supports it. Otherwise your hard drive / SSD will get heavy I/O from cache file creation. For a list of filesystem that supports sparse allocation, please refer to Wikipedia. Configuration file supportThis program has basic support for using a configuration file. By default, the
configuration file which the program reads is
Alternatively, you can specify your own configuration file by using the
Log levelsYou can control how much log HTTPDirFS outputs by setting the
The Technical DetailsFor the normal HTTP directories, this program downloads the HTML web pages/files using libcurl, then parses the listing pages using Gumbo, and presents them using libfuse. For *sonic servers, rather than using the Gumbo parser, this program parse *sonic servers' XML responses using expat. The cache system stores the metadata and the downloaded file into two
separate directories. It uses Note that HTTPDirFS requires the server to support HTTP Range Request, some
servers support this features, but does not present Other projects which incorporate HTTPDirFS
Press Coverage
Acknowledgement
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论