hfs 3.0.2 → 3.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,196 @@
1
+ # HFS: HTTP File Server
2
+
3
+ ![logo and motto](hfs-logo-color-motto.svg)
4
+
5
+ ## Index
6
+
7
+ - [Introduction](#introduction)
8
+ - [How does it work](#how-does-it-work)
9
+ - [Features](#features)
10
+ - [Installation](#installation)
11
+ - [Other systems](#other-systems)
12
+ - [Configuration](#configuration)
13
+ - [Where is it stored](#where-is-it-stored)
14
+ - [Internationalization](#internationalization)
15
+ - [Hidden features](#hidden-features)
16
+ - [Contribute](#contribute)
17
+ - [More](#more)
18
+
19
+ ## Introduction
20
+
21
+ Access your files via web, directly from your disk.
22
+
23
+ - Be your own server: share files **fresh from your disk** with **unlimited** space and bandwidth.
24
+ - **Fast:** try zipping 100GB – download starts immediately.
25
+ - **Smart:** HFS detects problems and suggests solutions.
26
+ - Present things the way you want: share **even a single file**, even with a different name, with our *virtual file system*.
27
+ - **Monitor** all activities in real-time.
28
+ - **Bandwidth throttling**: decide how much to give.
29
+ - **Direct transfers**: share large files with friends without having to upload them first.
30
+ - **Expandable**: install plugins for additional features.
31
+
32
+ Runs on: Windows, Linux, macOS, FreeBSD, Android
33
+
34
+ ## How does it work
35
+
36
+ - run HFS on your computer; an administration webpage automatically shows up
37
+ - select which files and folders you want to be accessible
38
+ - access those files from a phone or another computer just using a browser
39
+ - possibly create accounts and limit access to files
40
+
41
+ ## Features
42
+
43
+ - https
44
+ - easy certificate generation
45
+ - virtual file system
46
+ - mobile friendly
47
+ - search
48
+ - accounts
49
+ - resumable downloads & uploads
50
+ - download folders as zip archive
51
+ - delete, move and rename files
52
+ - plug-ins (anti-brute-force, thumbnails, ldap, themes, and more)
53
+ - simple website serving
54
+ - real-time monitoring of connections
55
+ - [show some files](https://github.com/rejetto/hfs/discussions/270)
56
+ - speed throttler
57
+ - geographic firewall
58
+ - admin web interface
59
+ - multi-language front-end
60
+ - virtual hosting
61
+ - [reverse-proxy support](https://github.com/rejetto/hfs/wiki/Reverse-proxy)
62
+ - comments in file descript.ion
63
+ - integrated media player
64
+ - [customizable with html, css, and javascript](https://github.com/rejetto/hfs/wiki/Customization)
65
+ - dynamic-dns updater
66
+
67
+ ## Installation
68
+
69
+ For Docker, see https://github.com/rejetto/hfs/wiki/Docker .
70
+
71
+ For service installation, see https://github.com/rejetto/hfs/wiki/Service-installation.
72
+
73
+ For Homebrew, just `brew install rejetto/hfs/hfs`
74
+
75
+ The minimum Windows version required is 10 or Server 2019.
76
+
77
+ 1. Download the zip file for your operating system from https://github.com/rejetto/hfs/releases
78
+ - ⚠️ Antivirus problems on Windows? [READ THIS](https://github.com/rejetto/hfs/wiki/Antivirus)
79
+ - ⚠️ If you have Linux ARM or other unlisted/unsupported platforms, please see the [Other systems](#other-systems) section.
80
+ 2. Unzip and launch the `hfs` file.
81
+ - ⚠️ Mac: if you get *"cannot be opened because it is from an unidentified developer"*,
82
+ you can hold `control` key while clicking, then click `open`.
83
+ 3. The browser should automatically open at `localhost`, so you can configure the rest in the Admin-panel.
84
+
85
+ Troubleshooting
86
+ - If a browser cannot be opened on the computer where you are installing HFS,
87
+ you should enter this command in the HFS console: `create-admin <PASSWORD>`
88
+ - If you cannot access the console (like when you are running as a service),
89
+ you can [edit the config file to add your admin account](config.md#accounts)
90
+ - If you don't want to use an editor, you can create the file with this command:
91
+
92
+ `echo "create-admin: PASSWORD" > config.yaml`
93
+
94
+ By default, HFS does not require a login when you access the *Admin-panel* from localhost.
95
+ If you don't like this behavior, disable it in the Admin-panel or enter this console command `config localhost_admin false`.
96
+
97
+ To uninstall, remove the files you unzipped and the configuration/data directory (see `config.md` for the location).
98
+
99
+ ### Other systems
100
+
101
+ If you can't or don't want to run our binary versions, you can try this:
102
+
103
+ 1. [Install Node.js](https://nodejs.org) version 18 to 24
104
+ 2. Run at the command line `npx hfs@latest`
105
+
106
+ The `@latest` part is optional, and ensures that you are always up to date.
107
+
108
+ If this procedure fails, it may be that you are missing one of [these requirements](https://github.com/nodejs/node-gyp#installation).
109
+
110
+ Configuration and other files will be stored in `%HOME%/.vfs`
111
+
112
+ ## Configuration
113
+
114
+ For configuration please see [config.md](config.md); it explains also where all configurations are stored.
115
+
116
+ ## Internationalization
117
+
118
+ It is possible to show the Front-end in other languages.
119
+ Translation for some languages is already provided. If you find an error, consider reporting it
120
+ or [editing the source file](https://github.com/rejetto/hfs/tree/main/src/langs).
121
+
122
+ In the Languages section of the Admin-panel you can install additional language files.
123
+
124
+ If your language is missing, please consider [translating yourself](https://github.com/rejetto/hfs/wiki/Translation).
125
+
126
+ ## Hidden features
127
+
128
+ - Append `#LOGIN` to the URL to open the login dialog
129
+ - Append `?lang=CODE` to the URL to force a specific language
130
+ - `Right-click` on toggle-all checkbox to *invert* the state of all checkboxes
131
+ - Append `?login=USER:PASSWORD` to automatically log in to the browser
132
+ - Append `?overwrite` when uploading to override the `dont_overwrite_uploading` configuration, provided you also have *delete* permission
133
+ - Append `?search=PATTERN` to trigger a search on startup
134
+ - Append `?onlyFiles` or `?onlyFolders` to limit the type of results
135
+ - Append `?get=basic` to display a basic web interface, intended for older/simpler browsers
136
+ - This is automatic if a basic browser is detected.
137
+ - Append `?autoplay=shuffle` to trigger show & play; `?autoplay` will not shuffle, but also will not start until the list is complete
138
+ - `Right-click` on "check for updates" to enter a URL of a version to install
139
+ - `Shift+click` on a file to *show* and play
140
+ - `Ctrl+backspace` to navigate to the parent folder
141
+ - Start typing a filename to focus it in the list
142
+ - `--consoleFile PATH` to also output all stdout/stderr to a file
143
+ - Set env.var. `DISABLE_UPDATE=1` (for containers)
144
+ - Launch with `--debug` or env.var. `HFS_DEBUG=1` to generate additional console logs
145
+ - Launch with `--no-central` to skip fetching updated info from GitHub (uses built-in data only)
146
+
147
+ ## Contribute
148
+
149
+ There are several ways to contribute
150
+
151
+ - [Report bugs](https://github.com/rejetto/hfs/issues/new?labels=bug&template=bug_report.md)
152
+
153
+ It's very important to report bugs, and if you are not so sure about it, don't worry, we'll discuss it.
154
+ If you find important security problems, please [contact us privately](mailto:a@rejetto.com) so that we can publish a fix before
155
+ the problem is disclosed, for the safety of other users.
156
+
157
+ - Use beta versions, and give feedback.
158
+
159
+ While betas have more problems, you'll get more features and give a huge help to the project.
160
+
161
+ - [Translate to your language](https://github.com/rejetto/hfs/wiki/Translation).
162
+
163
+ - [Suggest ideas](https://github.com/rejetto/hfs/discussions)
164
+
165
+ While the project should not become too complex, yours may be an idea for a plugin.
166
+
167
+ - Write guides or make videos for other users. [We got a wiki](https://github.com/rejetto/hfs/wiki)!
168
+
169
+ - Submit your code
170
+
171
+ If you'd like to make a change yourself in the code, please first open an "issue" or "discussion" about it,
172
+ so we'll try to cooperate and understand what's the best path for it.
173
+
174
+ - [Make a plugin](dev-plugins.md)
175
+
176
+ A plugin can change the look (a theme), and/or introduce a new functionality.
177
+
178
+ ## Code Signing Policy
179
+
180
+ Free code signing 🙏 provided by SignPath.io, certificate by [SignPath Foundation](https://signpath.org).
181
+
182
+ Author/Reviewer/Approver: Massimo Melina.
183
+
184
+ Privacy: Update checks are opt-out; other outbound connections are user-triggered.
185
+
186
+ ## More
187
+
188
+ - [Additional information (Wiki)](https://github.com/rejetto/hfs/wiki)
189
+
190
+ - [APIs](https://github.com/rejetto/hfs/wiki/APIs)
191
+
192
+ - [Build yourself](dev.md)
193
+
194
+ - [License](LICENSE.txt)
195
+
196
+ - Flag images are public-domain, downloaded from https://flagpedia.net