DirectConnect

Open-source software

DirectConnect is built with open-source software. Each component keeps its own licence, and our terms don’t limit your rights under any of them.

Main components

ComponentUsed inLicence
Dokany 2.3.1.1000 user-mode library, changed by usWindowsLGPL-3.0-or-later
nfsserve 0.11.0, changed by usMacBSD-3-Clause
GTK 4.16 and libadwaita 1.6LinuxLGPL-2.0-or-later and LGPL-2.1-or-later
libjpeg-turbo and the HarfBuzz subset libraryLinuxIJG, BSD-3-Clause and Zlib; MIT
266 Rust crates, listed belowMac, Windows and LinuxPermissive licences, mostly MIT and Apache-2.0

Our changes to Dokany

We changed one function in the Dokany user-mode library (dokan2.dll) so its first read from the driver is 32 KiB. The driver itself isn’t changed. The Windows app ships the complete source for the library it uses, with our patch and build script, in its runtime\dokany folder.

You can change the library, rebuild it and replace dokan2.dll with your own version. The README.md in that folder has the steps.

Licence texts in the apps

Each app includes the full licence and notice texts of everything it ships, in a file named THIRD-PARTY-NOTICES.txt:

  • Mac: inside the app, in Contents/Resources. About DirectConnect links to this page.
  • Windows: next to the DirectConnect background service.
  • Linux: inside the AppImage, in usr/share/doc/directconnect. About DirectConnect lists it under Legal.

Get the source code

Each component’s source is at the link above or in the list below. For the exact source of an LGPL library in a DirectConnect release, including GTK and libadwaita in the Linux AppImage, email [email protected] with the release number. We send it at no charge beyond the cost of providing it. This offer lasts at least 3 years after we last ship that release.

Rust crates

Where a crate offers a choice of licences, we use it under the first one we can meet, usually MIT. Licences by number of crates:

  • MIT OR Apache-2.0: 126
  • MIT: 56
  • Apache-2.0 OR MIT: 21
  • Unicode-3.0: 18
  • Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT: 12
  • Unlicense OR MIT: 5
  • BSD-3-Clause: 5
  • ISC: 4
  • BSD-3-Clause OR MIT OR Apache-2.0: 2
  • Apache-2.0 WITH LLVM-exception: 2
  • CDLA-Permissive-2.0: 2
  • BSD-2-Clause OR Apache-2.0 OR MIT: 2
  • 0BSD OR MIT OR Apache-2.0: 1
  • MIT OR Apache-2.0 OR BSD-1-Clause: 1
  • MIT OR BSD-3-Clause: 1
  • MIT OR Zlib OR Apache-2.0: 1
  • CC0-1.0: 1
  • MIT OR Apache-2.0 OR LGPL-2.1-or-later: 1
  • Apache-2.0 AND ISC: 1
  • Apache-2.0 OR ISC OR MIT: 1
  • Zlib OR Apache-2.0 OR MIT: 1
  • (MIT OR Apache-2.0) AND Unicode-3.0: 1
  • Zlib: 1
CrateVersionLicence
adler22.0.10BSD OR MIT OR Apache-2.0
aead0.5.2MIT OR Apache-2.0
ambient-authority0.0.2Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
anyhow1.0.104MIT OR Apache-2.0
async-trait0.1.92MIT OR Apache-2.0
autocfg1.5.1Apache-2.0 OR MIT
base640.22.1MIT OR Apache-2.0
base64ct1.8.3Apache-2.0 OR MIT
bincode1.3.3MIT
bitflags2.13.2MIT OR Apache-2.0
block-buffer0.10.4MIT OR Apache-2.0
byteorder1.5.0Unlicense OR MIT
bytes1.12.1MIT
cairo-rs0.22.9MIT
cairo-sys-rs0.22.9MIT
cap-fs-ext4.0.3Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
cap-primitives4.0.3Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
cap-std4.0.3Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
cc1.4.2MIT OR Apache-2.0
cc1.6.0MIT OR Apache-2.0
cfg_aliases0.2.2MIT
cfg-expr0.20.9MIT OR Apache-2.0
cfg-if1.0.5MIT OR Apache-2.0
chacha200.9.1Apache-2.0 OR MIT
chacha20poly13050.10.1Apache-2.0 OR MIT
cipher0.4.4MIT OR Apache-2.0
const-oid0.9.6Apache-2.0 OR MIT
cpufeatures0.2.17MIT OR Apache-2.0
crc32fast1.5.2MIT OR Apache-2.0
crypto-common0.1.7MIT OR Apache-2.0
curve25519-dalek4.1.3BSD-3-Clause
curve25519-dalek-derive0.1.1MIT OR Apache-2.0
der0.7.10Apache-2.0 OR MIT
digest0.10.7MIT OR Apache-2.0
displaydoc0.2.7MIT OR Apache-2.0
ed255192.2.3Apache-2.0 OR MIT
ed25519-dalek2.2.0BSD-3-Clause
equivalent1.0.2Apache-2.0 OR MIT
errno0.3.14MIT OR Apache-2.0
fastrand2.5.0Apache-2.0 OR MIT
fiat-crypto0.2.9MIT OR Apache-2.0 OR BSD-1-Clause
field-offset0.3.6MIT OR Apache-2.0
filetime0.2.29MIT OR Apache-2.0
find-msvc-tools0.1.10MIT OR Apache-2.0
find-msvc-tools0.1.14MIT OR Apache-2.0
flate21.1.10MIT OR Apache-2.0
flume0.12.0Apache-2.0 OR MIT
form_urlencoded1.2.2MIT OR Apache-2.0
fs-set-times0.20.3Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
fsevent-sys4.1.0MIT
fuser0.18.0MIT
futures-channel0.3.34MIT OR Apache-2.0
futures-core0.3.34MIT OR Apache-2.0
futures-executor0.3.34MIT OR Apache-2.0
futures-io0.3.34MIT OR Apache-2.0
futures-macro0.3.34MIT OR Apache-2.0
futures-sink0.3.34MIT OR Apache-2.0
futures-task0.3.34MIT OR Apache-2.0
futures-util0.3.34MIT OR Apache-2.0
gdk-pixbuf0.22.0MIT
gdk-pixbuf-sys0.22.9MIT
gdk40.11.5MIT
gdk4-sys0.11.5MIT
generic-array0.14.7MIT
getrandom0.2.17MIT OR Apache-2.0
getrandom0.4.3MIT OR Apache-2.0
gio0.22.10MIT
gio-sys0.22.9MIT
glib0.22.10MIT
glib-macros0.22.9MIT
glib-sys0.22.9MIT
gobject-sys0.22.9MIT
graphene-rs0.22.8MIT
graphene-sys0.22.9MIT
gsk40.11.5MIT
gsk4-sys0.11.5MIT
gtk40.11.5MIT
gtk4-macros0.11.5MIT
gtk4-sys0.11.5MIT
hashbrown0.17.1MIT OR Apache-2.0
heck0.5.0MIT OR Apache-2.0
hkdf0.12.4MIT OR Apache-2.0
hmac0.12.1MIT OR Apache-2.0
icu_collections2.3.0Unicode-3.0
icu_locale_core2.3.0Unicode-3.0
icu_normalizer2.3.0Unicode-3.0
icu_normalizer_data2.3.0Unicode-3.0
icu_properties2.3.0Unicode-3.0
icu_properties_data2.3.0Unicode-3.0
icu_provider2.3.1Unicode-3.0
idna1.1.0MIT OR Apache-2.0
idna_adapter1.2.2Apache-2.0 OR MIT
if-addrs0.15.0MIT OR BSD-3-Clause
indexmap2.14.2Apache-2.0 OR MIT
inotify0.11.5ISC
inotify-sys0.1.8ISC
inout0.1.4MIT OR Apache-2.0
io-extras0.19.0Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
io-lifetimes2.0.4Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
io-lifetimes3.0.1Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
ipnet2.12.2MIT OR Apache-2.0
itoa1.0.18MIT OR Apache-2.0
kqueue1.2.1MIT
kqueue-sys1.1.2MIT
lazy_static1.5.0MIT OR Apache-2.0
libadwaita0.9.2MIT
libadwaita-sys0.9.2MIT
libc0.2.189MIT OR Apache-2.0
libmimalloc-sys0.1.49MIT
linux-raw-sys0.12.1Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
litemap0.8.3Unicode-3.0
lock_api0.4.14MIT OR Apache-2.0
log0.4.34MIT OR Apache-2.0
maybe-owned0.3.4MIT OR Apache-2.0
mdns-sd0.21.4Apache-2.0 OR MIT
memchr2.8.3Unlicense OR MIT
memoffset0.9.1MIT
mimalloc0.1.52MIT
miniz_oxide0.9.1MIT OR Zlib OR Apache-2.0
mio1.2.3MIT
nfsserve0.11.0BSD-3-Clause
nix0.31.3MIT
notify8.2.0CC0-1.0
notify-types2.1.0MIT OR Apache-2.0
nu-ansi-term0.50.3MIT
num_enum0.7.6BSD-3-Clause OR MIT OR Apache-2.0
num_enum_derive0.7.6BSD-3-Clause OR MIT OR Apache-2.0
num-derive0.4.2MIT OR Apache-2.0
num-traits0.2.19MIT OR Apache-2.0
once_cell1.21.4MIT OR Apache-2.0
opaque-debug0.3.1MIT OR Apache-2.0
page_size0.6.0MIT OR Apache-2.0
pango0.22.9MIT
pango-sys0.22.9MIT
parking_lot0.12.5MIT OR Apache-2.0
parking_lot_core0.9.12MIT OR Apache-2.0
percent-encoding2.3.2MIT OR Apache-2.0
pin-project-lite0.2.17Apache-2.0 OR MIT
pkcs80.10.2Apache-2.0 OR MIT
pkg-config0.3.34MIT OR Apache-2.0
poly13050.8.0Apache-2.0 OR MIT
potential_utf0.1.6Unicode-3.0
ppv-lite860.2.21MIT OR Apache-2.0
proc-macro-crate3.5.0MIT OR Apache-2.0
proc-macro21.0.107MIT OR Apache-2.0
quote1.0.47MIT OR Apache-2.0
r-efi6.0.0MIT OR Apache-2.0 OR LGPL-2.1-or-later
rand0.8.8MIT OR Apache-2.0
rand_chacha0.3.1MIT OR Apache-2.0
rand_core0.6.4MIT OR Apache-2.0
redox_syscall0.5.18MIT
ref-cast1.0.27MIT OR Apache-2.0
ref-cast-impl1.0.27MIT OR Apache-2.0
ring0.17.14Apache-2.0 AND ISC
rustc_version0.4.1MIT OR Apache-2.0
rustix1.1.5Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
rustix-linux-procfs0.1.1Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
rustls0.23.45Apache-2.0 OR ISC OR MIT
rustls-pki-types1.15.1MIT OR Apache-2.0
rustls-webpki0.103.15ISC
rustversion1.0.23MIT OR Apache-2.0
same-file1.0.6Unlicense OR MIT
scopeguard1.2.0MIT OR Apache-2.0
semver1.0.28MIT OR Apache-2.0
serde1.0.229MIT OR Apache-2.0
serde_bytes0.11.19MIT OR Apache-2.0
serde_core1.0.229MIT OR Apache-2.0
serde_derive1.0.229MIT OR Apache-2.0
serde_json1.0.151MIT OR Apache-2.0
serde_spanned1.1.1MIT OR Apache-2.0
sha20.10.9MIT OR Apache-2.0
sha2-asm0.6.4MIT
sharded-slab0.1.7MIT
shlex2.0.1MIT OR Apache-2.0
signal-hook-registry1.4.8MIT OR Apache-2.0
signature2.2.0Apache-2.0 OR MIT
simd-adler320.3.10MIT
slab0.4.12MIT
smallvec1.16.2MIT OR Apache-2.0
socket-pktinfo0.4.1MIT
socket20.6.5MIT OR Apache-2.0
spin0.9.9MIT
spki0.7.3Apache-2.0 OR MIT
stable_deref_trait1.2.1MIT OR Apache-2.0
subtle2.6.1BSD-3-Clause
syn2.0.119MIT OR Apache-2.0
syn3.0.6MIT OR Apache-2.0
synstructure0.14.0MIT
system-deps7.0.8MIT OR Apache-2.0
system-deps9.0.0MIT OR Apache-2.0
target-lexicon0.13.5Apache-2.0 WITH LLVM-exception
tempfile3.27.0MIT OR Apache-2.0
thread_local1.1.10MIT OR Apache-2.0
tinystr0.8.4Unicode-3.0
tinyvec1.13.3Zlib OR Apache-2.0 OR MIT
tokio1.53.1MIT
tokio-macros2.7.2MIT
toml1.1.6+spec-1.1.0MIT OR Apache-2.0
toml_datetime1.1.1+spec-1.1.0MIT OR Apache-2.0
toml_edit0.25.15+spec-1.1.0MIT OR Apache-2.0
toml_parser1.1.3+spec-1.1.0MIT OR Apache-2.0
toml_writer1.1.2+spec-1.1.0MIT OR Apache-2.0
tracing0.1.44MIT
tracing-attributes0.1.31MIT
tracing-core0.1.36MIT
tracing-log0.2.0MIT
tracing-subscriber0.3.23MIT
typenum1.20.1MIT OR Apache-2.0
unicode-ident1.0.26(MIT OR Apache-2.0) AND Unicode-3.0
unicode-normalization0.1.25MIT OR Apache-2.0
universal-hash0.5.1MIT OR Apache-2.0
untrusted0.9.0ISC
ureq2.12.1MIT OR Apache-2.0
url2.5.8MIT OR Apache-2.0
utf8_iter1.0.4Apache-2.0 OR MIT
valuable0.1.1MIT
version_check0.9.5MIT OR Apache-2.0
version-compare0.2.1MIT
walkdir2.5.0Unlicense OR MIT
wasi0.11.1+wasi-snapshot-preview1Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
webpki-roots0.26.11CDLA-Permissive-2.0
webpki-roots1.0.9CDLA-Permissive-2.0
winapi0.3.9MIT OR Apache-2.0
winapi-i686-pc-windows-gnu0.4.0MIT OR Apache-2.0
winapi-util0.1.11Unlicense OR MIT
winapi-x86_64-pc-windows-gnu0.4.0MIT OR Apache-2.0
windows_aarch64_gnullvm0.52.6MIT OR Apache-2.0
windows_aarch64_gnullvm0.53.1MIT OR Apache-2.0
windows_aarch64_msvc0.52.6MIT OR Apache-2.0
windows_aarch64_msvc0.53.1MIT OR Apache-2.0
windows_i686_gnu0.52.6MIT OR Apache-2.0
windows_i686_gnu0.53.1MIT OR Apache-2.0
windows_i686_gnullvm0.52.6MIT OR Apache-2.0
windows_i686_gnullvm0.53.1MIT OR Apache-2.0
windows_i686_msvc0.52.6MIT OR Apache-2.0
windows_i686_msvc0.53.1MIT OR Apache-2.0
windows_x86_64_gnu0.52.6MIT OR Apache-2.0
windows_x86_64_gnu0.53.1MIT OR Apache-2.0
windows_x86_64_gnullvm0.52.6MIT OR Apache-2.0
windows_x86_64_gnullvm0.53.1MIT OR Apache-2.0
windows_x86_64_msvc0.52.6MIT OR Apache-2.0
windows_x86_64_msvc0.53.1MIT OR Apache-2.0
windows-link0.2.1MIT OR Apache-2.0
windows-sys0.52.0MIT OR Apache-2.0
windows-sys0.59.0MIT OR Apache-2.0
windows-sys0.60.2MIT OR Apache-2.0
windows-sys0.61.2MIT OR Apache-2.0
windows-targets0.52.6MIT OR Apache-2.0
windows-targets0.53.5MIT OR Apache-2.0
winnow1.0.4MIT
winx0.36.4Apache-2.0 WITH LLVM-exception
writeable0.6.4Unicode-3.0
x25519-dalek2.0.1BSD-3-Clause
yoke0.8.3Unicode-3.0
yoke-derive0.8.4Unicode-3.0
zerocopy0.8.59BSD-2-Clause OR Apache-2.0 OR MIT
zerocopy-derive0.8.59BSD-2-Clause OR Apache-2.0 OR MIT
zerofrom0.1.8Unicode-3.0
zerofrom-derive0.1.8Unicode-3.0
zeroize1.9.0Apache-2.0 OR MIT
zeroize_derive1.5.0Apache-2.0 OR MIT
zerotrie0.2.5Unicode-3.0
zerovec0.11.8Unicode-3.0
zerovec-derive0.11.6Unicode-3.0
zlib-rs0.6.8Zlib
zmij1.0.23MIT