hfs 0.56.0-rc8 → 0.56.0

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.
Files changed (46) hide show
  1. package/README.md +177 -0
  2. package/admin/assets/{index-BQNc-2uu.js → index-DlA4sSmp.js} +115 -115
  3. package/admin/assets/{sha512-BHK3vXiS.js → sha512--f9T-TYW.js} +1 -1
  4. package/admin/index.html +1 -1
  5. package/central.json +6 -1
  6. package/frontend/assets/{index-legacy-DpLkh_a-.js → index-legacy-3T51dA5w.js} +2 -2
  7. package/frontend/assets/{sha512-legacy-DNWDESJx.js → sha512-legacy-CX3vTVvC.js} +1 -1
  8. package/frontend/index.html +1 -1
  9. package/package.json +4 -4
  10. package/src/adminApis.js +7 -0
  11. package/src/api.accounts.js +1 -1
  12. package/src/api.auth.js +1 -0
  13. package/src/auth.js +1 -1
  14. package/src/block.js +13 -4
  15. package/src/config.js +1 -5
  16. package/src/const.js +2 -2
  17. package/src/cross.js +1 -14
  18. package/src/github.js +1 -1
  19. package/src/index.js +3 -0
  20. package/src/langs/hfs-lang-ar.json +10 -2
  21. package/src/langs/hfs-lang-de.json +12 -2
  22. package/src/langs/hfs-lang-el.json +60 -2
  23. package/src/langs/hfs-lang-es.json +14 -2
  24. package/src/langs/hfs-lang-fi.json +1 -1
  25. package/src/langs/hfs-lang-fr.json +19 -2
  26. package/src/langs/hfs-lang-hu.json +8 -2
  27. package/src/langs/hfs-lang-it.json +1 -1
  28. package/src/langs/hfs-lang-ja.json +10 -2
  29. package/src/langs/hfs-lang-ko.json +19 -2
  30. package/src/langs/hfs-lang-ms.json +72 -2
  31. package/src/langs/hfs-lang-nl.json +25 -5
  32. package/src/langs/hfs-lang-pt-br.json +45 -7
  33. package/src/langs/hfs-lang-ro.json +10 -2
  34. package/src/langs/hfs-lang-ru.json +10 -4
  35. package/src/langs/hfs-lang-sr.json +73 -2
  36. package/src/langs/hfs-lang-th.json +12 -2
  37. package/src/langs/hfs-lang-tr.json +9 -2
  38. package/src/langs/hfs-lang-uk.json +12 -2
  39. package/src/langs/hfs-lang-vi.json +98 -91
  40. package/src/langs/hfs-lang-zh-tw.json +19 -2
  41. package/src/langs/hfs-lang-zh.json +95 -60
  42. package/src/log.js +3 -10
  43. package/src/middlewares.js +6 -3
  44. package/src/misc.js +1 -1
  45. package/src/plugins.js +3 -1
  46. package/src/update.js +1 -1
package/README.md ADDED
@@ -0,0 +1,177 @@
1
+ # HFS: HTTP File Server (version 3)
2
+
3
+ ![logo and motto](hfs-logo-color-motto.svg)
4
+
5
+ ## Introduction
6
+
7
+ Access via web your files directly from your disk.
8
+
9
+ - You be the server, share files **fresh from your disk**, with **unlimited** space and bandwidth.
10
+ - **Fast!** Try zipping 100GB, download starts immediately!
11
+ - **Intelligent**. HFS tries to detect problems and suggest solutions.
12
+ - Share **even a single file** with our *virtual file system*, even with a different name, all without touching the real file. Present things the way you want!
13
+ - **Watch** all activities in real-time.
14
+ - **Control bandwidth**, decide how much to give.
15
+ - **No intermediaries**, give a huge file to your friend without waiting for it to be uploaded on a server first.
16
+
17
+ This is a full rewrite of [the Delphi version](https://github.com/rejetto/hfs2).
18
+
19
+ ## How does it work
20
+
21
+ - run HFS on your computer, administration page automatically shows up
22
+ - select what files and folders you want to be accessible
23
+ - access those files from a phone or another computer just using a browser
24
+ - possibly create accounts and limit access to files
25
+
26
+ ## Features
27
+
28
+ - https
29
+ - easy certificate generation
30
+ - unicode
31
+ - virtual file system
32
+ - mobile friendly
33
+ - search
34
+ - accounts
35
+ - resumable downloads & uploads
36
+ - download folders as zip archive
37
+ - delete, move and rename files
38
+ - simple website serving
39
+ - plug-ins
40
+ - real-time monitoring of connections
41
+ - [show some files](https://github.com/rejetto/hfs/discussions/270)
42
+ - speed throttler
43
+ - geographic firewall
44
+ - admin web interface
45
+ - multi-language front-end
46
+ - virtual hosting
47
+ - anti-brute-force (plug-in)
48
+ - [reverse-proxy support](https://github.com/rejetto/hfs/wiki/Reverse-proxy)
49
+ - comments in file descript.ion
50
+ - integrated media player
51
+ - [customizable with html, css and javascript](https://github.com/rejetto/hfs/wiki/Customization)
52
+ - dynamic-dns updater
53
+
54
+ ## Installation
55
+
56
+ For service installation instructions, [see our wiki](https://github.com/rejetto/hfs/wiki/Service-installation).
57
+
58
+ For Docker installation, [see dedicated repo](https://github.com/damienzonly/hfs-docker).
59
+
60
+ NB: minimum Windows version required is 8.1 , Windows Server 2012 R2 (because of Node.js 18)
61
+
62
+ 1. go to https://github.com/rejetto/hfs/releases
63
+ 2. click on `Assets`
64
+ 3. **download** the right version for your system, unzip and launch `hfs` file.
65
+ - Mac: if you get *"cannot be opened because it is from an unidentified developer"*,
66
+ you can hold `control` key while clicking, then click `open`.
67
+ - If you cannot find your system in the list, see next section [Other systems](#other-systems).
68
+ 4. the browser should automatically open on `localhost` address, so you can configure the rest in the Admin-panel.
69
+ - if a browser cannot be opened on the computer where you are installing HFS,
70
+ you should enter this command in the HFS console: `create-admin <PASSWORD>`
71
+ - if you cannot access the console (like when you are running as a service),
72
+ you can [edit the config file to add your admin account](config.md#accounts)
73
+ - if you don't want to use an editor you can create the file with this command:
74
+
75
+ `echo "create-admin: PASSWORD" > config.yaml`
76
+
77
+ If you access *Admin-panel* via localhost, by default HFS **won't** require you to login.
78
+ If you don't like this behavior, disable it in the Admin-panel or enter this console command `config localhost_admin false`.
79
+
80
+ ### Other systems
81
+
82
+ If your system is not Windows/Linux/Mac or you just don't want to run the binaries, you can try this alternative version:
83
+
84
+ 1. [install node.js](https://nodejs.org) version 18.20
85
+ 2. execute at command line `npx hfs@latest`
86
+
87
+ The `@latest` part is optional, and ensures that you are always up to date.
88
+
89
+ If this procedure fails, it may be that you are missing one of [these requirements](https://github.com/nodejs/node-gyp#installation).
90
+
91
+ Configuration and other files will be stored in `%HOME%/.vfs`
92
+
93
+ ## Console commands
94
+
95
+ If you have full access to HFS' console, you can enter commands. Start with `help` to have a full list.
96
+
97
+ ## Configuration
98
+
99
+ For configuration please see [file config.md](config.md).
100
+
101
+ ### Where is it stored
102
+
103
+ Configuration is stored in the file `config.yaml`, exception made for custom HTML which is stored in `custom.html`.
104
+
105
+ These files are kept in the Current Working Directory (cwd), which is by default the same folder of `hfs.exe`
106
+ if you are using this kind of distribution on Windows, or `USER_FOLDER/.hfs` on other systems.
107
+ You can decide a different folder passing `--cwd SOME_FOLDER` parameter at command line.
108
+ Any relative path provided is relative to the *cwd*.
109
+
110
+ [Check details about config file format](config.md).
111
+
112
+ ## Internationalization
113
+
114
+ It is possible to show the Front-end in other languages.
115
+ Translation for some languages is already provided. If you find an error, consider reporting it
116
+ or [editing the source file](https://github.com/rejetto/hfs/tree/main/src/langs).
117
+
118
+ In the Languages section of the Admin-panel you can install additional language files.
119
+
120
+ If your language is missing, please consider [translating yourself](https://github.com/rejetto/hfs/wiki/Translation).
121
+
122
+ ## Hidden features
123
+
124
+ - Appending `#LOGIN` to address will bring up the login dialog
125
+ - Appending ?lang=CODE to address will force a specific language
126
+ - Right-click on toggle-all checkbox will invert each checkbox state
127
+ - Appending `?login=USER:PASSWORD` will automatically log in the browser
128
+ - Appending `?overwrite` on uploads, will override the dont_overwrite_uploading configuration, provided you also have delete permission
129
+ - Appending `?search=PATTERN` will trigger search at start
130
+ - Appending `?onlyFiles` or `?onlyFolders` will limit type of results
131
+ - Appending `?autoplay=shuffle` will trigger show & play; `?autoplay` will not shuffle, but also will not start until the list is complete
132
+ - Right-click on "check for updates" will let you input a URL of a version to install
133
+ - Shift+click on a file will show & play
134
+ - Type the name of a file/folder to focus it, and ctrl+backspace to go to parent folder
135
+ - `--consoleFile PATH` will output all stdout and stderr also to a file
136
+ - env `DISABLE_UPDATE=1` (for containers)
137
+
138
+ ## Contribute
139
+
140
+ There are several ways to contribute
141
+
142
+ - [Report bugs](https://github.com/rejetto/hfs/issues/new?labels=bug&template=bug_report.md)
143
+
144
+ It's very important to report bugs, and if you are not so sure about it, don't worry, we'll discuss it.
145
+ If you find important security problems, please [contact us privately](mailto:a@rejetto.com) so that we can publish a fix before
146
+ the problem is disclosed, for the safety of other users.
147
+
148
+ - Use beta versions, and give feedback.
149
+
150
+ While betas have more problems, you'll get more features and give a huge help to the project.
151
+
152
+ - [Translate to your language](https://github.com/rejetto/hfs/wiki/Translation).
153
+
154
+ - [Suggest ideas](https://github.com/rejetto/hfs/discussions)
155
+
156
+ While the project should not become too complex, yours may be an idea for a plugin.
157
+
158
+ - Write guides or make videos for other users. [We got a wiki](https://github.com/rejetto/hfs/wiki)!
159
+
160
+ - Submit your code
161
+
162
+ If you'd like to make a change yourself in the code, please first open an "issue" or "discussion" about it,
163
+ so we'll try to cooperate and understand what's the best path for it.
164
+
165
+ - [Make a plugin](dev-plugins.md)
166
+
167
+ A plugin can change the look (a theme), and/or introduce a new functionality.
168
+
169
+ ## More
170
+
171
+ - [APIs](https://github.com/rejetto/hfs/wiki/APIs)
172
+
173
+ - [Build yourself](dev.md)
174
+
175
+ - [License](https://github.com/rejetto/hfs/blob/master/LICENSE.txt)
176
+
177
+ - Flag images are public-domain, downloaded from https://flagpedia.net