v3 Developer Updates (week 19-ish)

Post Contents

Happy Friday once again QuickBoxers! We’re back with another Developer Update.
As we draw nearer to the finish line for finishing up on v3 development, I am going to consolidate some of the past Developer Updates into this update so as to have a cleaner reference on all the things that have been accomplished thus far. Along with consolidating some of the past updates, I will additionally share some of the newer developments within the v3 code-sphere.
Let’s discuss the usual recent developments, then dive into the journey that got us here!

conversions

Conversions are nearly completed! That’s right, some 60 software build packages have been completely refactored to comply with the new QuickBox Pro v3 format. Out of these, we are down to the last 5 software to convert (Tautulli, TheLounge, Unpackerr, xTeVe, and ZNC). These remaining conversions will be done in short order and more than likely completed by late Monday.
There is an incredible amount of quality control going into the current developments to ensure that everything is fine-tuned and stable as possible. Though there is a lot more that has been done, we’re reserving these discussions for once we conclude their additions and testing. In short; even more optimization by the @mschf are being done under the hood to make things as quick as possible… and it’s incredibly exciting!!!


So Where are we at so far?

Libraries

One of the biggest factors in the optimization to the QuickBox Pro framework is its use of the new libraries. This has led to a file size reduction of 77.7% (44.5kb to 9.9kb)! Dynamic configurations have also changed. Instead of outputting these from the installers, there are now templates that are being copied to the relevant locations and updated with the server-specific configurations. This means that when a piece of software is updated, the installer won’t need to run through its entire script, but just copy the relevant files and update them with the required configurations.

If you’d like to take a closer look at some of these libraries, a new project has been born from the process. Check out mflibs (created by our very own @mschf) here:
https://github.com/mschf-dev/mflibs

Backup and Restore

Server Admins will be able to run qb generate config (This might be renamed). The command will generate a zip file that can be moved to a new server. The installer will automatically detect this file and ask if you want to import your previous configs, recreate users and install the same software.
This will eventually include media and per-user software settings, however, these will be included in a later release (Have to be careful of feature creep!)

CLI

We’ll be saying goodbye to fixed positionals and hello to flags. Currently, options have to be passed in a set order:

qb install software [VERSION] USERNAME [OPTION] [OPTION]

As we are looking to significantly expand the CLI usage in v3, there was a need to revamp this. The new CLI usage will be:

qb install software -u username [-v VERSION -o OPTION1 -o OPTION2 -V]

Current optional flags are:

-V - Verbose Output
-o - Options (Multiple allowed)

Whilst the CLI slightly longer, it is also quicker, as we aren’t relying on hundreds of ‘if then’ statements to parse the command, and it allows us to expand the installers for more functionality).


With the current version of QuickBox, if you want to use the CLI, you have to remember a fair bit, and reference some KB articles. With v3, you’ll have the option of entering commands via the CLI like before, or simply just typing in qb and interacting with a new menu!

This will also give you the option to install/remove/update software for multiple users at the same time!
Here’s a sneak peek:

(install/remove/update software for multiple users at the same time with the new interactive CLI menu!)

Let’s Encrypt

One of the main problems with the current lecert installer is the lack of an option to just generate a certificate without updating all the webroot paths. This has now been addressed and v3 will have the option to just generate a certificate for use with other software or websites (where -o -no-dash is the optional flag to produce a certificate for various domains):

qb install lecert -d DOMAIN_HERE -o no-dash

API

QuickBox v3 will feature an optional API. This is primarily for the developers among you. While I’ve only completed the framework for this, it’ll allow you to run various QuickBox commands and retrieve information. The daemon that runs for the API has read and write tokens so that QuickBox functionality can be safely built into applications and web pages. Here’s a quick screenshot:

(This is currently in Alpha state so please ignore the response codes being incorrect)

SQLite3

We had been running into some trouble with the database and how it handles the sheer number of requests that the dashboard is making. While we were originally concerned about this, we’ve implemented queuing on the requests and the database is currently handling the dashboard perfectly (It’s worth noting that the queues are for microseconds and there is no noticeable impact at all).

We’re now rocking a smaller amount of tables with a bit more data in them. This has allowed us to remove duplicate data from all over the place providing a cleaner environment in the database, as well as decreasing load times. (Seriously, we had data everywhere)!

Script handling

82 files to 8 for handling the system commands seems a bit crazy – however, we’ve completely redesigned how the qb command runs scripts. Let’s quickly compare how v2 and v3 handle the qb install software command:

QuickBox Pro v2

  1. qb checks how it is invoked (via CLI or Web).
  2. qb parses the positional parameters based on its invocation (Multiple if statements based on positional ordering).
  3. qb passes the first positional (install) through a case statement.
  4. The case statement then runs a specified function based on what it is matched against – (install_function) in this example.
  5. install_function then re-checks the positional parameters and re-orders them based on the requested software.
  6. install_function loads a new script (qbAppHandler).
  7. qbAppHandler re-orders the positionals based on software again.
  8. qbAppHanlder invokes the requested software script.
  9. The software script parses the positionals into variables.
  10. The software script begins!

As you can see there’s a lot of steps and files for a relatively straight forward command. This is mainly due to the requirement of positionals being in a specific order. While the processing time of the above is relatively small…it’s not exactly what we would call optimized.

QuickBox Pro v3

  1. qb parses input via a mixture of positional parameters and flags.
  2. qb passes the first positional (install) through a case statement.
  3. The case statement then loads the requested software script – passing existing positional and flags via an array.
  4. The software script parses the array into the required variables.
  5.  The software script begins!

The use of arrays allows the removing additional handlers and negates the need to order arguments in fixed locations.

php -v

We’re making some changes to the code behind the QuickBox Dashboard. One of those is updating the dashboard to utilize php8.1. We’ve done load and speed testing and are happy to report a reduction in the amount of server resources used. The dashboard is also a lot more responsive – Our current tests have the dashboard as around 3x faster now…vroom vroom!

self-cleaning locks

One of the touchy bits with v2 is the lock checks. If an install/update/removal fails, then users are left having to run some commands to install again. With v3 if a lock file exists, it’ll check to see if any processes are running and clean up after itself when finished.

performance differences

Now that we have the v3 libraries finished and several software conversions completed, it’s time for a quick performance comparison! (As I left this last minute, v3 is only on a VM and V2 on a dedicated server, so while it’s not a real comparison, it shows how much quicker v3 is!)

Specs:

QuickBox Pro v2
CPU Model: Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz
CPU Cores: 8
Total Mem: 32081 MB
OS: Debian GNU/Linux 10
Virtualization: Dedicated
QuickBox Pro v3
CPU Model: Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz
CPU Cores: 4
Total Mem: 3946 MB
OS: Debian GNU/Linux 10
Virtualization: KVM
Deluge install:
 v2v3
real1m32.719s0m48.717s
user0m33.192s0m17.681s
sys0m5.106s0m5.038s
Deluge removal:
 v2v3
real0m32.463s0m8.198s
user0m5.157s0m3.611s
sys0m1.559s0m1.083s

v3 delivery (that’s installs and upgrades)

v3 has been incredibly tuned so far in it’s journey through development and at this point we’re struggling to find more to improve (seriously, just check out week 11’s Developer Update on the performance differences!). It’s incredibly responsive and stable (with it being as completed as it actually is at the moment). With this in mind our next focus is in regards to enhanced stability to v3, to keep it that way, and to have it be a more enjoyable experience to anyone that uses it. This same can be said from a development standpoint.

QuickBox is a massive piece of software and the maintenance and support requires a lot of time and patience. Supporting various distro has become cumbersome and actually adds more unneeded weight to the code-base that we can shed.

We have made a decision to sunset support for the Ubuntu line of Distro.

Here’s a few reasons why:

  1. Ubuntu is becoming increasingly bloated with unnecessary elements and background tasks that are simply not needed on a media server, let alone headless servers.
  2. Ubuntu is a fork of Debian. They are essentially the same, but again, ubuntu stuffs in extra bells and whistles.
    • Here’s food for thought.
      * An Ubuntu ISO for a minimal server (headless) install is 2.6GB.
      * Debian is 600MB.
      The functionality at it’s core is exactly the same! whhhaaaaaat???
  3. Debian being lighter weight and producing more stable lineage is the preferred OS. Your server will actually thank you for running Debian.
  4. As the dependencies can vary from Ubuntu to Debian, this increases the additional work load when troubleshooting, adding in new features, software.. etc.. Debian tends to have the more stable toolset.
    • To expand on this. The additional testing and work that goes in to what may sound simple is much larger when it comes to a utility such as QuickBox. This takes time away from streamlining the Feature Requests for new additions. If we supported one OS and it’s spawn of Distro (Debian 9, 10, and 11 once it’s fully supported) we will not have to juggle various python, dependencies, etc etc. With being able to put more time into development and the focus shifted to only supporting Debian, this means we can have more time to drastically expand on our overall visions of QuickBox.

While we do understand that some people are emotionally attached to Ubuntu (the philosophy behind it after all is the Human in me recognizes the Human in you), Debian is the parent of the two and provides greater stability and the usability; it’s exactly the same!

optimizations

There are honestly so many it’s hard to list them all. The pip update time has now been reduced by 40%. The time to invoke qb (As it completed numerous checks) has also been cut by a similar amount.

Pulling data from the database is now around 50% quicker (and this was already quite tuned from previous weeks work. I plan to stop fiddling with this now as we’re entering into diminishing returns).

features

As we work on revisions, we are not only focused on rewriting the packages, but the additional inclusion of features to certain software builds. One such feature adjustment is the install of Filebot. In v2, this process is rather cumbersome and involves manual work to get it staged (ie; install, then copy your license file to the server, then you have to activate with the filebot command). What a chore! With v3 however, you’ll be able to simply copy/paste your license file directly into the CLI prompt.

Here’s a quick example (tested with an expired license to confirm it calls home and works)

qb install filebot -u echo
FileBot will now be installed.
This process may take a few minutes...
Adding additional keys and sources for FileBot...
Checking and performing apt updates...
Installing FileBot dependencies...
Building FileBot...
Configuring FileBot
Would you like to use FileBot to process rTorrent downloads? [y/n]:
> y
Would you like to use a custom directory for processed files? [y/n] (Default: /home/echo/Media):
> n
Would you like to use FileBot to process Deluge downloads? [y/n]:
> n
Would you like to activate your license? [y/n]:
> y
Please copy/paste the full contents of your license file.
Press ctrl+D when done to continue.
> -----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Product: FileBot
Name: [redacted]
Email: [redacted]
Order: P19854281
Issue-Date: 2020-11-13
Valid-Until: 2021-11-20
-----END PGP SIGNATURE----- 
Attempting to activate filebot_license.psm ... 
Initialize UserHome folder: /home/echo/.filebot/filebot-portable/data/0 
Initialize Cache folder: /home/echo/.filebot/filebot-portable/data/0/cache 
Initialize Logs folder: /home/echo/.filebot/filebot-portable/data/0/logs 
Initialize TemporaryFiles folder: /home/echo/.filebot/filebot-portable/data/0/tmp 
Initialize new disk cache: /home/echo/.filebot/filebot-portable/data/0/cache/0 
Unknown Error: P19854281 has EXPIRED on 2021-11-20 
Updating database... 
Backing up FileBot configuration... 
FileBot installation complete. 

Much better!

Another feature coming to v3, will be the ability to install Emby and Jellyfin as a multi-user software. Meaning that the System Admin can set Emby-Server to the users group, and any user in said group will be able to install Emby. We’ve additionally included options to install stable versions or beta versions, at any time a stable version can be updated to a beta release. Here’s a quick preview of that command.

Install Emby stable release:
qb install emby -u USERNAME

Install Emby beta release:
qb install emby -u USERNAME -o beta

You can update a stable release to a beta release, should you be so bold:
qb update emby -u USERNAME -o beta

Just like that!

Here’s a quick preview to proof of setup: (all developments are done on a localized/closed server environment)

Extra Extra! qb news is in the box!

@mschf has been down in the labs (when he’s not quality controlling my drunken conversions 🤪) and he’s cooked up a new module to be used in CLI. What is this new module? qb news! The module allows important announcements, as presented by us here at QuickBox.IO, to be posted directly to your server. This means, if there’s ever a critical patch, a fix for anything, or a new exciting release, we can post this announcement directly to your server!

If you’re wondering if this is posting content directly to your server, have no fear. Any content that is announced is processed via our own “announce” server which means it’s secure and non-invasive. It’s just a fun announcement ensuring that you never miss an important update… calm down!
Take a look at this nifty gif that @mschf actually had time to make for us.

Life with qb news

python versioning and stability

Within the QuickBox Pro environment, there are several software that require python. In v2 of QuickBox Pro, we set alternatives to python in various locations, but still utilize globals when installing python3 pip modules. This means that a software, such as Bazarr, would use the same global python3 directory as, let’s say, Deluge. At first, this type of setup seems easy and harmless, however, it can get complicated! If another user installs Bazarr, when they initiate an install it will check and update these pip modules according to the software requirements. Therefore, if user A has yet to update their Bazarr and user B installs a fresh version that updates pip modules (possibly not yet functional with the previous version), this can cause collisions and other errors.

Thankfully, this doesn’t happen often, but let’s not ignore this and wait for it to happen. Nay! Let us be proactive and create greater stability… now!

We’re now going further down the modularity hole and are introducing unique python virtual environments by way of python3-venv. What this means now is that user A will install Bazarr and a python virtual environment will be staged under their /opt/USER/Bazarr/.venv/ directory. All required python/pip related modules will be isolated to this directory. Only for the user and that particular software! So user A and user B will now utilize 2 completely separate instances of python for their Bazarr installs (and other python required software).

error codes

@mschf has been down in the labs working on getting a slurry of error code functionality built-in. We’ll provide a list of the error codes and their assigned definitions within the next couple of updates, or once we’re at the “ready to test” phase. These will assist users in troubleshooting any specific issues coming from any of the QuickBox system functions. Again, we’ll have a lot more on this in the next couple of updates.

Have you customized your qb install?

Let us know your customizations and we’ll work on implementing the most popular of the bunches we receive. If there isn’t one ranking higher than others, we’ll pick! You can let us know on Discord, via #v3-discussion. If we don’t respond, it’s because we’re taking notes 😉


As we are still chugging along on developments and having ironed out additional logistics, this concludes this weeks developer update.  We’re getting closer to the finish line and we couldn’t be more excited! v3 will no doubt, even through the decisions we have made, be an incredibly enjoyable experience offering greater ease of use and stability.
In the meantime, catch you all next week! 💖

More To Explore

[resolved] Lifetime Endpoint Issues
Current Status: Resolved (status.quickbox.io) Summary: An issue with the Lifetime API endpoint has been brought to my attention. This issue only affects Lifetime API keys. ...
Happy Holidays! A friendly support announcement
Hello everyone, We hope this message finds you well and that you’re enjoying the holiday season! We wanted to let you know that our support ...
Lifetime Licenses Available!
Are you ready for a Lifetime with QuickBox? The wait is over! Starting December 16th and ending on January 2nd, 2023 Lifetime licenses will be ...
v3.0.0.3066 introduces permissions monitoring service
Summary Don’t let the “No changes.” fool you! There’s some actual improvement here that has been staggered to ensure everything goes through properly and without ...
Recent update bug on v3
There was recently an apt bug on the QuickBox Pro v3 updater and fix version binary. This bug would frequently result in apt dpkg locks ...
v3 Developer Updates (launch imminent!)
After nearly 3,000 commits, 104,480+ lines of code, and 487 days, the official launch of QuickBox Pro v3 is… almost here! There is so much ...
QuickBox Pro v2.4.9
This version has been released on Friday, June 10, 2022. This version is considered a maintenance release. As we gear up and get ready for ...
v3 Developer Updates (week 19-ish)
Happy Friday once again QuickBoxers! We’re back with another Developer Update.As we draw nearer to the finish line for finishing up on v3 development, I ...
v3 Developer Updates (week 18)
Happy Friday QuickBoxers! We’re back again with another weekly Developer Update. It’s been a couple of weeks since we posted our last update, but we’re ...
v3 Developer Updates (week 17)
Happy Friday QuickBoxers! We’re back again with another weekly Developer Update. It seems like I just posted last weeks developer update. We’ve been coding night ...
v3 Developer Updates (week 16)
Oh hey! Where have we been you ask? After a few major delays due to some unexpected… let’s call it… nature being nature, we’re back ...
Lifetime Sale and other news!
It’s SALE time! It’s all about those savings, get early access to Black Friday/Cyber Monday here at QuickBox.IO… starting… now and ending on November 30th, ...
v3 Developer Updates (week 14-15)
Hello! It’s almost the weekend! Here’s a developer update for weeks 14 and 15. logistics The past couple of weeks have been busy in regards ...
qbpro_v248
QuickBox Pro v2.4.8
This version has been released on Monday, October 18, 2021. This version is considered a maintenance release. Of course, with every release, there is more! ...
v3 Developer Updates (week 13)
Hello! It’s almost the weekend! Here’s a developer update before I proceed to get smashed.This week has been busy development-wise. We’ve introduced some snazzy new ...
v3 Developer Updates (week 12)
Hello QuickBoxers and happy Friday! It’s October 1st and it’s my favorite month of the year (no more heat!), but most importantly, it’s time for ...
v3 Developer Updates (week 11)
Hello! It’s Friday again so here we go! performance differences Now that we have the v3 libraries finished and several software conversions completed, it’s time ...
v3 Developer Updates (week 10)
Hello QuickBox. It’s time for this weeks development update! Last week my throat was assaulted by tonsillitis, so apologies for missing it! software conversions I’ve ...
QuickBox Pro v2.4.7
This version has been released on Monday, September 6, 2021. This version is considered a maintenance and feature release. Along with some routine maintenance and ...
v3 Developer Updates (week 9)
Hello QuickBox. It’s time for another development update! avatars.png @JMSolo 👑 has been busy working on avatars for v3. Users will be able to set ...
v3 Developer Updates (week 8)
Hello QuickBox. It’s time for a development update from myself and @JMSolo 👑 ! api.php This week I’ve converted our API to be a bit ...
By popular demand, 2FA!
After the launch of our OTP (One Time Passcode) trials, we were met some very positive feedback and appreciation. After a couple of weeks passed ...
v3 Developer Updates (week 7)
Hellooooo QuickBox. It’s been a while since our last development update, but @JMSolo 👑 and I are back in full swing with some more news ...
QuickBox Pro v2.4.6
This version has been released on Tuesday, August 3, 2021. This version is considered a maintenance release. Coming off a rather large v2.4.5 release, this ...
QuickBox Pro v2.4.5
This version has been released on Saturday, July 31, 2021. This version is considered a maintenance and feature release. Continuing the forward momentum with rewriting ...
QuickBox Pro v2.4.4
This version has been released on Monday, June 28, 2021. This version is considered a maintenance and feature release. Oh what a release it is! ...
One Time Passcodes (OTP) now available!
What is OTP? OTP or “One Time Passcode” Verification verifies Email Addresses of users by sending OTP verification code during registration and login. This also ...
QuickBox Pro v2.4.3
This version has been released on Friday, May 21, 2021. This version is considered a maintenance patch release. In this release I have set in ...
QuickBox Pro v2.4.2
This version has been released on Saturday, April 17, 2021. This version is considered a maintenance patch release. In this release we have a few ...
v3 Developer Updates (week 6)
Happy Friday QuickBox, It’s time for another development update! Framework This week marked the completion of the system applications and the beginning of the software ...
The following terms and conditions govern all use of the QuickBox.io website and all content, services and products available at or through the website, including, but not limited to, QuickBox.io Forum Software and the QuickBox.io Support Forums, (taken together, the Website). The Website is owned and operated by (“QuickBox.IO”). The Website is offered subject to your acceptance without modification of all of the terms and conditions contained herein and all other operating rules, policies (including, without limitation, QuickBox.io’s Privacy Policy and Community Guidelines) and procedures that may be published from time to time on this Site by QuickBox (collectively, the “Agreement”). Please read this Agreement carefully before accessing or using the Website. By accessing or using any part of the web site, you agree to become bound by the terms and conditions of this agreement. If you do not agree to all the terms and conditions of this agreement, then you may not access the Website or use any services. If these terms and conditions are considered an offer by QuickBox, acceptance is expressly limited to these terms. The Website is available only to individuals who are at least 13 years old.

Your QuickBox.io Account

If you create an account on the Website, you are responsible for maintaining the security of your account and you are fully responsible for all activities that occur under the account. You must immediately notify QuickBox of any unauthorized uses of your account or any other breaches of security. QuickBox will not be liable for any acts or omissions by you, including any damages of any kind incurred as a result of such acts or omissions.

Responsibility of Contributors

If you post material to the Website, post links on the Website, or otherwise make (or allow any third party to make) material available by means of the Website (any such material, “Content”), You are entirely responsible for the content of, and any harm resulting from, that Content. That is the case regardless of whether the Content in question constitutes text, graphics, an audio file, or computer software. By making Content available, you represent and warrant that:
  • the downloading, copying and use of the Content will not infringe the proprietary rights, including but not limited to the copyright, patent, trademark or trade secret rights, of any third party;
  • if your employer has rights to intellectual property you create, you have either (i) received permission from your employer to post or make available the Content, including but not limited to any software, or (ii) secured from your employer a waiver as to all rights in or to the Content;
  • you have fully complied with any third-party licenses relating to the Content, and have done all things necessary to successfully pass through to end users any required terms;
  • the Content does not contain or install any viruses, worms, malware, Trojan horses or other harmful or destructive content;
  • the Content is not spam, is not machine- or randomly-generated, and does not contain unethical or unwanted commercial content designed to drive traffic to third party sites or boost the search engine rankings of third party sites, or to further unlawful acts (such as phishing) or mislead recipients as to the source of the material (such as spoofing);
  • the Content is not pornographic, does not contain threats or incite violence, and does not violate the privacy or publicity rights of any third party;
  • your content is not getting advertised via unwanted electronic messages such as spam links on newsgroups, email lists, blogs and web sites, and similar unsolicited promotional methods;
  • your content is not named in a manner that misleads your readers into thinking that you are another person or company; and
  • you have, in the case of Content that includes computer code, accurately categorized and/or described the type, nature, uses and effects of the materials, whether requested to do so by QuickBox or otherwise.

User Content License

User contributions are licensed under a GNU General Public License. Without limiting any of those representations or warranties, QuickBox has the right (though not the obligation) to, in QuickBox’s sole discretion (i) refuse or remove any content that, in QuickBox’s reasonable opinion, violates any QuickBox policy or is in any way harmful or objectionable, or (ii) terminate or deny access to and use of the Website to any individual or entity for any reason, in QuickBox’s sole discretion. QuickBox will have no obligation to provide a refund of any amounts previously paid.

Payment and Renewal

General Terms

Optional paid services or upgrades may be available on the Website. When utilizing an optional paid service or upgrade, you agree to pay QuickBox the one-time, monthly or annual subscription fees indicated. Payments will be charged on a pre-pay basis on the day you purchase the service or upgrade and will cover the use of that service or upgrade for a monthly or annual subscription period as indicated. These fees are not refundable. The one exception is QuickBox Pro, which provides a 3 Day money back policy, after 3 days, fees are not refundable.

Automatic Renewal

Unless you notify QuickBox before the end of the applicable subscription period that you want to cancel a service or upgrade, your subscription will automatically renew and you authorize us to collect the then-applicable annual or monthly subscription fee (as well as any taxes) using any credit card or other payment mechanism we have on record for you. Subscriptions can be canceled at any time. Please be advised that renewal fees are non-refundable. We provide courtesy emails notifying you of any upcoming renewals several days in advance, failure to cancel an unwanted subscription is not the responsibility of QuickBox.IO.

Refunds

We provide a 3-day “no questions asked” refund for new QuickBox Pro subscriptions (meaning, not for QuickBox.IO provided services such as Migration Service, Server Optimization, and our Guru Install Service). Refunds do not apply for upgrades or renewals. Such refund shall be available for a period of three (3) days from the end of the business day the purchase was made (and if such day is not a business day, then the following business day). We may refuse to refund people who acted in bad faith or misused the Services, or otherwise violated any of the policies stated in the Terms of Service.

Services

Hosting, Support Services

Optional Hosting and Support services may be provided by QuickBox under the terms and conditions for each such service. By signing up for a Hosting/Support or Support services account, you agree to abide by such terms and conditions.

Responsibility of Website Visitors

QuickBox has not reviewed, and cannot review, all of the material, including computer software, posted to the Website, and cannot therefore be responsible for that material’s content, use or effects. By operating the Website, QuickBox does not represent or imply that it endorses the material there posted, or that it believes such material to be accurate, useful or non-harmful. You are responsible for taking precautions as necessary to protect yourself and your computer systems from viruses, worms, Trojan horses, and other harmful or destructive content. The Website may contain content that is offensive, indecent, or otherwise objectionable, as well as content containing technical inaccuracies, typographical mistakes, and other errors. The Website may also contain material that violates the privacy or publicity rights, or infringes the intellectual property and other proprietary rights, of third parties, or the downloading, copying or use of which is subject to additional terms and conditions, stated or unstated. QuickBox disclaims any responsibility for any harm resulting from the use by visitors of the Website, or from any downloading by those visitors of content there posted.

Content Posted on Other Websites

We have not reviewed, and cannot review, all of the material, including computer software, made available through the websites and web pages to which QuickBox.io links, and that link to QuickBox.io. QuickBox does not have any control over those non-QuickBox.io websites and web pages, and is not responsible for their contents or their use. By linking to a non-QuickBox.io website or web page, QuickBox does not represent or imply that it endorses such website or web page. You are responsible for taking precautions as necessary to protect yourself and your computer systems from viruses, worms, Trojan horses, and other harmful or destructive content. QuickBox disclaims any responsibility for any harm resulting from your use of non-QuickBox.io websites and web pages.

Copyright Infringement and DMCA Policy

As QuickBox asks others to respect its intellectual property rights, it respects the intellectual property rights of others. If you believe that material located on or linked to by QuickBox.io violates your copyright, and if this website resides in the USA, you are encouraged to notify QuickBox in accordance with QuickBox’s Digital Millennium Copyright Act (“DMCA”) Policy. QuickBox will respond to all such notices, including as required or appropriate by removing the infringing material or disabling all links to the infringing material. QuickBox will terminate a visitor’s access to and use of the Website if, under appropriate circumstances, the visitor is determined to be a repeat infringer of the copyrights or other intellectual property rights of QuickBox or others. In the case of such termination, QuickBox will have no obligation to provide a refund of any amounts previously paid to QuickBox.

Intellectual Property

This Agreement does not transfer from QuickBox to you any QuickBox or third party intellectual property, and all right, title and interest in and to such property will remain (as between the parties) solely with QuickBox. QuickBox, QuickBox.io, the QuickBox.io logo, and all other trademarks, service marks, graphics and logos used in connection with QuickBox.io, or the Website are trademarks or registered trademarks of QuickBox or QuickBoxs licensors. Other trademarks, service marks, graphics and logos used in connection with the Website may be the trademarks of other third parties. Your use of the Website grants you no right or license to reproduce or otherwise use any QuickBox or third-party trademarks.

Advertisements

QuickBox reserves the right to display advertisements on your content unless you have purchased a Services account and/or received proper access promotions within the provided Forums.

Attribution

QuickBox reserves the right to display attribution links such as ‘Powered by QuickBox.io,’ theme author, and font attribution in your content footer or toolbar. Footer credits and the QuickBox.io toolbar may not be removed regardless of upgrades purchased.

Changes

QuickBox reserves the right, at its sole discretion, to modify or replace any part of this Agreement. It is your responsibility to check this Agreement periodically for changes. Your continued use of or access to the Website following the posting of any changes to this Agreement constitutes acceptance of those changes. QuickBox may also, in the future, offer new services and/or features through the Website (including, the release of new tools and resources). Such new features and/or services shall be subject to the terms and conditions of this Agreement.

Termination

QuickBox may terminate your access to all or any part of the Website at any time, with or without cause, with or without notice, effective immediately. If you wish to terminate this Agreement or your QuickBox.io account (if you have one), you may simply discontinue using the Website. All provisions of this Agreement which by their nature should survive termination shall survive termination, including, without limitation, ownership provisions, warranty disclaimers, indemnity and limitations of liability.

Disclaimer of Warranties

The Website is provided “as is”. QuickBox and its suppliers and licensors hereby disclaim all warranties of any kind, express or implied, including, without limitation, the warranties of merchantability, fitness for a particular purpose and non-infringement. Neither QuickBox nor its suppliers and licensors, makes any warranty that the Website will be error free or that access thereto will be continuous or uninterrupted. If you’re actually reading this, here’s a treat. You understand that you download from, or otherwise obtain content or services through, the Website at your own discretion and risk.

Disclaimer of Software

This script is intended for general use and no warranty is implied for suitability to any given task. QuickBox.IO will hold no responsibility for your setup or any damage done while using/installing/modifying this script or any of its plugins. Please keep in mind QuickBox.IO nor it’s staff are responsible for keeping your Software and/or Server up-to-date; this is a responsibility solely left to the user of the QuickBox Pro software.

QuickBox.IO and it’s associated staff reserve the right to terminate support at any time on the grounds that third-party applications; not yet approved, tested, or otherwise are found to be a result in QuickBox Pro malfunctioning.

Licensed under BSD 3-Clause

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  • Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Limitation of Liability

In no event will QuickBox, or its suppliers or licensors, be liable with respect to any subject matter of this agreement under any contract, negligence, strict liability or other legal or equitable theory for: (i) any special, incidental or consequential damages; (ii) the cost of procurement for substitute products or services; (iii) for interruption of use or loss or corruption of data; or (iv) for any amounts that exceed the fees paid by you to QuickBox under this agreement during the twelve (12) month period prior to the cause of action. QuickBox shall have no liability for any failure or delay due to matters beyond their reasonable control. The foregoing shall not apply to the extent prohibited by applicable law.

General Representation and Warranty

You represent and warrant that (i) your use of the Website will be in strict accordance with the QuickBox Privacy PolicyCommunity Guidelines, with this Agreement and with all applicable laws and regulations (including without limitation any local laws or regulations in your country, state, city, or other governmental area, regarding online conduct and acceptable content, and including all applicable laws regarding the transmission of technical data exported from the country in which this website resides or the country in which you reside) and (ii) your use of the Website will not infringe or misappropriate the intellectual property rights of any third party.

Indemnification

You agree to indemnify and hold harmless QuickBox, its contractors, and its licensors, and their respective directors, officers, employees and agents from and against any and all claims and expenses, including attorneys’ fees, arising out of your use of the Website, including but not limited to your violation of this Agreement.

Miscellaneous

This Agreement constitutes the entire agreement between QuickBox and you concerning the subject matter hereof, and they may only be modified by a written amendment signed by an authorized executive of QuickBox, or by the posting by QuickBox of a revised version. Except to the extent applicable law, if any, provides otherwise, this Agreement, any access to or use of the Website will be governed by the laws of the state of California, U.S.A., excluding its conflict of law provisions, and the proper venue for any disputes arising out of or relating to any of the same will be the state and federal courts located in San Francisco County, California. Except for claims for injunctive or equitable relief or claims regarding intellectual property rights (which may be brought in any competent court without the posting of a bond), any dispute arising under this Agreement shall be finally settled in accordance with the Comprehensive Arbitration Rules of the Judicial Arbitration and Mediation Service, Inc. (“JAMS”) by three arbitrators appointed in accordance with such Rules. The arbitration shall take place in San Francisco, California, in the English language and the arbitral decision may be enforced in any court. The prevailing party in any action or proceeding to enforce this Agreement shall be entitled to costs and attorneys’ fees. If any part of this Agreement is held invalid or unenforceable, that part will be construed to reflect the parties’ original intent, and the remaining portions will remain in full force and effect. A waiver by either party of any term or condition of this Agreement or any breach thereof, in any one instance, will not waive such term or condition or any subsequent breach thereof. You may assign your rights under this Agreement to any party that consents to, and agrees to be bound by, its terms and conditions; QuickBox may assign its rights under this Agreement without condition. This Agreement will be binding upon and will inure to the benefit of the parties, their successors and permitted assigns.

This document was last updated January 18, 2020.

Guidelines

Please add bugs found in QuickBox Pro using this template:

Bug Report
Select Bug Report as the issue template

Please add feature requests for application inclusion in QuickBox Pro using this template:

Application Feature Request
Select Application Feature Request as the issue template

Please add feature requests for general QuickBox Pro using this template:

Select General Feature Request as the issue template
Select General Feature Request as the issue template

Viewing issues as well as feature requests does not require an account.

You will need to create an account on our Lab in order to post both Issues as well as Feature Requests.
You can register an account here if you do not already have one.

We look forward to your reports as well as your ideas and suggestions for ongoing developments to the QuickBox Pro software!

The QuickBox Pro Community Appreciation Day Event Sale is in full effect.
Get your savings on!
00
Days
00
Hours
00
Minutes
00
Seconds