19 releases (10 stable)
Uses new Rust 2024
new 1.3.0 | Mar 19, 2025 |
---|---|
1.2.1 | Mar 23, 2024 |
1.2.0 | Oct 1, 2022 |
1.1.0 | Jul 29, 2022 |
0.6.0 | Oct 16, 2019 |
#2 in Games
129 downloads per month
265KB
3K
SLoC
shticker_book_unwritten
A minimal CLI launcher for the Toontown Rewritten MMORPG. Inspired by Shticker Book Rewritten.
Currently builds and functions on GNU/Linux, Windows NT (using the MSVC toolchain), and macOS (be sure to allow Terminal the ability to monitor inputs).
Mirror: https://codeberg.org/JonathanHelianthicusDoe/shticker_book_unwritten
Installing
From pre-compiled binary
You can get pre-compiled binaries from the releases page on GitHub.
From crates.io
Requires a distribution of Rust/cargo, which you can get from rustup.
cargo install
works as normal. Linux users may opt into the use of a Secret
Service
keyring (e.g. KWallet, GNOME
Keyring, etc.) to save account
details by enabling the relevant feature flag with -Fsecret-store
. If
you’ve already a version installed, and want to replace it with the
latest version, use -f
.
Typically:
cargo install -Fsecret-store -f shticker_book_unwritten
From GitHub git repository
Requires a distribution of Rust/cargo, which you can get from rustup.
git clone https://github.com/JonathanHelianthicusDoe/shticker_book_unwritten.git
cd shticker_book_unwritten
cargo rustc -Fsecret-store --release -- -C target-cpu=native # Or just `cargo build -Fsecret-store --release`
./target/release/shticker_book_unwritten --help
The executable name is quite lengthy, so you will probably want to alias it (to
sbu
, or something like that).
Password management
When not on Linux, and/or when shticker_book_unwritten is built with the default features, stored passwords are stored in plain text on your filesystem. To avoid this security hazard, you may…:
- …Compile with
-Fsecret-store
, if on Linux. In this case, shticker_book_unwritten will use your Secret Service keyring (e.g. KWallet, GNOME Keyring, etc.). - …Not use shticker_book_unwritten to store passwords, and instead use a separate password manager app.
By default, when not provided with a config file, shticker_book_unwritten will ask you whether you want your passwords to be saved. Nonetheless, if you’re uncertain, and you want to ensure that shticker_book_unwritten is not managing any of your passwords, then you may:
- Use shticker_book_unwritten’s command mode to run
accounts savepws false
. - Use
accounts
to list all saved accounts. - Use
accounts forget
for each individual account that has an associated password.
Panicking
shticker_book_unwritten uses #![forbid(unsafe_code)]
, so it should (barring
compiler bugs) be impossible for actual undefined
behavior to occur unless
some dependency of shticker_book_unwritten is written using unsafe
code in
an unsound way. However, although
shticker_book_unwritten is written intentionally to avoid
panicking for any reason
whatsoever, it is not (in general) possible in Rust to statically
guarantee that a program is
panic-free for all possible
inputs.
If you find a way to make shticker_book_unwritten panic, that is considered a bug, and you should file an issue against the GitHub repository and/or submit a pull request to fix it. Additionally, undefined behavior is (obviously) also a bug, so similar steps should be taken if you find UB, but that will necessarily require using external libraries in a different way due to them being broken and/or fixing those external libraries upstream.
Legal
This entire work (including this document & all associated source code) is licensed to anyone under the terms of the GNU General Public License, version 3 (or any later version of the same license, at the licensee’s option). For the relevant legal text, see the LICENSE file.
This work contains (Rust-ified) code from bsdiff 4.3, which is licensed under a slightly modified version of the FreeBSD license. For the relevant legal text, see the LICENSE.bsdiff4 file.
The shticker_book_unwritten logo is licensed to anyone under the terms of the Creative Commons Attribution-ShareAlike license, version 4.0 (or any later version of the same license, at the licensee’s option). For the relevant legal text, see https://creativecommons.org/licenses/by-sa/4.0/legalcode, or the img/LICENSE.imgs file for a plaintext version.
Versions of shticker_book_unwritten prior to 1.0.0 were licensed under the terms of the GNU Affero General Public License, version 3 or later.
Dependencies
~8–22MB
~348K SLoC