• Stars
    star
    1,040
  • Rank 44,297 (Top 0.9 %)
  • Language
    Shell
  • License
    Apache License 2.0
  • Created almost 5 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A bash script which builds a fully static qbittorent-nox binary with current dependencies to use on any Linux OS

qbittorrent-nox-static

Codacy Badge CodeFactor matrix multi build and release Debian Based CI

Linked Github repositories

This build script uses and depends on some related repositories

Summary

The qbittorrent-nox-static project is a bash build script that compiles a static qbittorrent-nox binary using the latest available dependencies from their source. These statically linked binaries can run on any matching CPU architecture and are not OS specific. This means you can run a x86_64 Alpine edge build on any Linux based OS of like CentOS | Fedora | OpenSuse | Debian Stretch | Ubuntu Xenial and more.

Documentation

🔵 Visit the documentation for in depth information on using this project and script usage.

WSL2

🟢 These static builds can be used on WSL2 and accessed via localhost:8080 using the download instructions below

Install the latest release

🔵 The latest release page for the most current build

Or uses these commands for your arch:

x86

mkdir -p ~/bin && source ~/.profile
wget -qO ~/bin/qbittorrent-nox https://github.com/userdocs/qbittorrent-nox-static/releases/latest/download/x86-qbittorrent-nox
chmod 700 ~/bin/qbittorrent-nox

x86_64

mkdir -p ~/bin && source ~/.profile
wget -qO ~/bin/qbittorrent-nox https://github.com/userdocs/qbittorrent-nox-static/releases/latest/download/x86_64-qbittorrent-nox
chmod 700 ~/bin/qbittorrent-nox

armhf (armv6)

mkdir -p ~/bin && source ~/.profile
wget -qO ~/bin/qbittorrent-nox https://github.com/userdocs/qbittorrent-nox-static/releases/latest/download/armhf-qbittorrent-nox
chmod 700 ~/bin/qbittorrent-nox

armv7

mkdir -p ~/bin && source ~/.profile
wget -qO ~/bin/qbittorrent-nox https://github.com/userdocs/qbittorrent-nox-static/releases/latest/download/armv7-qbittorrent-nox
chmod 700 ~/bin/qbittorrent-nox

aarch64

mkdir -p ~/bin && source ~/.profile
wget -qO ~/bin/qbittorrent-nox https://github.com/userdocs/qbittorrent-nox-static/releases/latest/download/aarch64-qbittorrent-nox
chmod 700 ~/bin/qbittorrent-nox

Libtorrent versions

🟠 Libtorrent v1.2 is currently the main branch supported by qBittorrent since a change with the release of 4.4.5

Libtorrent v2.0 builds are still released as latest releases as it it does not really matter to this project as it always builds and releases for both v1.2 and v2.0. See the next section for how to get the version you need via the latest release URL.

You can view the current latest and pre releases and tags here.

🔵 https://github.com/userdocs/qbittorrent-nox-static/releases

Getting the Version you want via the latest release URL

Since this project builds and releases both v1.2 and v2.0 builds simultaneously we can use the commands below to always get the latest version of the related pre release via the latest release dependency-version.json asset.

Using this method it does not matter which version is the latest release or pre release as the commands will provide you the version specific info you need for the twinned latest/pre releases.

For Libtorrent v1.2

jq -r '. | "release-\(.qbittorrent)_v\(.libtorrent_1_2)"' < <(curl -sL https://github.com/userdocs/qbittorrent-nox-static/releases/latest/download/dependency-version.json)

For Libtorrent v2.0

jq -r '. | "release-\(.qbittorrent)_v\(.libtorrent_2_0)"' < <(curl -sL https://github.com/userdocs/qbittorrent-nox-static/releases/latest/download/dependency-version.json)

Revisions

The build has 5 main dependencies tracked that will trigger a rebuild on an update being available.

  • qBittorrent
  • Libtorrent
  • Qt
  • Boost
  • Openssl

When a new build is triggered for updating qBittorrent or Libtorrent a new release will be generated as the release tags will be updated.

Since I do not append revision info to tags Qt - Boost - Openssl builds will only update the existing release assets.

To track these revisions you can use this command. All new releases start at a revision of 0 and increment by 1 per revised build.

jq -r '.revision' < <(curl -sL "https://github.com/userdocs/qbittorrent-nox-static/releases/latest/download/dependency-version.json")

Dependency json

From release-4.4.5 each release contains a dependency-version.json file that provide some key version information for that is shared across the latest release and the twinned pre release. This helps to overcome some limitations of the API for consistently and directly accessing this information.

Downloading the file like this:

curl -sL https://github.com/userdocs/qbittorrent-nox-static/releases/latest/download/dependency-version.json

Will output a result like this:

{
	"qbittorrent": "4.4.5",
	"qt5": "5.15.7",
	"qt6": "6.4.0",
	"libtorrent_1_2": "1.2.18",
	"libtorrent_2_0": "2.0.8",
	"boost": "1.80.0",
	"openssl": "3.0.7",
	"revision": "1"
}

As demonstrated above by using the latest release URL we can construct the tag of the twinned pre release and therefore the asset URL with no margin for error.

Build table - Dependencies - arch - OS - build tools

Deps x86 x86_64 aarch64 armv7 armhf (v6) Debian based Alpine make cmake b2 qmake
glibc
zlib
iconv
icu
openssl
boost
libtorrent
qt5base
qt5tools
double conversion
qt6base
qt6tools
qbittorrent

More Repositories

1

iperf3-static

A static build of iperf3 to do network testing on remote servers.
Batchfile
82
star
2

LFTP4WIN

lftp for Windows - Windows task scheduler automation with push notifications via WinSCP custom commands.
Batchfile
76
star
3

LFTP4WIN-CORE

LFTP4WIN skeleton template applied to a portable Cygwin installation using the LFTP4WIN installer.
Shell
16
star
4

qbt-musl-cross-make

Custom musl crossmake builds for qbittorrent nox static build targets
Makefile
11
star
5

python-libtorrent-binding

A build script for python-libtorrent bindings using current dependencies with minimal system footprint
Shell
11
star
6

lftp-static

a build tool to create a static lftp binary
10
star
7

qbittorrent-nox-static-legacy

Shell
9
star
8

mtr-static

An Apline Linux static build of mtr
5
star
9

qbittorrent-nox-static-embedded

An experiment
Shell
5
star
10

qbittorrent-nox-static-test

Shell
3
star
11

btop-crossbuilds

3
star
12

libtorrent-crossbuild

2
star
13

docusaurus-vscode-to-prism

A vscode theme converter
JavaScript
2
star
14

ninja-build-static

Musl Cross Build toolchain builds of ninja build
2
star
15

musl-cross-make-old

Makefile
2
star
16

openssl-crossbuild

2
star
17

qbt-workflow-files

2
star
18

jq-crossbuild

Dockerfile
2
star
19

deletarr

An arr integration script to remove download client files when removed from the arr.
Shell
2
star
20

boost

A mirror for boost releases https://archives.boost.io/release/
2
star
21

dcb

dcb - Debian Crossbuild Docker
Dockerfile
2
star
22

cmake-crossbuild

test
2
star
23

gh-cli-workflow-reruns

Use gh cli to trigger a rerun of a local workflow on failure with some helpful outputs.
1
star
24

install

Application installation.
Shell
1
star
25

zlib-ng-crossbuild

1
star
26

qbittorrent-crossbuild

1
star
27

qbt-cmake-ninja-crossbuilds

1
star
28

autobrr-build

a docker thing
Shell
1
star
29

qbt-ninja-build

1
star
30

qbittorrent-nox-crossbuild

1
star
31

dynadocs

An dynamic markdown documentation page rendered in the browser.
JavaScript
1
star