#launcher #rewritten #cli #toontown #ttr

app shticker_book_unwritten

Minimal CLI launcher for the Toontown Rewritten MMORPG

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

Download history 9/week @ 2024-12-09 130/week @ 2025-02-10 32/week @ 2025-02-17 129/week @ 2025-03-17

129 downloads per month

GPL-3.0-or-later

265KB
3K SLoC

shticker_book_unwritten

crates.io GPL v3+ unsafe forbidden GitHub code size in bytes

shticker_book_unwritten logo

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:

  1. Use shticker_book_unwritten’s command mode to run accounts savepws false.
  2. Use accounts to list all saved accounts.
  3. 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.

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.

GNU GPL v3+

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.

CC BY-SA 4.0+

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