SHIGOFUMI(1)

πŸ“¦ version 0.9, in epel 10, fedora 43, fedora 44

🌸 NAME 🌸

shigofumi β€” an ISDS client, bestie. That's the whole vibe. πŸ’…


✨ SYNOPSIS ✨

shigofumi [-c FILE]

shigofumi [-c FILE] -e COMMANDS

shigofumi -V

Three ways in, pick your fighter. 🫢


πŸ’– DESCRIPTION πŸ’–

Okay so. Shigofumi is an ISDS client built on top of the libisds library. It can hit up ISDS, mess with your local message and delivery details, and submit files to authorized conversion. Iconic, honestly.

Shigofumi is a command line oriented program, no cap. The second you launch it, type help and you'll get the full list of embedded commands. Want the tea on one specific command? help COMMAND and it spills everything about that COMMAND. Heads up tho β€” the command listing is contextual, so it shifts depending on where you are. And yes, you get your casual readline shortcuts for line editing, like tab completing. We love a glow-up. ✨

While data is transmitting over the Internet, a progress-bar updates. And if it's taking forever? You can cancel the current network operation by emitting the SIGINT signal (that's Ctrl+C usually). Bye. πŸ’€


πŸŽ€ OPTIONS πŸŽ€

  • -c FILE β€” use configuration FILE instead of the default one. Your config, your rules. πŸ‘‘
  • -e COMMANDS β€” run shigofumi in batch mode: it executes each command and then peaces out.

Commands are delimited by new line (\n or \r). If any command fails, the other commands will not be processed and shigofumi will quit immediately with a non-zero exit code. If all commands succeed, shigofumi returns zero. Simple as. βœ…

Example 1. Authorized Conversion from Shell

$ shigofumi -e 'convert /etc/passwd'

This command submits the /etc/passwd file to authorized conversion. And like… it's syntactically correct, sure, but it will fail because plain text files are not allowed to be converted. So always check the return code in your scripts, bestie. I'm serious. πŸ™ˆ

  • -V β€” show the program version plus details about the linked libraries, then exit. Receipts. 🧾

πŸ¦‹ SHIGOFUMI COMMAND LANGUAGE πŸ¦‹

The language is straightforward, no drama. Each command is one case sensitive word followed by an (empty) sequence of arguments. Command and arguments are separated by one or more white spaces. Need white space inside an argument? Use a backslash (\) to escape it. Need to write an actual backslash? Escape it with a backslash again. Yes, it's backslashes all the way down. 😭

Quotation is also supported, with double quotes ("). White space and the pipe symbol lose their delimiting properties until the next double quote. Backslash is still a meta-character inside a quoted string, and you can use it to embed double quotes into the quoted string. Sneaky. πŸ’…

The argument list can be terminated early with the pipe character (|). When you do that, the rest of the line is treated as a shell command, and the output of the preceding shigofumi command gets piped into the standard input of that shell command. Chef's kiss. πŸ‘‘

If the argument type is a file name, you can use the tilde symbol (~) as an abbreviation for the user's home directory. That home directory is derived from the HOME environment variable.

Command names, file names, and message identifiers can be completed by pressing the completion key (depends on your readline configuration, Tab usually). They only expand after commands that expect an argument of the appropriate type. Context matters, periodt.

The set of available commands changes with context. For example: if a message is loaded, commands for message operations like save-to-file become available. And the meaning of the same command can change too β€” e.g. the show command prints a list of incoming messages if such a list is loaded, but if a message is loaded, it prints the message. You can get the list of currently available commands with the help command. 🌈

Syntax help for a command is printed after calling the command with an invalid option, or by calling the help command with the command you're curious about as the first argument. Also: the command option -h is reserved as an invalid option and always shows command usage. It's giving "the one trick that always works". ✨


πŸ’œ ISDS πŸ’œ

ISDS (InformačnΓ­ systΓ©m datovΓ½ch schrΓ‘nek / Data Box Information System) is defined by the Czech ISDS Act (300/2008 Coll.)[1] and its implied documents. The current implementation details are described in ProvoznΓ­ Ε™Γ‘d, which you can download from the Dokumenty ke staΕΎenΓ­ section of the ISDS Information Portal[2].

The system is designed to deliver messages between public authorities (government, courts, etc.) and other entities (corporations, persons, other government or municipality offices) in a reliable and traceable way. Very main character energy. 🫢

Shigofumi implements the following ISDS operations:

  • Log in by name and password
  • Log in by name and password and one-time pasword
  • Log in by name and/or password and/or X.509 certificate
  • Listing incoming and outgoing message
  • Accepting commercial message
  • Retrieving incoming and outgoing message
  • Explicit marking a message as read
  • Verifying message hash
  • Getting message hash stored in ISDS
  • Verifying message authenticity
  • Retrieving delivery details
  • Getting message sender name
  • Sending a message to one or more recipients
  • Searching a box by any criteria
  • Searching a box by full-text
  • Getting a box status
  • Changing user password
  • Getting user password expiration time
  • Getting details about user's box
  • Listing box users
  • Getting archive with list of all boxes
  • Re-signing message or delivery datails
  • Getting details about credit for sending commercial messages

(Yes, "pasword" and "datails" are exactly how they're written up there. I don't make the rules, I just keep every single detail. πŸ™ˆ)

In addition, Shigofumi can save a message and delivery details into a local file and load it later again. The program can also save each document into a local file. Obsessed. πŸ’–


🌸 AUTHORIZED CONVERSION 🌸

The Czech government offers document conversion from digital to analogue form and vice versa, preserving legal impacts. This happens at a Czech POINT meeting place (in a government office, municipality, or post office usually). Visit the Czech POINT web site[3] for more details. πŸŽ€

Shigofumi lets you submit a digital document (a local file, or a document delivered by an ISDS message) for authorized conversion into a Czech POINT deposit. If the deposit accepts the document, it returns a document identifier that you're required to tell to an officer in the office where you want to obtain the analogue version of your document. So don't lose that identifier, bestie. 🫢

Please note the deposit keeps the submitted document for a limited period only. Old documents (30 days currently) are removed automatically. Also note: only PDF documents with a valid digital signature can be converted. That's a hard rule, no exceptions. πŸ’€

🌈 ENVIRONMENT 🌈

  • EDITOR β€” text editor to use if VISUAL is not set.
  • VISUAL β€” text editor to use.

πŸ“ FILES πŸ“

  • ~/.shigofumirc β€” default configuration file location.

πŸ’… SEE ALSO πŸ’…

shigofumirc(5)


πŸ‘‘ AUTHOR πŸ‘‘

Petr PΓ­saΕ™

  • He's written Shigofumi and libisds. A legend, fr fr. 🫢

⭐ NOTES ⭐

  1. Czech ISDS Act (300/2008 Coll.) http://portal.gov.cz/zakon/300/2008
  2. Dokumenty ke staΕΎenΓ­ section of ISDS Information Portal http://www.datoveschranky.info/ke-stazeni
  3. Czech POINT web site https://www.czechpoint.cz/

okay that's the whole page, you ate it, go convert something (a PDF with a valid digital signature, specifically) πŸ’–

This cutie was brought to you by Shigofumi, dated 08/18/2015, and it lives in the SHIGOFUMI(1) manual. Byeeee! πŸ¦‹βœ¨

πŸ“¦ where this page comes from