Make some changes to QuickBox

Make some changes to QuickBox

IT, Others

Some digression

QuickBox is a popular seedbox installer script. Through this powerful script , can we build a seedbox system in a server. It contains a beautifully designed dashboard, allowing users the ability to interact with their seedbox and server on a professional grade level, We can even install packages to make some custom functions. This new version of QuickBox need Ubuntu 16.04/15.10(the old version was also compatible with Debian).

I first tried this script about half year ago, I find it was interesting with such a clean dashboard and so many useful external functions. But it was also not perfect for me. For example: it installed a rtorrent which didn’t have ipv6 support; the script cannot install the stable branch; and it don’t have the transmission. My friend has also tried to fix it, than they find that after installing finished, any modify could cause unexpected results(such as dashboard crash, software startup failed). So I decide to make a custom version of this installer script to adapt my using condition.

QuichBox has its source in github, I start modify with a fork.

Fix rtorrent install script

fix depending packages of libtorrent

First, I made a compare with the script in February. It was almost the same. It removed support for Debian, add a theme, add passive mode of vsftpd, improved security. But it also removed the option of rtorrent installing by compile.


# libtorent function (20)
# apt rtorrent handles the libtorrent install
# remember this is temporary until patched

# rtorrent function (21)
# commenting until patch comes for comp/build
# using apt install rtorrent in the meantime

So ,It seems that the installer of compile have some problems, for that reason, it was commented. If I want to add ipv6 support, I must first fix this compile script. I removed install code, which install from apt source, then uncomment the compile code. After Trying I found that libtorrent/rtorrent was not installed. I found some thing from the install log:


^~~~~
In file included from diffie_hellman.cc:43:0:
diffie_hellman.cc:107:63: error: invalid use of incomplete type ‘DH {aka struct dh_st}’
BN_bn2bin(m_dh->pub_key, dest + length - BN_num_bytes(m_dh->pub_key));
^
In file included from /usr/include/openssl/bn.h:32:0,
from diffie_hellman.cc:43:
/usr/include/openssl/ossl_typ.h:104:16: note: forward declaration of ‘DH {aka struct dh_st}’
typedef struct dh_st DH;
^~~~~
Makefile:422: recipe for target 'diffie_hellman.lo' failed
make[3]: *** [diffie_hellman.lo] Error 1

I searched this information in Google, it says that it was due to new function namespace in openssl 1.1.0. It has 2 way to solve it. One is to patch the libtorrent, make it adaptive new function name. It works in libtorrent but failed in compiling rtorrent. So I had to try the other way: install openssl 1.0.2 for rtorrent. In order to install this old openssl version , I had to remove libssl installing of apt source. It looks inelegant. How to solve the problem eleganty? Is there any possibility that some way can set the private openssl version which only used for libtorrent compiling? Actually the author provide such parameter(not say in help Doc,but in the program). otakunekop helped me to find out the correct parameter: OPENSSL_LIBS=”-L/root/openssl-1.0.2l -lssl -lcrypto” OPENSSL_CFLAGS=”-I/root/openssl-1.0.2l/include” It now works well with such private openssl version.

add ipv6 support for rtorrent

The source code of rtorrent 0.9.6 has add patch for ipv6, so we can add –enable-ipv6 to enable this function. but majority of PT don’t accept this client. So, it has necessary to make patch for rt0.9.4. I find a lot of way to add patch, I used the patch from Debian official forum. It provide patches for both libtorrent and rtorrent. After patching and enable the function, it works.

Fix installing of deluge by compile

the installer script provide three way to install this software: repo/stable/dev. repo using apt source, the other use compile. The version in ubuntu official repo is not the latest stable version, so I’d like to compile deluge from stable brunch. tips:the stable branch of the source code in github is not “stable version”, you will get the “1.5.14-dev0″version. so, I had to use the code from official ftp. compiling Deluge require libboost, but it was strange to find a uncompatible version of libboost in ubuntu apt source. so I also need to compile a new version of libboost, which takes a lot of time. After that every becomes very easy.

Some small changes

I made some custom changes for my conditions.

add bbr

BBR: Congestion-Based Congestion Control, developed by Google. it was added to newest kernel. I used the script created by Vicer.

add Transmission

otakunekop has made his first try to add transmission in setup script, I make a porting to this new script. I also made a install switch.

enable h5ai

I’d like to use h5ai, so I uncommented the code in setup script to enable this function.

fix hosts

I add a new hostname to solve “sudo:unable to resolve host”

add some parameter for rt

I add some parameter for rt to capable PT sites.

Fix problem when install in Vultr

for some security reason, Vultr deleted the ssl-cert-snakeoil, which cause failure of apache2 service. I tried to rebuild a ssl cert for it.

Lock the ffmpeg source code version used by QB

the ffmpeg was know as a powerful tools, it evolving every day, but some times not stable. So I decided to lock it to v3.2 release branch.

some changes of default value

I made some change of install default values.

I made a pull request to QB official repo. I’m happy to see the author of QB has merged some of my code into master brunch.

Amefs, EFS, IT, Linux, seedbox
Previous Post
High quality x264 Output Plugin for Premiere Pro
Next Post
How to fix Windows registry by using Linux live CD

Leave a Reply

Your email address will not be published. Required fields are marked *

Fill out this field
Fill out this field
Please enter a valid email address.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

keyboard_arrow_up