Dans les outils pour lesquels je souhaite garder la propriété des données sur mes équipements, il y a le gestionnaire de mots de passes. Jusqu’à présent, j’utilisais des dérivés de keepass sur les différentes plateformes en ma possession mais franchement, la synchronisation du fichier n’est pas ce qu’il y a de plus simple. Je lorgnais depuis un certain moment du côté de bitwarden mais si le serveur est open source, il faut absolument utiliser docker et même si ça fonctionne à peu près sous SmartOS, c’est quand même un peu plus compliqué que sous linux.
Il y a par contre l’implémentation libre en rust vaultwarden. Je me suis inspiré de cet article pour l’installer mais tout est décrit dans la documentation. On va donc créer une zone OS pour accueillir le logiciel.
{
"brand": "joyent",
"image_uuid": "8adac45a-aca7-11ee-b53e-00151714048c",
"alias": "vaultwarden01",
"hostname": "vaultwarden01",
"max_physical_memory": 8192,
"quota": 20,
"dns_domain": "example.com",
"resolvers": ["192.168.1.1"],
"nics": [
{
"nic_tag": "admin",
"ips": [
"192.168.1.191/24","addrconf"
],
"ip": "192.168.1.191",
"netmask": "255.255.255.0",
"gateway": "192.168.1.1"
}
],
"customer_metadata": {
"root_authorized_keys": "ssh-ed25519 macléssh"",
"user-script" : "/usr/sbin/mdata-get root_authorized_keys > ~root/.ssh/authorized_keys ; /usr/sbin/mdata-get root_authorized_keys > ~admin/.ssh/authorized_keys; /opt/local/bin/sm-set-timezone Europe/Paris"
}
}
J’ai mis 8Go de ram parce que la compilation est gourmande mais on peut le changer plus tard. On installe les paquets nécessaires à la compilation :
[root@vaultwarden01 ~]# pkgin in git gcc13 postgresql16-client pkg-config
processing remote summary (https://pkgsrc.smartos.org/packages/SmartOS/2023Q4/x86_64/All)...
pkg_summary.xz 100% 2859KB 190.6KB/s 00:15
calculating dependencies...done.
33 packages to install:
binutils-2.41 expat-2.5.0 gcc13-13.2.0 git-2.43.0 git-base-2.43.0 git-contrib-2.43.0 git-docs-2.43.0 git-perlscripts-2.43.0 libidn-1.41 lmdb-0.9.31 lz4-1.9.4 mit-krb5-1.19.3nb1 ossp-uuid-1.6.2nb11 p5-Authen-SASL-2.1700 p5-Digest-HMAC-1.04nb13 p5-Email-Valid-1.203nb1 p5-Error-0.17029nb4 p5-GSSAPI-0.28nb15 p5-IO-CaptureOutput-1.1105nb4 p5-IO-Socket-INET6-2.73nb2
p5-IO-Socket-SSL-2.084 p5-MailTools-2.21nb4 p5-Mozilla-CA-20230821 p5-Net-DNS-1.40 p5-Net-Domain-TLD-1.75nb7 p5-Net-IP-1.26nb11 p5-Net-LibIDN-0.12nb15 p5-Net-SMTP-SSL-1.04nb7 p5-Net-SSLeay-1.92nb2 p5-Socket6-0.29nb5 p5-TimeDate-2.33nb3 pkg-config-0.29.2nb2 postgresql16-client-16.1
0 to remove, 0 to refresh, 0 to upgrade, 33 to install
330M to download, 1128M of additional disk space will be used
proceed ? [Y/n]
[1/33] binutils-2.41.tgz 100% 31MB 6.2MB/s 00:05
[2/33] expat-2.5.0.tgz 100% 462KB 462.2KB/s 00:01
[3/33] gcc13-13.2.0.tgz 100% 255MB 8.5MB/s 00:30
[4/33] git-2.43.0.tgz 100% 2904 2.8KB/s 00:00
[5/33] git-base-2.43.0.tgz 100% 22MB 7.3MB/s 00:03
[6/33] git-contrib-2.43.0.tgz 100% 22KB 21.8KB/s 00:00
[7/33] git-docs-2.43.0.tgz 100% 1133KB 1.1MB/s 00:01
[8/33] git-perlscripts-2.43.0.tgz 100% 201KB 201.4KB/s 00:00
[9/33] libidn-1.41.tgz 100% 396KB 396.2KB/s 00:01
[10/33] lmdb-0.9.31.tgz 100% 292KB 291.7KB/s 00:00
[11/33] lz4-1.9.4.tgz 100% 699KB 698.6KB/s 00:01
[12/33] mit-krb5-1.19.3nb1.tgz 100% 7831KB 7.7MB/s 00:01
[13/33] ossp-uuid-1.6.2nb11.tgz 100% 431KB 431.1KB/s 00:01
[14/33] p5-Authen-SASL-2.1700.tgz 100% 43KB 43.4KB/s 00:00
[15/33] p5-Digest-HMAC-1.04nb13.tgz 100% 12KB 11.6KB/s 00:00
[16/33] p5-Email-Valid-1.203nb1.tgz 100% 19KB 18.8KB/s 00:00
[17/33] p5-Error-0.17029nb4.tgz 100% 26KB 26.2KB/s 00:00
[18/33] p5-GSSAPI-0.28nb15.tgz 100% 157KB 157.3KB/s 00:01
[19/33] p5-IO-CaptureOutput-1.1105nb4.tgz 100% 15KB 14.8KB/s 00:00
[20/33] p5-IO-Socket-INET6-2.73nb2.tgz 100% 16KB 16.2KB/s 00:00
[21/33] p5-IO-Socket-SSL-2.084.tgz 100% 197KB 196.9KB/s 00:00
[22/33] p5-MailTools-2.21nb4.tgz 100% 81KB 80.5KB/s 00:01
[23/33] p5-Mozilla-CA-20230821.tgz 100% 132KB 132.3KB/s 00:01
[24/33] p5-Net-DNS-1.40.tgz 100% 343KB 343.4KB/s 00:00
[25/33] p5-Net-Domain-TLD-1.75nb7.tgz 100% 34KB 34.2KB/s 00:00
[26/33] p5-Net-IP-1.26nb11.tgz 100% 32KB 31.6KB/s 00:00
[27/33] p5-Net-LibIDN-0.12nb15.tgz 100% 86KB 85.8KB/s 00:00
[28/33] p5-Net-SMTP-SSL-1.04nb7.tgz 100% 8334 8.1KB/s 00:00
[29/33] p5-Net-SSLeay-1.92nb2.tgz 100% 953KB 953.1KB/s 00:01
[30/33] p5-Socket6-0.29nb5.tgz 100% 86KB 85.7KB/s 00:00
[31/33] p5-TimeDate-2.33nb3.tgz 100% 40KB 40.1KB/s 00:00
[32/33] pkg-config-0.29.2nb2.tgz 100% 319KB 319.3KB/s 00:01
[33/33] postgresql16-client-16.1.tgz 100% 8453KB 4.1MB/s 00:02
[1/33] installing p5-Socket6-0.29nb5...
[2/33] installing lmdb-0.9.31...
[3/33] installing libidn-1.41...
[4/33] installing p5-IO-Socket-INET6-2.73nb2...
[5/33] installing p5-Mozilla-CA-20230821...
[6/33] installing p5-Net-IP-1.26nb11...
[7/33] installing p5-Digest-HMAC-1.04nb13...
[8/33] installing p5-Net-SSLeay-1.92nb2...
[9/33] installing p5-Net-LibIDN-0.12nb15...
[10/33] installing mit-krb5-1.19.3nb1...
===========================================================================
$NetBSD: MESSAGE,v 1.3 2020/10/05 23:22:04 gdt Exp $
To interoperate with older kerberos realms, you may need to set
allow_weak_crypto = true
in the [libdefaults] section of your krb5.conf file
===========================================================================
[11/33] installing p5-TimeDate-2.33nb3...
[12/33] installing p5-GSSAPI-0.28nb15...
[13/33] installing p5-IO-CaptureOutput-1.1105nb4...
[14/33] installing p5-IO-Socket-SSL-2.084...
[15/33] installing p5-MailTools-2.21nb4...
[16/33] installing p5-Net-DNS-1.40...
[17/33] installing p5-Net-Domain-TLD-1.75nb7...
[18/33] installing git-base-2.43.0...
git-base-2.43.0: copying /opt/local/share/examples/git/templates/description to /opt/local/share/git-core/templates/description
git-base-2.43.0: copying /opt/local/share/examples/git/templates/hooks/applypatch-msg.sample to /opt/local/share/git-core/templates/hooks/applypatch-msg.sample
git-base-2.43.0: copying /opt/local/share/examples/git/templates/hooks/commit-msg.sample to /opt/local/share/git-core/templates/hooks/commit-msg.sample
git-base-2.43.0: copying /opt/local/share/examples/git/templates/hooks/post-update.sample to /opt/local/share/git-core/templates/hooks/post-update.sample
git-base-2.43.0: copying /opt/local/share/examples/git/templates/hooks/pre-applypatch.sample to /opt/local/share/git-core/templates/hooks/pre-applypatch.sample
git-base-2.43.0: copying /opt/local/share/examples/git/templates/hooks/pre-commit.sample to /opt/local/share/git-core/templates/hooks/pre-commit.sample
git-base-2.43.0: copying /opt/local/share/examples/git/templates/hooks/pre-rebase.sample to /opt/local/share/git-core/templates/hooks/pre-rebase.sample
git-base-2.43.0: copying /opt/local/share/examples/git/templates/hooks/prepare-commit-msg.sample to /opt/local/share/git-core/templates/hooks/prepare-commit-msg.sample
git-base-2.43.0: copying /opt/local/share/examples/git/templates/hooks/update.sample to /opt/local/share/git-core/templates/hooks/update.sample
git-base-2.43.0: copying /opt/local/share/examples/git/templates/info/exclude to /opt/local/share/git-core/templates/info/exclude
[19/33] installing p5-Authen-SASL-2.1700...
[20/33] installing p5-Email-Valid-1.203nb1...
[21/33] installing p5-Error-0.17029nb4...
[22/33] installing p5-Net-SMTP-SSL-1.04nb7...
[23/33] installing expat-2.5.0...
[24/33] installing lz4-1.9.4...
[25/33] installing git-contrib-2.43.0...
[26/33] installing binutils-2.41...
[27/33] installing git-perlscripts-2.43.0...
[28/33] installing git-docs-2.43.0...
[29/33] installing ossp-uuid-1.6.2nb11...
[30/33] installing git-2.43.0...
[31/33] installing gcc13-13.2.0...
[32/33] installing pkg-config-0.29.2nb2...
[33/33] installing postgresql16-client-16.1...
postgresql16-client-16.1: copying /opt/local/share/postgresql/pg_service.conf.sample to /opt/local/etc/postgresql/pg_service.conf
postgresql16-client-16.1: copying /opt/local/share/postgresql/psqlrc.sample to /opt/local/etc/postgresql/psqlrc
pkg_install warnings: 0, errors: 0
reading local summary...
processing local summary...
On va héberger les données dans une base postgresql d’où la présence du client. La version du compilateur rust présente dans les paquets pkgsrc 2023Q4 de la zone est trop ancienne, on va donc l’installer avec rustup :
[root@vaultwarden01 ~]# curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
info: downloading installer
Welcome to Rust!
This will download and install the official compiler for the Rust
programming language, and its package manager, Cargo.
Rustup metadata and toolchains will be installed into the Rustup
home directory, located at:
/root/.rustup
This can be modified with the RUSTUP_HOME environment variable.
The Cargo home directory is located at:
/root/.cargo
This can be modified with the CARGO_HOME environment variable.
The cargo, rustc, rustup and other commands will be added to
Cargo's bin directory, located at:
/root/.cargo/bin
This path will then be added to your PATH environment variable by
modifying the profile files located at:
/root/.profile
/root/.bash_profile
/root/.bashrc
/root/.zshenv
You can uninstall at any time with rustup self uninstall and
these changes will be reverted.
Current installation options:
default host triple: x86_64-unknown-illumos
default toolchain: stable (default)
profile: default
modify PATH variable: yes
1) Proceed with standard installation (default - just press enter)
2) Customize installation
3) Cancel installation
>
info: profile set to 'default'
info: default host triple is x86_64-unknown-illumos
info: syncing channel updates for 'stable-x86_64-unknown-illumos'
821.1 KiB / 821.1 KiB (100 %) 797.3 KiB/s in 1s ETA: 0s
info: latest update on 2024-11-28, rust version 1.83.0 (90b35a623 2024-11-26)
info: downloading component 'cargo'
11.7 MiB / 11.7 MiB (100 %) 346.6 KiB/s in 42s ETA: 0s
info: downloading component 'clippy'
4.5 MiB / 4.5 MiB (100 %) 262.4 KiB/s in 17s ETA: 0s
info: downloading component 'rust-docs'
16.4 MiB / 16.4 MiB (100 %) 364.8 KiB/s in 1m 1s ETA: 0s
info: downloading component 'rust-std'
23.8 MiB / 23.8 MiB (100 %) 278.4 KiB/s in 1m 31s ETA: 0s
info: downloading component 'rustc'
90.2 MiB / 90.2 MiB (100 %) 300.8 KiB/s in 5m 40s ETA: 0s
info: downloading component 'rustfmt'
3.4 MiB / 3.4 MiB (100 %) 272.0 KiB/s in 13s ETA: 0s
info: installing component 'cargo'
11.7 MiB / 11.7 MiB (100 %) 3.9 MiB/s in 3s ETA: 0s
info: installing component 'clippy'
4.5 MiB / 4.5 MiB (100 %) 4.2 MiB/s in 3s ETA: 0s
info: installing component 'rust-docs'
16.4 MiB / 16.4 MiB (100 %) 947.2 KiB/s in 53s ETA: 0s
info: installing component 'rust-std'
23.8 MiB / 23.8 MiB (100 %) 2.7 MiB/s in 11s ETA: 0s
info: installing component 'rustc'
90.2 MiB / 90.2 MiB (100 %) 3.1 MiB/s in 38s ETA: 0s
info: installing component 'rustfmt'
info: default toolchain set to 'stable-x86_64-unknown-illumos'
stable-x86_64-unknown-illumos installed - (error reading rustc version)
Rust is installed now. Great!
To get started you may need to restart your current shell.
This would reload your PATH environment variable to include
Cargo's bin directory ($HOME/.cargo/bin).
To configure your current shell, you need to source
the corresponding env file under $HOME/.cargo.
This is usually done by running one of the following (note the leading DOT):
. "$HOME/.cargo/env" # For sh/bash/zsh/ash/dash/pdksh
source "$HOME/.cargo/env.fish" # For fish
Comme l’indique l’installeur, les variables d’environnement nécessaires sont ajoutées aux fichier de démarrage du shell, on en démarre donc un nouveau :
[root@vaultwarden01 ~]# exec bash
On crée le répertoire d’accueil des sources et des données de vaultwarden, dont la clé rsa servant à chiffrer les jetons JWT et d’autres choses comme les fichiers attachés, les sends
ou encore un cache d’icônes des services ajoutées dans le coffre-fort. On peut alors lancer le clone git du dépôt :
[root@vaultwarden01 ~]# mkdir -p /opt/local/vaultwarden/src /opt/local/vaultwarden/data
[root@vaultwarden01 ~]# cd /opt/local/vaultwarden/src
[root@vaultwarden01 /opt/local/vaultwarden/src]# git clone https://github.com/dani-garcia/vaultwarden.git .
Cloning into '.'...
remote: Enumerating objects: 18961, done.
remote: Counting objects: 100% (3386/3386), done.
remote: Compressing objects: 100% (213/213), done.
remote: Total 18961 (delta 3282), reused 3173 (delta 3173), pack-reused 15575 (from 3)
Receiving objects: 100% (18961/18961), 9.72 MiB | 8.45 MiB/s, done.
Resolving deltas: 100% (12994/12994), done.
Et la compilation elle-même, il faut être patient, dans mon cas, ça a duré presque 6 heures…
[root@vaultwarden01 /opt/local/vaultwarden/src]# cargo build --features postgresql --release
info: syncing channel updates for '1.83.0-x86_64-unknown-illumos'
info: latest update on 2024-11-28, rust version 1.83.0 (90b35a623 2024-11-26)
info: downloading component 'cargo'
info: downloading component 'clippy'
info: downloading component 'rust-std'
info: downloading component 'rustc'
info: downloading component 'rustfmt'
info: installing component 'cargo'
info: installing component 'clippy'
info: installing component 'rust-std'
info: installing component 'rustc'
info: installing component 'rustfmt'
Updating git repository `https://github.com/BlackDex/yubico-rs`
Updating crates.io index
Downloaded adler2 v2.0.0
Downloaded async-stream-impl v0.3.6
Downloaded pin-utils v0.1.0
Downloaded rocket_ws v0.1.1
Downloaded time-core v0.1.2
Downloaded tinyvec_macros v0.1.1
Downloaded pem v3.0.4
Downloaded log v0.4.22
Downloaded num-conv v0.1.0
Downloaded no-std-compat v0.4.1
Downloaded num-integer v0.1.46
Downloaded hyper-tls v0.6.0
Downloaded kv-log-macro v1.0.7
Downloaded num_threads v0.1.7
Downloaded once_cell v1.20.2
Downloaded zerovec v0.10.4
Downloaded openssl v0.10.68
Downloaded parking v2.2.1
Downloaded zerocopy-derive v0.7.35
Downloaded write16 v1.0.0
Downloaded writeable v0.5.5
Downloaded walkdir v2.5.0
Downloaded yansi v1.0.1
Downloaded parse-zoneinfo v0.3.1
Downloaded value-bag v1.10.0
Downloaded zerocopy v0.7.35
Downloaded uuid v1.11.0
Downloaded unicode-ident v1.0.14
Downloaded winnow v0.6.20
Downloaded which v7.0.0
Downloaded web-time v1.1.0
Downloaded vcpkg v0.2.15
Downloaded webauthn-rs v0.3.2
Downloaded percent-encoding v2.3.1
Downloaded version_check v0.9.5
Downloaded uncased v0.9.10
Downloaded password-hash v0.5.0
Downloaded parking_lot_core v0.9.10
Downloaded openssl-sys v0.9.104
Downloaded want v0.3.1
Downloaded yoke v0.7.5
Downloaded openssl-probe v0.1.5
Downloaded openssl-macros v0.1.1
Downloaded zerofrom-derive v0.1.5
Downloaded zerofrom v0.1.5
Downloaded yoke-derive v0.7.5
Downloaded tokio v1.42.0
Downloaded async-signal v0.2.10
Downloaded foreign-types v0.3.2
Downloaded ring v0.17.8
Downloaded async-global-executor v2.4.1
Downloaded icu_properties_data v1.5.0
Downloaded hickory-proto v0.24.2
Downloaded block-buffer v0.10.4
Downloaded atomic-waker v1.1.2
Downloaded atomic v0.5.3
Downloaded foreign-types-shared v0.1.1
Downloaded idna v1.0.3
Downloaded hyper v0.14.31
Downloaded h2 v0.4.7
Downloaded concurrent-queue v2.5.0
Downloaded grass_compiler v0.13.4
Downloaded cfg-if v1.0.0
Downloaded futures-util v0.3.31
Downloaded cpufeatures v0.2.16
Downloaded chrono-tz-build v0.4.0
Downloaded futures-task v0.3.31
Downloaded zerovec-derive v0.10.3
Downloaded url v2.5.4
Downloaded memchr v2.7.4
Downloaded hyper v1.5.1
Downloaded hashbrown v0.15.2
Downloaded hashbrown v0.14.5
Downloaded governor v0.8.0
Downloaded zeroize v1.8.1
Downloaded utf8_iter v1.0.4
Downloaded utf16_iter v1.0.5
Downloaded utf-8 v0.7.6
Downloaded untrusted v0.9.0
Downloaded codemap v0.1.3
Downloaded byteorder v1.5.0
Downloaded unicode-xid v0.2.6
Downloaded num_cpus v1.16.0
Downloaded num-traits v0.2.19
Downloaded num-order v1.2.0
Downloaded num-modular v0.6.1
Downloaded cached_proc_macro v0.23.0
Downloaded lasso v0.7.3
Downloaded jsonwebtoken v9.3.0
Downloaded indexmap v2.7.0
Downloaded blocking v1.6.1
Downloaded icu_provider v1.5.0
Downloaded icu_properties v1.5.1
Downloaded icu_collections v1.5.0
Downloaded hyper-util v0.1.10
Downloaded http v1.2.0
Downloaded http v0.2.12
Downloaded hickory-resolver v0.24.2
Downloaded handlebars v6.2.0
Downloaded diesel_table_macro_syntax v0.2.0
Downloaded deranged v0.3.11
Downloaded crypto-common v0.1.6
Downloaded job_scheduler_ng v2.0.5
Downloaded jetscii v0.5.3
Downloaded itoa v1.0.14
Downloaded is-terminal v0.4.13
Downloaded ipnet v2.10.1
Downloaded data-encoding v2.6.0
Downloaded inlinable_string v0.1.15
Downloaded idna_adapter v1.2.0
Downloaded ident_case v1.0.1
Downloaded icu_provider_macros v1.5.0
Downloaded icu_normalizer_data v1.5.0
Downloaded icu_locid_transform v1.5.0
Downloaded icu_locid v1.5.0
Downloaded data-url v0.3.1
Downloaded iana-time-zone v0.1.61
Downloaded hyper-rustls v0.27.3
Downloaded diesel_migrations v2.2.0
Downloaded devise_core v0.4.2
Downloaded httparse v1.9.5
Downloaded html5gum v0.7.0
Downloaded dsl_auto_type v0.1.2
Downloaded digest v0.10.7
Downloaded hmac v0.12.1
Downloaded half v1.8.3
Downloaded glob v0.3.1
Downloaded getrandom v0.2.15
Downloaded equivalent v1.0.1
Downloaded devise_codegen v0.4.2
Downloaded async-channel v2.3.1
Downloaded async-channel v1.9.0
Downloaded httpdate v1.0.3
Downloaded http-body-util v0.1.2
Downloaded http-body v1.0.1
Downloaded http-body v0.4.6
Downloaded email_address v0.2.9
Downloaded hostname v0.4.0
Downloaded hostname v0.3.1
Downloaded home v0.5.9
Downloaded heck v0.5.0
Downloaded generic-array v0.14.7
Downloaded futures-timer v3.0.3
Downloaded num-bigint v0.4.6
Downloaded nom v7.1.3
Downloaded email-encoding v0.3.1
Downloaded native-tls v0.2.12
Downloaded errno v0.3.10
Downloaded either v1.13.0
Downloaded multer v3.1.0
Downloaded mio v1.0.3
Downloaded miniz_oxide v0.8.0
Downloaded minimal-lexical v0.2.1
Downloaded document-features v0.2.10
Downloaded ucd-trie v0.1.7
Downloaded typenum v1.17.0
Downloaded tungstenite v0.21.0
Downloaded futures-executor v0.3.31
Downloaded tracing-core v0.1.33
Downloaded tracing v0.1.41
Downloaded futures-core v0.3.31
Downloaded event-listener v2.5.3
Downloaded form_urlencoded v1.2.1
Downloaded toml_edit v0.22.22
Downloaded futures-io v0.3.31
Downloaded autocfg v1.4.0
Downloaded toml v0.8.19
Downloaded tokio-util v0.7.13
Downloaded enum-as-inner v0.6.1
Downloaded dotenvy v0.15.7
Downloaded devise v0.4.2
Downloaded num-derive v0.4.2
Downloaded fnv v1.0.7
Downloaded nonzero_ext v0.3.0
Downloaded mime v0.3.17
Downloaded migrations_macros v2.2.0
Downloaded ubyte v0.10.4
Downloaded tracing-attributes v0.1.28
Downloaded event-listener-strategy v0.5.3
Downloaded tokio-tungstenite v0.21.0
Downloaded tokio-stream v0.1.17
Downloaded tokio-rustls v0.26.1
Downloaded tokio-rustls v0.24.1
Downloaded tower-service v0.3.3
Downloaded totp-lite v2.0.1
Downloaded futures-macro v0.3.31
Downloaded toml_datetime v0.6.8
Downloaded tokio-socks v0.5.2
Downloaded tokio-native-tls v0.3.1
Downloaded tokio-macros v2.4.0
Downloaded migrations_internals v2.2.0
Downloaded try-lock v0.2.5
Downloaded pest_generator v2.7.15
Downloaded pest_derive v2.7.15
Downloaded pest v2.7.15
Downloaded lock_api v0.4.12
Downloaded litrs v0.4.1
Downloaded argon2 v0.5.3
Downloaded litemap v0.7.4
Downloaded pear_codegen v0.2.9
Downloaded pear v0.2.9
Downloaded paste v1.0.15
Downloaded match_cfg v0.1.0
Downloaded lru-cache v0.1.2
Downloaded tinyvec v1.8.0
Downloaded time v0.3.37
Downloaded tempfile v3.14.0
Downloaded syn v2.0.90
Downloaded async-process v2.3.0
Downloaded spinning_top v0.3.0
Downloaded phf v0.11.2
Downloaded serde_json v1.0.133
Downloaded async-task v4.7.1
Downloaded async-lock v3.4.0
Downloaded rustls-webpki v0.102.8
Downloaded rustls-webpki v0.101.7
Downloaded base64ct v1.6.0
Downloaded rustls v0.23.20
Downloaded rustls v0.21.12
Downloaded rustix v0.38.42
Downloaded cron v0.12.1
Downloaded crc32fast v1.4.2
Downloaded rocket v0.5.1
Downloaded darling v0.20.10
Downloaded cookie_store v0.21.1
Downloaded regex-automata v0.4.9
Downloaded dashmap v6.1.0
Downloaded aho-corasick v1.1.3
Downloaded darling_macro v0.20.10
Downloaded cached_proc_macro_types v0.1.1
Downloaded tinystr v0.7.6
Downloaded time-macros v0.2.19
Downloaded threadpool v1.8.1
Downloaded thiserror-impl v2.0.7
Downloaded thiserror-impl v1.0.69
Downloaded thiserror v2.0.7
Downloaded thiserror v1.0.69
Downloaded syslog v7.0.0
Downloaded synstructure v0.13.1
Downloaded sync_wrapper v1.0.2
Downloaded subtle v2.6.1
Downloaded strsim v0.11.1
Downloaded state v0.6.0
Downloaded stacker v0.1.17
Downloaded stable-pattern v0.1.0
Downloaded spin v0.9.8
Downloaded socket2 v0.5.8
Downloaded smallvec v1.13.2
Downloaded displaydoc v0.2.5
Downloaded slab v0.4.9
Downloaded siphasher v0.3.11
Downloaded simple_asn1 v0.6.2
Downloaded signal-hook-registry v1.4.2
Downloaded signal-hook v0.3.17
Downloaded shlex v1.3.0
Downloaded sha2 v0.10.8
Downloaded sha1 v0.10.6
Downloaded serde_spanned v0.6.8
Downloaded serde_derive v1.0.216
Downloaded serde_cbor v0.11.2
Downloaded serde v1.0.216
Downloaded semver v1.0.24
Downloaded fastrand v2.3.0
Downloaded sct v0.7.1
Downloaded scopeguard v1.2.0
Downloaded rustls-pki-types v1.10.1
Downloaded regex v1.11.1
Downloaded futures-channel v0.3.31
Downloaded stable_deref_trait v1.2.0
Downloaded serde_urlencoded v0.7.1
Downloaded scheduled-thread-pool v0.2.7
Downloaded same-file v1.0.6
Downloaded ryu v1.0.18
Downloaded rustls-pemfile v2.2.0
Downloaded rustls-pemfile v1.0.4
Downloaded rtoolbox v0.0.2
Downloaded rpassword v7.3.1
Downloaded rocket_http v0.5.1
Downloaded rocket_codegen v0.5.1
Downloaded async-io v2.4.0
Downloaded rmpv v1.3.0
Downloaded reqwest v0.12.9
Downloaded async-executor v1.13.1
Downloaded regex-syntax v0.8.5
Downloaded rmp v0.8.14
Downloaded resolv-conf v0.7.0
Downloaded reopen v1.0.3
Downloaded async-trait v0.1.83
Downloaded ref-cast-impl v1.0.23
Downloaded ref-cast v1.0.23
Downloaded raw-cpuid v11.2.0
Downloaded rand_core v0.6.4
Downloaded rand_chacha v0.3.1
Downloaded rand v0.8.5
Downloaded r2d2 v0.8.10
Downloaded quoted_printable v0.5.1
Downloaded quote v1.0.37
Downloaded quick-error v1.2.3
Downloaded quanta v0.12.4
Downloaded publicsuffix v2.3.0
Downloaded psm v0.1.24
Downloaded psl-types v2.0.11
Downloaded proc-macro2-diagnostics v0.10.1
Downloaded proc-macro2 v1.0.92
Downloaded pq-sys v0.6.3
Downloaded ppv-lite86 v0.2.20
Downloaded powerfmt v0.2.0
Downloaded portable-atomic v1.10.0
Downloaded polling v3.7.4
Downloaded pkg-config v0.3.31
Downloaded piper v0.2.4
Downloaded phf_shared v0.11.2
Downloaded phf_generator v0.11.2
Downloaded pin-project-lite v0.2.15
Downloaded bitflags v2.6.0
Downloaded pico-args v0.5.0
Downloaded phf_macros v0.11.2
Downloaded phf_codegen v0.11.2
Downloaded futures-sink v0.3.31
Downloaded binascii v0.1.4
Downloaded alloc-stdlib v0.2.2
Downloaded alloc-no-stdlib v2.0.4
Downloaded ahash v0.8.11
Downloaded async-stream v0.3.6
Downloaded blake2 v0.10.6
Downloaded crossbeam-utils v0.8.20
Downloaded linked-hash-map v0.5.6
Downloaded futures-lite v2.5.0
Downloaded event-listener v5.3.1
Downloaded allocator-api2 v0.2.21
Downloaded pest_meta v2.7.15
Downloaded base64 v0.13.1
Downloaded darling_core v0.20.10
Downloaded cookie v0.18.1
Downloaded parking_lot v0.12.3
Downloaded icu_locid_transform_data v1.5.0
Downloaded figment v0.10.19
Downloaded cached v0.54.0
Downloaded base64 v0.22.1
Downloaded bytes v1.9.0
Downloaded bigdecimal v0.4.7
Downloaded diesel_derives v2.2.3
Downloaded chumsky v0.9.3
Downloaded icu_normalizer v1.5.0
Downloaded futures v0.3.31
Downloaded base64 v0.21.7
Downloaded cc v1.2.4
Downloaded flate2 v1.0.35
Downloaded async-compression v0.4.18
Downloaded libm v0.2.11
Downloaded lettre v0.11.11
Downloaded brotli-decompressor v4.0.1
Downloaded async-std v1.13.0
Downloaded chrono v0.4.39
Downloaded fern v0.7.1
Downloaded chrono-tz v0.10.0
Downloaded diesel v2.2.6
Downloaded libc v0.2.168
Downloaded brotli v7.0.0
Downloaded encoding_rs v0.8.35
Downloaded 360 crates (27.4 MB) in 29.47s (largest was `ring` at 4.2 MB)
Compiling proc-macro2 v1.0.92
Compiling unicode-ident v1.0.14
Compiling libc v0.2.168
Compiling cfg-if v1.0.0
Compiling version_check v0.9.5
Compiling autocfg v1.4.0
Compiling serde v1.0.216
Compiling smallvec v1.13.2
Compiling memchr v2.7.4
Compiling shlex v1.3.0
Compiling cc v1.2.4
Compiling quote v1.0.37
Compiling syn v2.0.90
Compiling lock_api v0.4.12
Compiling pin-project-lite v0.2.15
Compiling scopeguard v1.2.0
Compiling parking_lot_core v0.9.10
Compiling itoa v1.0.14
Compiling once_cell v1.20.2
Compiling bytes v1.9.0
Compiling parking_lot v0.12.3
Compiling futures-core v0.3.31
Compiling log v0.4.22
Compiling signal-hook-registry v1.4.2
Compiling byteorder v1.5.0
Compiling slab v0.4.9
Compiling futures-sink v0.3.31
Compiling socket2 v0.5.8
Compiling getrandom v0.2.15
Compiling mio v1.0.3
Compiling stable_deref_trait v1.2.0
Compiling futures-channel v0.3.31
Compiling pin-utils v0.1.0
Compiling futures-io v0.3.31
Compiling futures-task v0.3.31
Compiling writeable v0.5.5
Compiling httparse v1.9.5
Compiling litemap v0.7.4
Compiling bitflags v2.6.0
Compiling fnv v1.0.7
Compiling icu_locid_transform_data v1.5.0
Compiling time-core v0.1.2
Compiling num-conv v0.1.0
Compiling typenum v1.17.0
Compiling icu_properties_data v1.5.0
Compiling time-macros v0.2.19
Compiling hashbrown v0.15.2
Compiling percent-encoding v2.3.1
Compiling equivalent v1.0.1
Compiling synstructure v0.13.1
Compiling tracing-core v0.1.33
Compiling num-traits v0.2.19
Compiling generic-array v0.14.7
Compiling utf8_iter v1.0.4
Compiling thiserror v1.0.69
Compiling icu_normalizer_data v1.5.0
Compiling utf16_iter v1.0.5
Compiling write16 v1.0.0
Compiling proc-macro2-diagnostics v0.10.1
Compiling http v1.2.0
Compiling serde_derive v1.0.216
Compiling zerofrom-derive v0.1.5
Compiling yoke-derive v0.7.5
Compiling tokio-macros v2.4.0
Compiling tokio v1.42.0
Compiling zerovec-derive v0.10.3
Compiling zerofrom v0.1.5
Compiling yoke v0.7.5
Compiling zerocopy-derive v0.7.35
Compiling zerovec v0.10.4
Compiling displaydoc v0.2.5
Compiling futures-macro v0.3.31
Compiling zerocopy v0.7.35
Compiling futures-util v0.3.31
Compiling tinystr v0.7.6
Compiling icu_locid v1.5.0
Compiling icu_provider_macros v1.5.0
Compiling icu_collections v1.5.0
Compiling indexmap v2.7.0
Compiling icu_provider v1.5.0
Compiling tracing-attributes v0.1.28
Compiling thiserror-impl v1.0.69
Compiling icu_locid_transform v1.5.0
Compiling icu_properties v1.5.1
Compiling tracing v0.1.41
Compiling rand_core v0.6.4
Compiling yansi v1.0.1
Compiling pkg-config v0.3.31
Compiling vcpkg v0.2.15
Compiling powerfmt v0.2.0
Compiling deranged v0.3.11
Compiling openssl-sys v0.9.104
Compiling form_urlencoded v1.2.1
Compiling ring v0.17.8
Compiling cookie v0.18.1
Compiling icu_normalizer v1.5.0
Compiling subtle v2.6.1
Compiling num_threads v0.1.7
Compiling time v0.3.37
Compiling idna_adapter v1.2.0
Compiling idna v1.0.3
Compiling ppv-lite86 v0.2.20
Compiling crypto-common v0.1.6
Compiling block-buffer v0.10.4
Compiling digest v0.10.7
Compiling rand_chacha v0.3.1
Compiling url v2.5.4
Compiling ahash v0.8.11
Compiling thiserror v2.0.7
Compiling serde_json v1.0.133
Compiling try-lock v0.2.5
Compiling spin v0.9.8
Compiling ryu v1.0.18
Compiling siphasher v0.3.11
Compiling rand v0.8.5
Compiling want v0.3.1
Compiling phf_shared v0.11.2
Compiling tokio-util v0.7.13
Compiling untrusted v0.9.0
Compiling openssl v0.10.68
Compiling strsim v0.11.1
Compiling foreign-types-shared v0.1.1
Compiling ref-cast v1.0.23
Compiling ident_case v1.0.1
Compiling foreign-types v0.3.2
Compiling darling_core v0.20.10
Compiling phf_generator v0.11.2
Compiling pear_codegen v0.2.9
Compiling thiserror-impl v2.0.7
Compiling openssl-macros v0.1.1
Compiling cpufeatures v0.2.16
Compiling either v1.13.0
Compiling tower-service v0.3.3
Compiling allocator-api2 v0.2.21
Compiling darling_macro v0.20.10
Compiling hashbrown v0.14.5
Compiling serde_spanned v0.6.8
Compiling toml_datetime v0.6.8
Compiling ref-cast-impl v1.0.23
Compiling native-tls v0.2.12
Compiling winnow v0.6.20
Compiling heck v0.5.0
Compiling regex-syntax v0.8.5
Compiling toml_edit v0.22.22
Compiling regex-automata v0.4.9
Compiling http v0.2.12
Compiling darling v0.20.10
Compiling futures-executor v0.3.31
Compiling num-integer v0.1.46
Compiling http-body v1.0.1
Compiling async-trait v0.1.83
Compiling is-terminal v0.4.13
Compiling uncased v0.9.10
Compiling alloc-no-stdlib v2.0.4
Compiling openssl-probe v0.1.5
Compiling mime v0.3.17
Compiling rustix v0.38.42
Compiling iana-time-zone v0.1.61
Compiling base64 v0.22.1
Compiling rustls v0.21.12
Compiling atomic-waker v1.1.2
Compiling chrono v0.4.39
Compiling h2 v0.4.7
Compiling devise_core v0.4.2
Compiling alloc-stdlib v0.2.2
Compiling num-bigint v0.4.6
Compiling futures v0.3.31
Compiling toml v0.8.19
Compiling http-body v0.4.6
Compiling regex v1.11.1
Compiling sha1 v0.10.6
Compiling sct v0.7.1
Compiling rustls-webpki v0.101.7
Compiling psm v0.1.24
Compiling errno v0.3.10
Compiling encoding_rs v0.8.35
Compiling httpdate v1.0.3
Compiling minimal-lexical v0.2.1
Compiling inlinable_string v0.1.15
Compiling crossbeam-utils v0.8.20
Compiling libm v0.2.11
Compiling data-encoding v2.6.0
Compiling ucd-trie v0.1.7
Compiling base64 v0.21.7
Compiling adler2 v2.0.0
Compiling miniz_oxide v0.8.0
Compiling hyper v0.14.31
Compiling pest v2.7.15
Compiling pear v0.2.9
Compiling nom v7.1.3
Compiling parse-zoneinfo v0.3.1
Compiling hyper v1.5.1
Compiling tokio-native-tls v0.3.1
Compiling brotli-decompressor v4.0.1
Compiling devise_codegen v0.4.2
Compiling phf_codegen v0.11.2
Compiling stable-pattern v0.1.0
Compiling stacker v0.1.17
Compiling num_cpus v1.16.0
Compiling bigdecimal v0.4.7
Compiling multer v3.1.0
Compiling figment v0.10.19
Compiling crc32fast v1.4.2
Compiling state v0.6.0
Compiling paste v1.0.15
Compiling pq-sys v0.6.3
Compiling psl-types v2.0.11
Compiling fastrand v2.3.0
Compiling litrs v0.4.1
Compiling ipnet v2.10.1
Compiling signal-hook v0.3.17
Compiling rocket_http v0.5.1
Compiling document-features v0.2.10
Compiling publicsuffix v2.3.0
Compiling flate2 v1.0.35
Compiling devise v0.4.2
Compiling chrono-tz-build v0.4.0
Compiling hyper-util v0.1.10
Compiling brotli v7.0.0
Compiling tokio-rustls v0.24.1
Compiling pest_meta v2.7.15
Compiling rustls-pemfile v1.0.4
Compiling http-body-util v0.1.2
Compiling dsl_auto_type v0.1.2
Compiling phf_macros v0.11.2
Compiling async-stream-impl v0.3.6
Compiling diesel_table_macro_syntax v0.2.0
Compiling scheduled-thread-pool v0.2.7
Compiling hostname v0.4.0
Compiling reopen v1.0.3
Compiling rocket v0.5.1
Compiling unicode-xid v0.2.6
Compiling portable-atomic v1.10.0
Compiling glob v0.3.1
Compiling rustls-pki-types v1.10.1
Compiling match_cfg v0.1.0
Compiling jetscii v0.5.3
Compiling tinyvec_macros v0.1.1
Compiling utf-8 v0.7.6
Compiling tinyvec v1.8.0
Compiling tungstenite v0.21.0
Compiling rocket_codegen v0.5.1
Compiling rustls-pemfile v2.2.0
Compiling hostname v0.3.1
Compiling async-stream v0.3.6
Compiling phf v0.11.2
Compiling r2d2 v0.8.10
Compiling diesel_derives v2.2.3
Compiling hyper-tls v0.6.0
Compiling migrations_internals v2.2.0
Compiling async-compression v0.4.18
Compiling pest_generator v2.7.15
Compiling cookie_store v0.21.1
Compiling chrono-tz v0.10.0
Compiling tempfile v3.14.0
Compiling tokio-socks v0.5.2
Compiling enum-as-inner v0.6.1
Compiling serde_urlencoded v0.7.1
Compiling hmac v0.12.1
Compiling tokio-stream v0.1.17
Compiling ubyte v0.10.4
Compiling raw-cpuid v11.2.0
Compiling sync_wrapper v1.0.2
Compiling aho-corasick v1.1.3
Compiling num-modular v0.6.1
Compiling half v1.8.3
Compiling binascii v0.1.4
Compiling linked-hash-map v0.5.6
Compiling atomic v0.5.3
Compiling webauthn-rs v0.3.2
Compiling base64ct v1.6.0
Compiling quick-error v1.2.3
Compiling same-file v1.0.6
Compiling semver v1.0.24
Compiling walkdir v2.5.0
Compiling resolv-conf v0.7.0
Compiling password-hash v0.5.0
Compiling lru-cache v0.1.2
Compiling quanta v0.12.4
Compiling num-order v1.2.0
Compiling serde_cbor v0.11.2
Compiling reqwest v0.12.9
Compiling hickory-proto v0.24.2
Compiling diesel v2.2.6
Compiling rmp v0.8.14
Compiling pest_derive v2.7.15
Compiling chumsky v0.9.3
Compiling migrations_macros v2.2.0
Compiling tokio-tungstenite v0.21.0
Compiling syslog v7.0.0
Compiling dashmap v6.1.0
Compiling threadpool v1.8.1
Compiling cron v0.12.1
Compiling simple_asn1 v0.6.2
Compiling pem v3.0.4
Compiling email-encoding v0.3.1
Compiling cached_proc_macro v0.23.0
Compiling lasso v0.7.3
Compiling sha2 v0.10.8
Compiling blake2 v0.10.6
Compiling email_address v0.2.9
Compiling uuid v1.11.0
Compiling spinning_top v0.3.0
Compiling rtoolbox v0.0.2
Compiling base64 v0.13.1
Compiling quoted_printable v0.5.1
Compiling futures-timer v3.0.3
Compiling vaultwarden v1.0.0 (/opt/local/vaultwarden/src)
Compiling no-std-compat v0.4.1
Compiling home v0.5.9
Compiling web-time v1.1.0
Compiling codemap v0.1.3
Compiling cached_proc_macro_types v0.1.1
Compiling nonzero_ext v0.3.0
Compiling grass_compiler v0.13.4
Compiling governor v0.8.0
Compiling cached v0.54.0
Compiling which v7.0.0
Compiling lettre v0.11.11
Compiling rpassword v7.3.1
Compiling job_scheduler_ng v2.0.5
Compiling totp-lite v2.0.1
Compiling argon2 v0.5.3
Compiling jsonwebtoken v9.3.0
Compiling diesel_migrations v2.2.0
Compiling rocket_ws v0.1.1
Compiling yubico v0.12.0 (https://github.com/BlackDex/yubico-rs?rev=00df14811f58155c0f02e3ab10f1570ed3e115c6#00df1481)
Compiling fern v0.7.1
Compiling html5gum v0.7.0
Compiling handlebars v6.2.0
Compiling rmpv v1.3.0
Compiling hickory-resolver v0.24.2
Compiling num-derive v0.4.2
Compiling data-url v0.3.1
Compiling pico-args v0.5.0
Compiling dotenvy v0.15.7
Finished `release` profile [optimized] target(s) in 341m 53s
Les pages web sont livrées séparemment et sont servies par défaut depuis le répertoire de lancement (c’est configurable avec la variable WEB_VAULT_FOLDER
dans le .env). On télécharge la dernière version disponible et on l’extrait :
[root@vaultwarden01 /opt/local/vaultwarden/src]# cd ..
[root@vaultwarden01 /opt/local/vaultwarden]# curl -LO https://github.com/dani-garcia/bw_web_builds/releases/download/v2024.6.2c/bw_web_v2024.6.2c.tar.gz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 11.6M 100 11.6M 0 0 9269k 0 0:00:01 0:00:01 --:--:-- 46.9M
[root@vaultwarden01 /opt/local/vaultwarden]# tar xvfz bw_web_v2024.6.2c.tar.gz
web-vault/
web-vault/554.e82b45b7ffbc0fe7ce5c.js
web-vault/229.c29d1ca01984fd6768c7.js.map
web-vault/app-id.json
web-vault/webauthn-mobile-connector.html
web-vault/duo-connector.html
web-vault/416.3bd4c7732de2050fd545.js
web-vault/44.b3b5a3a8f7626e22cead.js
web-vault/44.b3b5a3a8f7626e22cead.js.LICENSE.txt
web-vault/838.71f9ce66bb518d55337b.js.map
web-vault/97.d236f792430150d595dd.js.map
web-vault/74.231ea0cb81db04140043.js
web-vault/968.bca7acbecd5288b0f9ab.js.map
web-vault/encrypt-worker.0d0845fabb9cc329f366.js.map
web-vault/browserconfig.xml
web-vault/index.html
web-vault/395.146727a4c389f12f57c4.js.LICENSE.txt
web-vault/version.json
web-vault/fonts/
web-vault/fonts/Open_Sans-normal-800.bd3f1dee59cbae1df994.woff
web-vault/fonts/Open_Sans-italic-700.993447e153d49bb77c5f.woff
web-vault/fonts/bwi-font.5d65030bb327424f485c.woff
web-vault/fonts/Open_Sans-normal-700.a39de6b1b80c7f21cf88.woff
web-vault/fonts/Open_Sans-italic-400.a2b91622ef405f9df440.woff
web-vault/fonts/Open_Sans-italic-600.4ea1d8d1cd34493c8543.woff
web-vault/fonts/Open_Sans-normal-600.7f2861051b34a8ecd9f2.woff
web-vault/fonts/Open_Sans-italic-800.1e838c372e17cb35253f.woff
web-vault/fonts/Open_Sans-normal-400.8465030b62273715c99d.woff
web-vault/fonts/Open_Sans-italic-300.ef9015b8bb661cee6872.woff
web-vault/fonts/bwi-font.b934f3d3f42f13942a9d.ttf
web-vault/fonts/bwi-font.dcbd65c06416f845469d.svg
web-vault/fonts/Open_Sans-normal-300.c2bf315550bd47ccd553.woff
web-vault/fonts/bwi-font.d08e089c56f69aa61f54.woff2
web-vault/connectors/
web-vault/connectors/sso.1d50fb9494ea4060b86e.js.map
web-vault/connectors/duo-redirect.1933e3b664c011805605.js
web-vault/connectors/webauthn-fallback.5028b35a09e6df837274.css.map
web-vault/connectors/webauthn-fallback.c25414f09766ef7489dd.js.map
web-vault/connectors/duo.03d3232066d89682b1ee.css
web-vault/connectors/captcha.0c641fbf0b14713a7ada.css.map
web-vault/connectors/duo.6cb16ba5cd338fc881e0.js
web-vault/connectors/duo-redirect.11271f1a8aa8c643b96f.css
web-vault/connectors/duo.6cb16ba5cd338fc881e0.js.map
web-vault/connectors/webauthn.5028b35a09e6df837274.css.map
web-vault/connectors/duo.03d3232066d89682b1ee.css.map
web-vault/connectors/captcha.f8d2c54f5e20edcb7a94.js
web-vault/connectors/webauthn.5028b35a09e6df837274.css
web-vault/connectors/sso.1d50fb9494ea4060b86e.js
web-vault/connectors/webauthn-fallback.5028b35a09e6df837274.css
web-vault/connectors/webauthn-fallback.c25414f09766ef7489dd.js
web-vault/connectors/duo-redirect.11271f1a8aa8c643b96f.css.map
web-vault/connectors/sso.11271f1a8aa8c643b96f.css
web-vault/connectors/webauthn.a9e2d8b90d2205db6a25.js.map
web-vault/connectors/sso.11271f1a8aa8c643b96f.css.map
web-vault/connectors/captcha.f8d2c54f5e20edcb7a94.js.map
web-vault/connectors/duo-redirect.1933e3b664c011805605.js.map
web-vault/connectors/captcha.0c641fbf0b14713a7ada.css
web-vault/connectors/webauthn.a9e2d8b90d2205db6a25.js
web-vault/theme_head.4cb181fc19f2a308ba73.js.map
web-vault/979.d8eba5062c1ec7382639.js.map
web-vault/cca56971e438d22818d6.json
web-vault/416.3bd4c7732de2050fd545.js.map
web-vault/651.ac9708406b5cb777a758.js.map
web-vault/651.ac9708406b5cb777a758.js
web-vault/229.c29d1ca01984fd6768c7.js
web-vault/395.146727a4c389f12f57c4.js.map
web-vault/vw-version.json
web-vault/367.b522ae86dd7ba6a33ae6.js
web-vault/.nojekyll
web-vault/74.231ea0cb81db04140043.js.map
web-vault/125.566b2c59438df26b5803.js.map
web-vault/395.146727a4c389f12f57c4.js
web-vault/images/
web-vault/images/jcb-light.png
web-vault/images/u2fkey-mobile.webp
web-vault/images/u2fkey.avif
web-vault/images/rc-w.png
web-vault/images/union_pay-light.png
web-vault/images/jcb-dark.png
web-vault/images/icons/
web-vault/images/icons/safari-pinned-tab.svg
web-vault/images/icons/favicon-16x16.png
web-vault/images/icons/android-chrome-192x192.png
web-vault/images/icons/favicon-32x32.png
web-vault/images/icons/android-chrome-512x512.png
web-vault/images/icons/mstile-150x150.png
web-vault/images/icons/apple-touch-icon.png
web-vault/images/ru_pay-dark.png
web-vault/images/safari-pinned-tab.svg
web-vault/images/diners_club-dark.png
web-vault/images/6.png
web-vault/images/favicon-16x16.png
web-vault/images/ru_pay-light.png
web-vault/images/logo-dark@2x.png
web-vault/images/domain-verification/
web-vault/images/domain-verification/domain.svg
web-vault/images/mastercard-light.png
web-vault/images/diners_club-light.png
web-vault/images/1.png
web-vault/images/loading.svg
web-vault/images/4.png
web-vault/images/yubikey.avif
web-vault/images/404.png
web-vault/images/close-button.svg
web-vault/images/cards.png
web-vault/images/3.png
web-vault/images/amex-dark.png
web-vault/images/favicon-32x32.png
web-vault/images/maestro-light.png
web-vault/images/union_pay-dark.png
web-vault/images/yubikey.webp
web-vault/images/secrets-manager/
web-vault/images/secrets-manager/sdks/
web-vault/images/secrets-manager/sdks/python.svg
web-vault/images/secrets-manager/sdks/go.svg
web-vault/images/secrets-manager/sdks/php.svg
web-vault/images/secrets-manager/sdks/java.svg
web-vault/images/secrets-manager/sdks/c-sharp.svg
web-vault/images/secrets-manager/sdks/wasm.svg
web-vault/images/secrets-manager/sdks/ruby.png
web-vault/images/secrets-manager/sdks/java-white.svg
web-vault/images/secrets-manager/sdks/c-plus-plus.png
web-vault/images/secrets-manager/integrations/
web-vault/images/secrets-manager/integrations/ansible.svg
web-vault/images/secrets-manager/integrations/github.svg
web-vault/images/secrets-manager/integrations/gitlab.svg
web-vault/images/secrets-manager/integrations/github-white.svg
web-vault/images/secrets-manager/integrations/gitlab-white.svg
web-vault/images/logo-white@2x.png
web-vault/images/bwi-passkey.png
web-vault/images/u2fkey-mobile.avif
web-vault/images/two-factor/
web-vault/images/two-factor/rc-w.png
web-vault/images/two-factor/6.png
web-vault/images/two-factor/1.png
web-vault/images/two-factor/4.png
web-vault/images/two-factor/3.png
web-vault/images/two-factor/7-w.png
web-vault/images/two-factor/rc.png
web-vault/images/two-factor/2.png
web-vault/images/two-factor/0.png
web-vault/images/two-factor/1-w.png
web-vault/images/two-factor/7.png
web-vault/images/mastercard-dark.png
web-vault/images/discover-light.png
web-vault/images/visa-dark.png
web-vault/images/u2fkey.jpg
web-vault/images/7-w.png
web-vault/images/apple-touch-icon.png
web-vault/images/discover-dark.png
web-vault/images/rc.png
web-vault/images/visa-light.png
web-vault/images/loading-white.svg
web-vault/images/logo-primary@2x.png
web-vault/images/2.png
web-vault/images/u2fkey.webp
web-vault/images/u2fkey-mobile.jpg
web-vault/images/0.png
web-vault/images/icon-dark.png
web-vault/images/1-w.png
web-vault/images/7.png
web-vault/images/yubikey.jpg
web-vault/images/amex-light.png
web-vault/images/maestro-dark.png
web-vault/images/icon-white.png
web-vault/images/register-layout/
web-vault/images/register-layout/usnews-360-badge.svg
web-vault/images/register-layout/forbes-logo.svg
web-vault/images/register-layout/wired-logo.png
web-vault/images/register-layout/logo-horizontal-white.svg
web-vault/images/register-layout/logo-horizontal-white.png
web-vault/images/register-layout/vault-signup-badges.png
web-vault/images/register-layout/capterra-logo.svg
web-vault/images/register-layout/cnet-logo.svg
web-vault/images/register-layout/get-app-logo.svg
web-vault/images/register-layout/g2-logo.svg
web-vault/images/bwi-globe.png
web-vault/367.b522ae86dd7ba6a33ae6.js.map
web-vault/locales/
web-vault/locales/zh_CN/
web-vault/locales/zh_CN/messages.json
web-vault/locales/km/
web-vault/locales/km/messages.json
web-vault/locales/es/
web-vault/locales/es/messages.json
web-vault/locales/sr/
web-vault/locales/sr/messages.json
web-vault/locales/nb/
web-vault/locales/nb/messages.json
web-vault/locales/sv/
web-vault/locales/sv/messages.json
web-vault/locales/cy/
web-vault/locales/cy/messages.json
web-vault/locales/en/
web-vault/locales/en/messages.json
web-vault/locales/si/
web-vault/locales/si/messages.json
web-vault/locales/my/
web-vault/locales/my/messages.json
web-vault/locales/sr_CS/
web-vault/locales/sr_CS/messages.json
web-vault/locales/bs/
web-vault/locales/bs/messages.json
web-vault/locales/vi/
web-vault/locales/vi/messages.json
web-vault/locales/el/
web-vault/locales/el/messages.json
web-vault/locales/be/
web-vault/locales/be/messages.json
web-vault/locales/et/
web-vault/locales/et/messages.json
web-vault/locales/pl/
web-vault/locales/pl/messages.json
web-vault/locales/zh_TW/
web-vault/locales/zh_TW/messages.json
web-vault/locales/uk/
web-vault/locales/uk/messages.json
web-vault/locales/kn/
web-vault/locales/kn/messages.json
web-vault/locales/da/
web-vault/locales/da/messages.json
web-vault/locales/fa/
web-vault/locales/fa/messages.json
web-vault/locales/id/
web-vault/locales/id/messages.json
web-vault/locales/hu/
web-vault/locales/hu/messages.json
web-vault/locales/ne/
web-vault/locales/ne/messages.json
web-vault/locales/eu/
web-vault/locales/eu/messages.json
web-vault/locales/hi/
web-vault/locales/hi/messages.json
web-vault/locales/fil/
web-vault/locales/fil/messages.json
web-vault/locales/lv/
web-vault/locales/lv/messages.json
web-vault/locales/nn/
web-vault/locales/nn/messages.json
web-vault/locales/ko/
web-vault/locales/ko/messages.json
web-vault/locales/pt_BR/
web-vault/locales/pt_BR/messages.json
web-vault/locales/cs/
web-vault/locales/cs/messages.json
web-vault/locales/af/
web-vault/locales/af/messages.json
web-vault/locales/ka/
web-vault/locales/ka/messages.json
web-vault/locales/fi/
web-vault/locales/fi/messages.json
web-vault/locales/or/
web-vault/locales/or/messages.json
web-vault/locales/pt_PT/
web-vault/locales/pt_PT/messages.json
web-vault/locales/th/
web-vault/locales/th/messages.json
web-vault/locales/it/
web-vault/locales/it/messages.json
web-vault/locales/en_GB/
web-vault/locales/en_GB/messages.json
web-vault/locales/tr/
web-vault/locales/tr/messages.json
web-vault/locales/sr_CY/
web-vault/locales/sr_CY/messages.json
web-vault/locales/te/
web-vault/locales/te/messages.json
web-vault/locales/sk/
web-vault/locales/sk/messages.json
web-vault/locales/de/
web-vault/locales/de/messages.json
web-vault/locales/eo/
web-vault/locales/eo/messages.json
web-vault/locales/ro/
web-vault/locales/ro/messages.json
web-vault/locales/ml/
web-vault/locales/ml/messages.json
web-vault/locales/he/
web-vault/locales/he/messages.json
web-vault/locales/ar/
web-vault/locales/ar/messages.json
web-vault/locales/nl/
web-vault/locales/nl/messages.json
web-vault/locales/fr/
web-vault/locales/fr/messages.json
web-vault/locales/en_IN/
web-vault/locales/en_IN/messages.json
web-vault/locales/gl/
web-vault/locales/gl/messages.json
web-vault/locales/mr/
web-vault/locales/mr/messages.json
web-vault/locales/bn/
web-vault/locales/bn/messages.json
web-vault/locales/hr/
web-vault/locales/hr/messages.json
web-vault/locales/ja/
web-vault/locales/ja/messages.json
web-vault/locales/az/
web-vault/locales/az/messages.json
web-vault/locales/ru/
web-vault/locales/ru/messages.json
web-vault/locales/ca/
web-vault/locales/ca/messages.json
web-vault/locales/bg/
web-vault/locales/bg/messages.json
web-vault/locales/sl/
web-vault/locales/sl/messages.json
web-vault/838.71f9ce66bb518d55337b.js
web-vault/979.d8eba5062c1ec7382639.js
web-vault/scripts/
web-vault/scripts/qrious.min.js
web-vault/scripts/qrious.min.js.LICENSE.txt
web-vault/scripts/dropin.js
web-vault/captcha-mobile-connector.html
web-vault/app/
web-vault/app/polyfills.575bcaf3121104d1c55d.js
web-vault/app/vendor.0d3c724de0f2ab138712.js.LICENSE.txt
web-vault/app/main.62a346fdfb5b10f77c32.css.map
web-vault/app/polyfills.575bcaf3121104d1c55d.js.map
web-vault/app/main.62a346fdfb5b10f77c32.css
web-vault/app/vendor.0d3c724de0f2ab138712.js.map
web-vault/app/main.7c1287a291f3bb48f2e0.js
web-vault/app/main.7c1287a291f3bb48f2e0.js.map
web-vault/app/vendor.0d3c724de0f2ab138712.js
web-vault/theme_head.4cb181fc19f2a308ba73.js
web-vault/554.e82b45b7ffbc0fe7ce5c.js.map
web-vault/webauthn-fallback-connector.html
web-vault/97.d236f792430150d595dd.js
web-vault/77.af4ce67fff8b77f09ebc.js.map
web-vault/favicon.ico
web-vault/97.d236f792430150d595dd.js.LICENSE.txt
web-vault/sso-connector.html
web-vault/409.0f3d9af1accae5b8d568.js.map
web-vault/manifest.json
web-vault/encrypt-worker.0d0845fabb9cc329f366.js
web-vault/44.b3b5a3a8f7626e22cead.js.map
web-vault/webauthn-connector.html
web-vault/77.af4ce67fff8b77f09ebc.js
web-vault/125.566b2c59438df26b5803.js
web-vault/968.bca7acbecd5288b0f9ab.js
web-vault/captcha-connector.html
web-vault/duo-redirect-connector.html
web-vault/409.0f3d9af1accae5b8d568.js
On va lancer vaultwarden depuis /opt/local/vaultwarden
, on crée donc un lien vers l’exécutable et on le lance :
[root@vaultwarden01 /opt/local/vaultwarden]# ln -s src/target/release/vaultwarden
[root@vaultwarden01 /opt/local/vaultwarden]# ./vaultwarden
/--------------------------------------------------------------------\
| Starting Vaultwarden |
| Version 1.32.7-d9e0d68f |
|--------------------------------------------------------------------|
| This is an *unofficial* Bitwarden implementation, DO NOT use the |
| official channels to report bugs/features, regardless of client. |
| Send usage/configuration questions or feature requests to: |
| https://github.com/dani-garcia/vaultwarden/discussions or |
| https://vaultwarden.discourse.group/ |
| Report suspected bugs/issues in the software itself at: |
| https://github.com/dani-garcia/vaultwarden/issues/new |
\--------------------------------------------------------------------/
Error loading config:
`DATABASE_URL` looks like a SQLite URL, but 'sqlite' feature is not enabled
L’outil essaie de se connecter par défaut à une base sqlite
mais on n’a compilé que le support pour postgresql
. En fait, il nous manque le fichier de configuration qu’on copie depuis le répertoire de sources :
[root@vaultwarden01 /opt/local/vaultwarden]# cp src/.env.template .env
Dans ce fichier, il faut changer l’url de la base de données et ajouter le paramètre gssencmode=disable
pour désactiver le chiffrement de la connexion vers la base avec GSSAPI :
DATABASE_URL=postgresql://user:password@pg/vaultwarden?gssencmode=disable
Sinon ça plante avec les messages suivants :
Assertion failed: section != NULL, file prof_tree.c, line 528, function profile_node_iterator
Abort (core dumped)
A priori, c’est lié à l’implémentation kerberos des dérivés de Solaris
/illumos
et il y a le même souci avec mastodon.
Le démarrage suivant se passe sans problème :
[root@vaultwarden01 /opt/local/vaultwarden]# ./vaultwarden
/--------------------------------------------------------------------\
| Starting Vaultwarden |
| Version 1.32.7-d9e0d68f |
|--------------------------------------------------------------------|
| This is an *unofficial* Bitwarden implementation, DO NOT use the |
| official channels to report bugs/features, regardless of client. |
| Send usage/configuration questions or feature requests to: |
| https://github.com/dani-garcia/vaultwarden/discussions or |
| https://vaultwarden.discourse.group/ |
| Report suspected bugs/issues in the software itself at: |
| https://github.com/dani-garcia/vaultwarden/issues/new |
\--------------------------------------------------------------------/
[INFO] Using environment file `.env` for configuration.
[2025-01-03 09:53:15.300][vaultwarden::auth][INFO] Private key 'data/rsa_key.pem' created correctly
[2025-01-03 09:53:15.636][start][INFO] Rocket has launched from http://0.0.0.0:8000
Bien sûr, on aura auparavant modifié le fichier pg_hba.conf côté postgresql pour autoriser les connexions depuis la nouvelle zone. Et pour pouvoir accéder a l’application depuis partout, il faut ajouter le nom de l’url définie dans le fichier .env dans le dns et la configuration adéquate côté haproxy.
Il est possible d’importer les mots de passe depuis l’interface web. Tous les clients bitwarden
que j’ai testé fonctionnent sans problème.
Depuis la version 1.32.5 de vaultwarden, il est possible de stocker des clé ssh dans le coffre et d’utiliser le client de bureau comme agent ssh. Il faut pour cela activer les fonctionnalités expérimentales dans la configuration :
EXPERIMENTAL_CLIENT_FEATURE_FLAGS=ssh-key-vault-item,ssh-agent
Pour importer des clés, il faut utiliser la version 2024.12.0 ou plus récente du client bitwarden. Par défaut, il crée une nouvelle clé quand on en ajoute une dans le coffre mais il est possible d’en importer une depuis le presse-papier.
Pour l’utiliser comment agent ssh, il suffit ensuite de positionner la variable SSH_AUTH_SOCK en pointant vers fichier socket adéquat, par défaut, c’est $HOME/.bitwarden-ssh-agent.sock
, mais on peut modifier l’emplacement en positionnant la variable BITWARDEN_SSH_AUTH_SOCK avant de lancer le client. Ensuite, une fois que le coffre est déverrouillé, c’est le client bitwarden qui se charge de fournir les clés au client ssh. Il demande une autorisation à chaque utilisation d’une clé, ce qui peut vite devenir agaçant, en particulier avec des traitements automatiques. J’espère qu’une version future permettra de paramétrer ce comportement. Il arrive aussi parfois que le client Bitwarden ne se réveille pas correctement après une mise en veille et que le client openssh attende indéfiniment une clé jusqu’au redémarrage du premier.