Skip to content

Commit d19530c

Browse files
committed
initial monster commit
1 parent 4671ac6 commit d19530c

File tree

3,467 files changed

+282620
-1
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

3,467 files changed

+282620
-1
lines changed

CHANGELOG.md

+315
Large diffs are not rendered by default.

README.md

+232-1
Original file line numberDiff line numberDiff line change
@@ -1 +1,232 @@
1-
QB
1+
[![QuickBox](https://github.com/QuickBox/quickbox_github_assets/blob/master/img/quickbox2.png "QuickBox")](https://quickbox.io)
2+
3+
### Join us on our Chat Server at [chat.quickbox.io](https://chat.quickbox.io/) !!!
4+
5+
6+
## To make use of the GitHub repo (all future updates posted here!)
7+
>This step is only required for users who are coming off of our self-hosted GitLab repositories. If you are installing from fresh, please see [How to install](#how-to-install)
8+
9+
### [1]:
10+
login to your server via ssh. Gain root access with `sudo su` followed up with `cd` to place you in your /root directory. Once in your /root directory, type the following to remove your current local QuickBox respositories.
11+
```
12+
rm -rf QuickBox
13+
```
14+
15+
### [2]:
16+
grab the current/future QuickBox repository with the following:
17+
```
18+
git clone --recursive https://github.com/QuickBox/QuickBox /etc/QuickBox
19+
```
20+
21+
### [3]:
22+
update your current update function by doing the following:
23+
```
24+
local_packages=/etc/QuickBox/packages/
25+
rm -rf /usr/local/bin/quickbox
26+
cp -r ${local_packages}/. /usr/local/bin/quickbox
27+
dos2unix $(find /usr/local/bin/quickbox -type f)
28+
chmod +x $(find /usr/local/bin/quickbox -type f)
29+
cp -f /usr/local/bin/quickbox/system/reload /usr/bin/reload
30+
```
31+
32+
### [4]:
33+
run the upgrade script to match any recent changes and to get you on your way:
34+
```
35+
box upgrade
36+
```
37+
38+
---
39+
40+
## Script status
41+
42+
[![Version 2.4.9-production](https://img.shields.io/badge/version-2.4.9-674172.svg?style=flat-square)](https://plaza.quickbox.io/t/quickbox-readme-md/31) [![GNU v3.0 License](https://img.shields.io/badge/license-GNU%20v3.0%20License-blue.svg?style=flat-square)](https://plaza.quickbox.io/t/quickbox-readme-md/31)
43+
44+
#### Ubuntu Builds
45+
[![Ubuntu 15.10 Passing](https://img.shields.io/badge/Ubuntu%2015.10-passing-brightgreen.svg?style=flat-square)](https://plaza.quickbox.io/t/quickbox-readme-md/31) [![Ubuntu 16.04 Passing](https://img.shields.io/badge/Ubuntu%2016.04-passing-brightgreen.svg?style=flat-square)](https://plaza.quickbox.io/t/quickbox-readme-md/31) [![Ubuntu 16.10 Passing](https://img.shields.io/badge/Ubuntu%2016.10-passing-brightgreen.svg?style=flat-square)](https://plaza.quickbox.io/t/quickbox-readme-md/31)
46+
47+
#### Debian Builds
48+
[![Debian 8 Passing](https://img.shields.io/badge/Debain%208-passing-brightgreen.svg?style=flat-square)](https://plaza.quickbox.io/t/quickbox-readme-md/31)
49+
50+
---
51+
52+
###Quick Advisory Notice(s) on QuickBox
53+
54+
>### :rotating_light: OVH DEFAULT KERNEL NOTICE!
55+
grsec is built into OVH's custom kernel and it absolutely wrecks havoc when using these panels where we depend on the ability for one user (www-data) to see the processes of another running user ($username).
56+
<br/>This can be seen clearly by using a task manager such as h/top.
57+
<br/>With grsec enabled you can only see the processes owned by your user unless you run htop as root. As such, it is highly recommended to use the stock kernel for your distribution or at the very least installing an OVH kernel that is not compiled with grsec
58+
<br/>If you are using So You Start (SYS) as a host, you should opt to use the distribution kernel. You will see this as a checkbox option when installing your server. Otherwise, QuickBox will handle this for you on install.
59+
60+
61+
62+
---
63+
> Please understand that we do not want to push this project as a means to supply a commercially used product, ie; seedbox provider - so keep this in mind - only if you wish to sale slots on your server. Though it is very multi-user friendly... it is also not free of it's faults due to it's high amount of capabilities and being publicly available. This is a community based project that is a measure of goodwill to be given to such an outspoken and freethinking community.
64+
65+
### A Preview of Quick Box
66+
![QuickBox Preview - Smoked Theme](https://github.com/QuickBox/quickbox_github_assets/blob/master/img/quickbox_preview-theme_smoked.gif "QuickBox Preview - Smoked Theme")
67+
68+
---
69+
70+
This script has the following features
71+
72+
* A multi-user environment, complete with scripts to add and delete users.
73+
* Linux Quota, to control how much space every user can use in the box. This can be controlled via the '__setdisk__' command.
74+
* Customized Seedbox Dashboard located at https://SERVER_IP/
75+
* HTTPs Downloads directory (https://SERVER_IP/${username}.downloads)
76+
* Obscures ports for ssh and ftp. __SSH = 4747__ | __FTP = 5757__ (note, this is not for security reasons... it's simply a means to reduce bad bot hits from all over the web)
77+
* Creates a limited shell access environment. This gives your additional created users the ability to interact with their seedbox via ssh on port 4747 w/o having access to other users shells and/or root/sudo commands and functions.
78+
79+
## Installed software
80+
* Linux Quota
81+
* LShell - (LimitedShell for additional users to ssh)
82+
* SSH Server (for SSH terminal and sFTP connections)
83+
* pureftp - vsftp (CuteFTP multi-segmented download friendly)
84+
* HTTPS - Web Console
85+
* ruTorrent 3.7 + official plugins
86+
* rTorrent 0.9.6
87+
* libTorrrent 0.13.6
88+
* mktorrent
89+
* Deluge (Web-client and thin-client)
90+
* IRSSI
91+
* BTSync
92+
* CouchPotato
93+
* ConfigServer Firewall
94+
* Emby
95+
* Jackett
96+
* NextCloud
97+
* OpenVPN
98+
* Plex
99+
* PlexPy
100+
* Plex Requests (.NET)
101+
* pyLoad
102+
* Quassel
103+
* Quotas
104+
* Rapidleech
105+
* SABnzbd
106+
* SickRage
107+
* Sonarr
108+
* Subsonic
109+
* Syncthing
110+
* X2Go - Remote Desktop
111+
* ZNC
112+
* .. more to come (or how about that feature request?)
113+
114+
## Main ruTorrent plugins
115+
autotools, cpuload, quotaspace, erasedata, extratio, extsearch, feeds, filedrop, filemanager, geoip, history, logoff, mediainfo, mediastream, ratiocolor, rss, scheduler, screenshots, theme, trafic and unpack
116+
117+
## Additional ruTorrent plugins
118+
* Autodl-IRSSI (with an updated list of trackers)
119+
* A modified version of Diskpace to support quota (by Notos)
120+
* Filemanager (modified to handle rar, zip, unzip, tar and bzip)
121+
* Fileshare Plugin (http://forums.rutorrent.org/index.php?topic=705.0)
122+
* Logoff
123+
* Theme: QuickBox ``Dark rutorrent skin``
124+
* Colorful Ratios: Customized to match QuickBox Theme
125+
* __rutorrentMobile__: Mobile version of ruTorrent - seriously - toss TransDroid and the pain that it is... this is a new essential plugin (IMO)
126+
127+
## Before installation
128+
You need to have a Fresh "blank" server installation.
129+
After that access your box using a SSH client, like PuTTY.
130+
131+
---
132+
133+
## How to install
134+
135+
####You must be logged in as root to run this installation.
136+
137+
138+
---
139+
140+
### Ubuntu 15.10, 16.04 & 16.10 || Debian 8
141+
142+
**Run the following command to grab our latest stable release ...**
143+
```
144+
apt-get -yqq update; apt-get -yqq upgrade; apt-get -yqq install git lsb-release; \
145+
git clone --recursive https://github.com/QuickBox/QuickBox /etc/QuickBox &&
146+
bash /etc/QuickBox/setup/quickbox-setup
147+
```
148+
149+
150+
##Want to run in development mode?
151+
152+
**Run the following command to grab current development repos ...**
153+
```
154+
mkdir /install/ && touch /install/.developer.lock \
155+
apt-get -yqq update; apt-get -yqq upgrade; apt-get -yqq install git lsb-release; \
156+
git clone --recursive --branch "development" https://github.com/QuickBox/QuickBox /etc/QuickBox &&
157+
bash /etc/QuickBox/setup/quickbox-setup
158+
```
159+
160+
##Already have QuickBox installed and want to switch over to development?
161+
162+
**EASY! Run the following command to grab current development repos ...**
163+
```
164+
mkdir /install/ && touch /install/.developer.lock \
165+
sudo box upgrade
166+
```
167+
168+
169+
---
170+
171+
172+
## Commands
173+
After installing you will have access to the following commands to be used directly in terminal
174+
175+
* __createSeedboxUser__ - creates a shelled seedbox user
176+
* __deleteSeedboxUser__ - deletes a created seedbox user and their directories
177+
<sup>**This is permanent, current data will be deleted - you can create them again at any time**</sup>
178+
* __changeUserpass__ - change users SSH/FTP/deluge/ruTorrent password
179+
* __setdisk__ - set your disk quota for any given user
180+
* __showspace__ - shows amount of space used by each user
181+
* __reload__ - restarts your seedbox services, i.e; rtorrent & irssi
182+
* __upgradeBTSync__ - upgrades btsync when new version is available
183+
* __upgradePlex__ - upgrades Plex when new version is available
184+
* __removepackage-cron__ - upgrades your system to make use of systemd
185+
<sup> + (must be on Ubuntu 15.10+ or Debian 8)</sup>
186+
* __clean_mem__ - flushes servers physical memory cache (helps avoid swap overflow)
187+
188+
189+
<br/>
190+
191+
---
192+
## QuickBox Repo Structure
193+
The following is the Repo structure of the current QuickBox EcoSystem. Any pull requests must be done within the repo you aim to add functionality and address any issues found.
194+
195+
QuickBox is divided into it's relevant parts that aim to make the update process as simple as possible on a rolling update fashion. This is so we can continually pull fresh commits/updates as they are released within the master branch of each designated zone. Sounds technical? It's actually simple... it works by cloning certain parts of QuickBox into relevant pieces on your server for ease of use and updates.
196+
197+
#### Here are the Repos & examples:
198+
199+
* [quickbox_setup](https://github.com/QuickBox/quickbox_setup) - this is the repo used for the initial setup of QuickBox on the users server. This can be installed by doing the following:
200+
```
201+
git clone https://github.com/QuickBox/quickbox_setup /etc/QuickBox/setup
202+
cd /etc/QuickBox/setup
203+
bash quickbox-setup
204+
```
205+
206+
* [quickbox_rutorrent](https://github.com/QuickBox/quickbox_rutorrent) - this is the repo used for ruTorrent. All ruTorrent relevant plugins and theme adjustments, fixes, additions and extra enhancements will be included here.
207+
Much like the quickbox_setup repo, the script will be pulled via the following:
208+
```
209+
git clone https://github.com/QuickBox/quickbox_rutorrent /etc/QuickBox/rutorrent
210+
```
211+
This is handled during the initial install with the quickbox_setup repo. The quickbox_rutorrent directory is then copied over to your /srv/ directory where it maintains it's git-like qualities for easy updating later on.
212+
213+
* [quickbox_dashboard](https://github.com/QuickBox/quickbox_dashboard) - this is the repo used for the QuickBox UI. All QuickBox Dashboard relevant widgets and theme adjustments, fixes, additions, extra enhancements and **future language files** will be included here.
214+
Much like the other repo's, the script will be pulled via the following as an example:
215+
```
216+
git clone https://github.com/QuickBox/quickbox_dashboard /etc/QuickBox/dashboard
217+
cd /etc/QuickBox/dashboard
218+
mkdir -p /srv/rutorrent/home
219+
cp -r home/. /srv/rutorrent/home
220+
```
221+
<sup>Again, this is just an excerpt and this function is handled by the script. Just as with any of the other features, navigate to ``/srv/rutorrent/home`` and run ``git pull`` to push updates to your server.</sup>
222+
223+
* [quickbox_packages](https://github.com/QuickBox/quickbox_packages) - this is the repo used for the installers and uninstallers. All needed files/commands for packages installers/removers as well as plugin installers/removers will be included here.
224+
Much like the other repo, the script will be pulled via the following:
225+
```
226+
git clone https://github.com/QuickBox/quickbox_packages /etc/QuickBox/packages
227+
cd /etc/QuickBox/packages
228+
cp -r packages/. /usr/local/bin/
229+
```
230+
<sup>Again, this is just an excerpt and this function is handled by the script. Just as with any of the other features, navigate to ``/usr/local/bin/quickbox`` and run ``git pull`` to push updates to your server.</sup>
231+
232+
* [club-QuickBox](https://github.com/QuickBox/club-QuickBox) - this is the custom ruTorrent theme created and designed by QuickBox. Any adjustments you would like to push can be made here. Updating the template... again, as simple as ``git pull`` from within ``/srv/rutorrent/plugins/theme/themes/club-QuickBox``. The theme is independent of the update for the rutorrent directory which handles plugins etc.

dashboard/.gitignore

+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# Windows image file caches
2+
Thumbs.db
3+
ehthumbs.db
4+
5+
# Folder config file
6+
Desktop.ini
7+
8+
# Recycle Bin used on file shares
9+
$RECYCLE.BIN/
10+
11+
# Windows Installer files
12+
*.cab
13+
*.msi
14+
*.msm
15+
*.msp
16+
17+
# Windows shortcuts
18+
*.lnk
19+
20+
# =========================
21+
# Operating System Files
22+
# =========================
23+
24+
# OSX
25+
# =========================
26+
27+
.DS_Store
28+
.AppleDouble
29+
.LSOverride
30+
31+
# Thumbnails
32+
._*
33+
34+
# Files that might appear in the root of a volume
35+
.DocumentRevisions-V100
36+
.fseventsd
37+
.Spotlight-V100
38+
.TemporaryItems
39+
.Trashes
40+
.VolumeIcon.icns
41+
42+
# Directories potentially created on remote AFP share
43+
.AppleDB
44+
.AppleDesktop
45+
Network Trash Folder
46+
Temporary Items
47+
.apdisk

dashboard/.htaccess

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
RewriteEngine On
2+
RewriteCond %{HTTPS} !=on
3+
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

dashboard/custom/.gitignore

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Ignore everything in this directory
2+
*
3+
# Except this file
4+
!.gitignore
5+
#!custom.menu.php
6+
#!custom.css
7+
#!url.override.php

dashboard/db/.gitignore

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Ignore everything in this directory
2+
*
3+
# Except this file
4+
!.gitignore
5+
!branding-l.php
6+
!branding-m.php
7+
#!domain.list
8+
!.defaulted.lock
9+
#!interface.txt

dashboard/db/branding-l.php

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<a href="#"><img src="img/logo-light.png" alt="QuickBox Seedbox" class="logo-image" height="50" /></a>

dashboard/db/branding-m.php

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<ul class="dropdown-menu pull-right">
2+
<li><span style="margin-top:5x"></span></li>
3+
<li><a href="https://plaza.quickbox.io/categories" target="_blank" alt="View all QuickBox Community Categories"><i class="fa fa-fort-awesome" style="color:#e74c3c"></i> Plaza</a></li>
4+
<li><a href="//quickbox.io/faq" target="_blank" alt="QuickBox FAQs"><i class="fa fa-question" style="color: #25aae2"></i> FAQs</a></li>
5+
<li><a href="//quickbox.io/wiki" target="_blank" alt="QuickBox Wiki - How-to's, Tips and Tricks"><i class="fa fa-wikipedia-w" style="color:#6c9"></i> Wiki</a></li>
6+
<li><a href="//quickbox.io/marketplace/" target="_blank" alt="QuickBox Marketplace"><i class="fa fa-shopping-cart" style="color: #f1c40f"></i> <?php echo T('MARKETPLACE'); ?></a></li>
7+
<li><span style="margin-top:5x"></span></li>
8+
<li style="border-top: 1px solid #444"><a href="https://plaza.quickbox.io/c/quickbox-support" target="_blank"><i class="fa fa-warning text-warning"></i> <?php echo T('ISSUE_REPORT'); ?></a></li>
9+
</ul>

dashboard/fileshare/.htaccess

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Satisfy Any

dashboard/fileshare/share.php

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
<?php
2+
if(!isset($_GET['uh'])) {die('Invalid link');}
3+
$_SERVER['REMOTE_USER'] = base64_decode($_GET['uh']);
4+
require_once( dirname(__FILE__)."/../../php/util.php" );
5+
6+
//if(getConfFile('config.php') === FALSE) {die('No such file');}
7+
echo getConfFile();
8+
require_once( dirname(__FILE__)."/../filemanager/flm.class.php" );
9+
include( dirname(__FILE__).'/share.class.php');
10+
11+
$f = new FSHARE();
12+
13+
if(!isset($_GET['s']) || !isset($f->data[$_GET['s']]) || ($f->data[$_GET['s']]['expire'] < time())) {die('No such file or it expired');}
14+
15+
function authenticate() {
16+
header('WWW-Authenticate: Basic realm="LEAVE USERNAME EMPTY!! Password only!"');
17+
header('HTTP/1.0 401 Unauthorized');
18+
echo "Not permitted\n";
19+
exit;
20+
}
21+
22+
23+
if (!isset($_SERVER['PHP_AUTH_USER']) || ($_SERVER['PHP_AUTH_PW'] != $f->data[$_GET['s']]['password'])) {authenticate();} else {
24+
25+
26+
27+
$f->workdir = '';
28+
29+
$f->send_file($f->data[$_GET['s']]['file']);
30+
31+
}
32+
?>

dashboard/img/brands/btsync.png

14.1 KB
Loading

dashboard/img/brands/couchpotato.png

10.5 KB
Loading

dashboard/img/brands/csf.png

68.5 KB
Loading

dashboard/img/brands/deluge.png

14.6 KB
Loading

dashboard/img/brands/emby.png

17.2 KB
Loading

dashboard/img/brands/jackett.png

21.7 KB
Loading

dashboard/img/brands/nextcloud.png

21.2 KB
Loading

dashboard/img/brands/nzbhydra.png

5.8 KB
Loading

dashboard/img/brands/plex.png

26.4 KB
Loading

dashboard/img/brands/plexpy.png

9.76 KB
Loading
5.56 KB
Loading

dashboard/img/brands/pyload.png

22.2 KB
Loading

dashboard/img/brands/quickbox.png

1.67 KB
Loading

dashboard/img/brands/rapidleech.png

20.1 KB
Loading

dashboard/img/brands/rtorrent.png

20.2 KB
Loading

dashboard/img/brands/sabnzbd.png

23.9 KB
Loading

dashboard/img/brands/sickrage.png

34.1 KB
Loading

dashboard/img/brands/sonarr.png

16 KB
Loading

dashboard/img/brands/subsonic.png

26.2 KB
Loading

dashboard/img/brands/syncthing.png

21.6 KB
Loading

dashboard/img/brands/znc.png

33 KB
Loading
5.15 KB
Loading
16.6 KB
Loading
3.13 KB
Loading
+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<browserconfig>
3+
<msapplication>
4+
<tile>
5+
<square150x150logo src="/mstile-150x150.png"/>
6+
<TileColor>#222222</TileColor>
7+
</tile>
8+
</msapplication>
9+
</browserconfig>
775 Bytes
Loading
1.05 KB
Loading

dashboard/img/favicon/favicon.ico

14.7 KB
Binary file not shown.

dashboard/img/favicon/manifest.json

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{
2+
"name": "QuickBox",
3+
"icons": [
4+
{
5+
"src": "/android-chrome-192x192.png",
6+
"sizes": "192x192",
7+
"type": "image/png"
8+
},
9+
{
10+
"src": "/android-chrome-512x512.png",
11+
"sizes": "512x512",
12+
"type": "image/png"
13+
}
14+
],
15+
"theme_color": "#ffffff",
16+
"background_color": "#ffffff",
17+
"display": "standalone"
18+
}
2.63 KB
Loading

0 commit comments

Comments
 (0)