Please use Discord for all community functions, and GitHub discussions for feature requests and to raise issues.
Swizzin is a light, modular seedbox solution that can be installed on Debian 10/11/12 or Ubuntu 20.04/22.04/24.04. The QuickBox package repo has been ported over for your installing pleasure, including the panel -- if you so choose!
Box has been revamped to reduce and consolidate the amount of commands you need to remember to manage your seedbox. More on this below. In addition to that, additional add-on packages can be installed during installation. No need to wait until the installer finishes! Now with unattended installs!
You can either use the quick installation method (recommended) or you can wile out with installations options using the advanced setup.
Just paste this in your terminal as root and go! This will ask you all the necessary questions to get you set up. Use your arrow keys, tab (to go to next field), space (to select) and enter (to confirm) to navigate the interactive boxes.
You can see what that looks like here:
Using wget
:
bash <(wget -qO - s5n.sh) && . ~/.bashrc
Using curl
:
bash <(curl -sL s5n.sh) && . ~/.bashrc
Either login directly as root or elevate to root with proper login settings with either su -
or sudo -i
.
Don't use su
or something like sudo -s
(which is the default under Ubuntu when using sudo). You won't be fully logged in as root and certain environment variables not having the full perspective of root will cause failures.
Since the inclusion of mandatory cracklib checks, we've seen an uptick in users having an issue passing the cracklib check as the installer can't seem to find the cracklib-check
binary despite it being installed. This is because /sbin
and derivative paths have not been properly set due to your chosen method of escalation. If you have troubles passing cracklib, then there's a very good chance you escalated to root with su
instead of su -
. su
simply changes you to root user while su -
goes through the entire login process and correctly resets all environmental variables as if you had logged in directly as root. Please always use su -
when interacting with swizzin if this is your chosen method of privilege escalation.
More info here
This feature is fresh AF! If you'd like to help us improve this, please chat with us in the Discord
There's a whole bunch of options for the setup.sh to achieve custom/unattended setups, which you can read all about in this article. Here are a couple of examples what you can do with it.
Want to use your local swizzin clone instead of cloning upstream? Use the --local
flag!
git clone https://github.com/<your-fork>/swizzin.git
sudo bash swizzin/setup.sh --local
Want to specify the user and their password? And the packages to have installed? Use the --user
and --pass
flags, and add packages as arguments!
bash <(curl -sL git.io/swizzin) --unattend qbittorrent nginx panel --user tester --pass test1234
Want something a bit more complex, specify package install variables, don't want a super long command to type, and store the configuration? Use the --env
flag with your custom env
file! (see the unattended.example.env file for an example)
bash <(curl -sL git.io/swizzin) --env /path/to/your/env/file/here.env
Long-term support branches only:
- Debian 10/11/12
- Ubuntu 20.04/22.04/24.04
If you have any questions, please read the documentation first. If you still have questions or would like to bounce some ideas off other humans, feel free to join us in discord.
Do not use GitHub issues for technical support or feature requests. GitHub issues are only to be used to report bugs and other issues with the project
Box is a great tool, but it didn't quite do everything I wanted it to. That's why I've upgraded it and added a few commands intended to make your life a bit easier.
Box functions:
- list - list all available packages in the repo and a description, if available.
- Usage:
box list
- Usage:
- install - installs a package from the script repository. Accepts one or more package.
- Usage:
box install sickrage couchpotato plex
- Usage:
- remove - removes an installed package. Accepts one or more package
- Usage:
box remove sonarr radarr
- Usage:
- adduser - adds a new user. Define a single user with the command.
- Usage:
box adduser freeloadingfriend
- Usage:
- deluser - deletes the specified user. Define a single user with the command.
- Usage:
box deluser exgirlfriend
- Usage:
- chpasswd - changes the password for a user. Define a single user with the command.
- Usage:
box chpasswd forgetfulfriend
- Usage:
- update - use this command to update your box with the newest changes from github
- Usage:
box update
- Usage:
- upgrade - upgrade the given package (available scripts are in scripts/upgrade)
- Usage:
box upgrade nginx
- Usage:
- rmgrsec - removes grsec kernels installed by ovh
- Usage:
box rmgrsec
- Usage:
- rtx - starts the r(u)Torrent extras management interface (
rtx
alone will also do)- Usage:
box rtx
orrtx
- Usage:
We welcome any bug fixes, improvements or new applications submitted through Pull Requests. We have a short Contributing guideline that we'd like you to consult before so that we can keep our code clean and organized and keep your submissions supported properly.
We're more than happy to talk about any changes to our codebase on the Discord server which you can find an invite link to on the top of this page.
Donations are accepted through the GitHub Sponsors program. If you are a vendor who profits off the project by deploying the project in a commercial setting, please consider sponsoring the project. Contributions from single users are also greatly appreciated!
If you don't have spare funds, then you might consider donating the idle cycles on your CPU to my mining pool. Setting it up is easy and will cost you nothing. Simply issue the command:
box install xmrig
The amount you choose to donate to me is up to you, though the minimum is 1.0. If you need help in setting up your own wallet, check out the Monero Project.