New Major Release: FHFS 2.1.0!
After the release of 2.0.5 I continued work on 2.1 for 2 or 3 months, then didn't work on it at all for another 8 months, while I moved over to another project that will replace FHFS. Over the last week I finished up what I had been working on and 2.1 is here. 2.0.5 was in serious need of some updates, especially since most people weren't applying the patch for it.
https://sourceforge.net/projects/fhfs/files/2.1.x/2.1.0/In summary, most of the changes here are not visible to the end-user, but there's some major new stuff. First off, FHFS is now fully portable. The serverstart system has also been rewritten and should be much faster and more stable. Video streaming is now possible with a new media player, and the administrator console got some improvements including a new feature to approve registrations. There were also some improvements to FTP and SSL and some new logging and some style changes here and there. There were a few bug fixes, and a lot of general cleaning up of code and updating. 7zip didn't make it into this version.
This version will mark the end of FHFS development, except for fixing any serious bugs that may arise.
Here's the full list:
2.1.0 (11/08/2013)
------------------
**New: When calculating a user's account size on signin, signout, upload completed, etc. it will now use the new c# program instead of a crummy batch file (saveaccountsize.tpl)
**New: Included a new simple program written in C# (.NET 3.5) that calculates the size of a given list of folders, and its number of files and folders. (folderstats.exe)
**New: Admin console has a new feature to immediately recalculate and save the account sizes of EVERY account, using folderstats.exe. (admin.main.tpl, admin.javascript.js.tpl, admin.ajaxfunctions.tpl)
**New: FHFS can now be run in any directory, all absolute paths were replaced with relatives or absolutes calculated on demand. Many many files changed, I won't list them all. (~22 various files)
**New: Wrote a new silverlight-based media player, that includes support for VIDEO STREAMING! Renamed to mediaplayer.tpl. Yahoo shut off the web player service... (mastertemplate.tpl, user template.tpl, user template.js, user-file.tpl, mediaplayer.tpl, vfsroot\silverlightmediaplayer.xap)
**New: FHFS now runs its start script BEFORE accepting connections, then activates HTTP. Much more secure and stable (FHFS_Launcher.exe, hfs.events, serverstart.tpl, mastertemplate.tpl, admin.ajaxfunctions.tpl, stunnel.tpl)
New: The main page template now uses the nicer users.png and lock.png icons instead of the old HFS ones... (main page html.tpl)
New: Because of the new FTP config system, FTP accounts can be restored with backups also, FTP can be enabled from the admin console for creating an account, and FTP is automatically toggled with disabling/enabling accounts (admin.javascript.js.tpl, admin.ajaxfunctions.tpl)
New: You will now be signed out immediately if you enter an incorrect password in the admin console (admin.authenticate.tpl, ajax.admin.tpl)
New: The admin console also now saves all actions and requests sent to the admin console log - slight format change also (admin.ajaxfunctions.tpl)
New: New admin console option to never enable new accounts, supersedes the email validation feature. This way admin can "approve" new accounts before they're activated (saveaccountsize.tpl, admin.javascript.js.tpl, newaccount.tpl, ajax.submission.tpl, admin.main.tpl, admin.ajaxfunctions.tpl)
New: 3 New admin console tools to distribute an email to all registered users, to change the content directory, and to enable/disable auto-running FHFS on system start (admin.ajaxfunctions.tpl, admin.main.tpl, admin.javascript.js.tpl)
New: All the ajax functions now have a log of their own too, to see when users are deleting stuff, etc. (all ajax.* files except ajax.admin.tpl, ajax.submission.tpl and ajax.installer.tpl)
Improve: Very minor grammatical fix on choose public private.tpl (choose public private.tpl)
Improve: Removed some old unused sections such as wait, ajax.update.tpl, etc., fixed some private sections, sorted/categorized (mastertemplate.tpl)
Improve: Added target="_blank" to main page external links, revised Firefox link, all very minor (main page html.tpl)
Improve: Build 285 now includes the native {.get ini.} so the custom FHFS function for it was removed - probably faster now (admin.main.tpl, functions.tpl)
Improve: Made some security improvements with SSL, like forcing TLS, using AES and Camellia and disabling RC4, and disabling compression and fips (configure_stunnel.tpl)
Improve: admin console: Gave a little more work to PHP and ended up with an account export function that is WAY more stable and probably 4x faster, and should work with large account sets. Also improved restoring those backups. (admin.ajaxfunctions.tpl)
Improve: admin console: fixed up the prompts that appear when the server restarts, etc. (admin.javascript.js.tpl)
Improve: Minor text revisions to the security page (security.tpl)
Improve: The admin user table is now about 4x faster - measured 2 seconds loading a page from a 1000 account database, was 8 seconds before - and the pages now show 40 accounts each over the old 10, so really 16x speed (functions.tpl, admin.usertable.tpl)
Change: Changed the name of the newaccount.js file to be more conformative (newaccount.tpl, mastertemplate.tpl)
Change: Hfs.events will now break the rest of its script after it sends the redirect to ~overload (hfs.events)
Change: There's no need to have the version stored in installvars, all references to it have been moved to ^version (ajax.installer.tpl, main page html.tpl, serverstart.tpl)
Change: Replaced the incomplete installcheck function with a simple key 'installed' that is set to true - just makes more sense though admittedly it won't effectively check for data corruption. (ajax.installer.tpl, functions.tpl, hfs.events, serverstart.tpl)
Change: Maxsize, usedspace, and storagelimit in notes are now stored in bytes (admin.javascript.js.tpl, uploader.js, hfs.events, user template.js, saveaccountsize.tpl, admin.usertable.tpl, ajax.installer.tpl, admin.ajaxfunctions.tpl, newaccount.tpl, admin.main.tpl, user template.tpl)
Change: Rather than saving XML files, ftp passwords per user are now stored in notes, and the ftpconfig file is generated from scratch every time, to support a portable FHFS (ftpdata-user.xml.tpl, ftpdata-anonymous.xml.tpl, admin.ajaxfunctions.tpl, admin.usertable.tpl, ajax.installer.tpl, ajax.signin.tpl, ftp.tpl, rebuildftp.tpl, functions.tpl, signout.tpl, ajax.ftp.tpl, others)
Change: Got rid of the text saying 'standard account' for non administrator users. Doesn't really mean much to them. (user template.tpl, choose public private.tpl)
Change: Made a few minor style adjustments in the user template and changed the global font (user-folder.tpl, user template.css, global.css, newaccounts.css, main.css)
Change: The shared tools buttons now return links that are URL-encoded to fix bugs with apostrophes (user-file.tpl)
Change: Other than updating if it can, there is no need to access the internet on server start anymore. The external IP is now not needed, and code related to it was removed. Links will use either the webdomain variable or %host%. The location feature was also removed. (hfs.events, user template.tpl, admin.ajaxfunctions.tpl, admin.javascript.js.tpl, admin.main.tpl, ajax.installer.tpl, serverstart.tpl, main page html.tpl)
Change: Removed the shared file ID text from the user interface - it's just messy and unnecessary (user-file.tpl)
Change: Sent emails are now saved to the folder logs\emails (ajax.installer.tpl, ajax.lostpassword.tpl, ajax.share.sendmail.tpl, ajax.submission.tpl, functions.tpl, installer.tpl, admin.ajaxfunctions.tpl, ajax.contact.tpl)
Fix: Small typo fix - changed hashes(s) to hash(es) (user template.tpl)
Fix: Files with an ampersand "&" in their filename did not encode it and thus would not work when trying to stream them. (user-file.tpl)
Fix: Shared files with random IDs were sending out incorrect links (missing the ID) in the email file feature (user template.js, user-file.tpl, sharefile email.tpl)
Fix: The admin console user table would ocassionaly show an extra, blank page (admin.usertable.tpl)
Update: Changed the wiki/forum/startup link locations since my TK domain was cancelled... (admin.ajaxfunctions.tpl, ajax.submission.tpl, buttonheaders.tpl, main page html.tpl, serverstart.tpl, user template.tpl)
Update: Updated HFS from a build 283 preview to build 285 - faster VFS loading and drives other than c:\ can be set as the content root (server.dll)
Update: Updated OpenSSL from 1.0.1c to 1.0.1e (openssl-bin/openssl.exe, openssl-bin/*.dll)
Update: Updated STunnel from 4.53 to 4.56 (stunnel-bin/stunnel.exe, stunnel-bin/*.dll, FHFS_Launcher.exe)