From f89d5248f31e5895c86306b655929ed0740ff761 Mon Sep 17 00:00:00 2001 From: Bandie Date: Sat, 7 Mar 2026 16:57:15 +0100 Subject: [PATCH] Glossy passport variant --- stapled_glossy_dipl/c3gov | 108 +++++++++++++++++++++ stapled_glossy_dipl/gpgkey | 134 +++++++++++++++++++++++++++ stapled_glossy_dipl/reg | 52 +++++++++++ stapled_glossy_dipl/secure | 41 ++++++++ stapled_glossy_dipl/secure_firstpage | 34 +++++++ start_dialog | 12 ++- 6 files changed, 377 insertions(+), 4 deletions(-) create mode 100755 stapled_glossy_dipl/c3gov create mode 100755 stapled_glossy_dipl/gpgkey create mode 100755 stapled_glossy_dipl/reg create mode 100755 stapled_glossy_dipl/secure create mode 100755 stapled_glossy_dipl/secure_firstpage diff --git a/stapled_glossy_dipl/c3gov b/stapled_glossy_dipl/c3gov new file mode 100755 index 0000000..46f80ca --- /dev/null +++ b/stapled_glossy_dipl/c3gov @@ -0,0 +1,108 @@ +#!/bin/bash +FILE=/tmp/$RANDOM +TOP=1 +LEFT=5 + +# Additional heading space +HEADINGNEXTPAGE=19 +HEADINGLEFT=1 +HEADINGRIGHT=10 + +# GPG Space +NEXTPAGE=34 +NEXTPAGESMALL=60 +NEXTFIELDBOTTOM=13 +NEXTFIELDRIGHT=18 +NEXTFIELDRIGHTSMALL=30 + +if [ $# -eq 0 ]; then + echo -e "$0: Syntax:\n$0 FIELD\n\nExample:\n$0 7\n\n\nFields: + ================== + | VISAS || VISAS | + ================== + | 0 | 1 || 4 | 5 | + |---|---||---|---| + | 2 | 3 || 6 | 7 | + ================== + " + exit 1 +fi + +PAGE=$(($1 / 4)) +FIELD=$(($1 % 4)) + +shift 1 + + +echo "PAGE: $PAGE, FIELD: $FIELD" + + + +function moveDown() { + for((i=0; i<$(($FIELD / 2)); i++)); do + for((j=0; j<$NEXTFIELDBOTTOM; j++)); do + printf "\n" >> $FILE + done + done +} + + +function heading() { + moveDown + + + if [ $(($FIELD % 2)) -eq 0 ]; then + HSPACE=$HEADINGLEFT + SPACE=0 + else + HSPACE=$HEADINGRIGHT + SPACE=$NEXTFIELDRIGHT + fi + + + bigLetters $FILE + + if [ $PAGE -eq 1 ]; then + makeLeft $HEADINGNEXTPAGE $FILE + if [ $(($FIELD % 2)) -eq 1 ]; then + makeLeft $(($HSPACE - 1)) $FILE + fi + else + makeLeft 1 $FILE + makeLeft $HSPACE $FILE + fi + printf "c3gov\n" >> $FILE + resetLetters $FILE + +} + +function insertDate() { + if [ $(($FIELD % 2 )) -eq 0 ]; then + SPACE=0 + else + SPACE=$NEXTFIELDRIGHTSMALL + fi + + smallLetters $FILE + if [ $PAGE -eq 1 ]; then + makeLeft $NEXTPAGESMALL $FILE + fi + makeLeft $LEFT $FILE + makeLeft $(($SPACE + 2)) $FILE + if [ -n "$EVENT" ]; then + printf "$EVENT, $(date -I)" >> $FILE + else + printf "$(date -I)" >> $FILE + fi + +} + +source ../include/nixdorf +init + +makeNewline $TOP $FILE +heading +insertDate + +printFile $FILE +rm $FILE diff --git a/stapled_glossy_dipl/gpgkey b/stapled_glossy_dipl/gpgkey new file mode 100755 index 0000000..c4ea5c5 --- /dev/null +++ b/stapled_glossy_dipl/gpgkey @@ -0,0 +1,134 @@ +#!/bin/bash +FILE=/tmp/$RANDOM +TOP=1 +LEFT=3 + +# Additional heading space +HEADINGNEXTPAGE=36 +HEADINGLEFT=1 +HEADINGRIGHT=20 + +# GPG Space +NEXTPAGE=58 +NEXTFIELDBOTTOM=11 +NEXTFIELDRIGHT=31 +MAXLENGTH=22 + +if [ $# -eq 0 ]; then + echo -e "$0: Syntax:\n$0 FIELD GPG FINGERPRINT WITH SPACES\n\nExample:\n$0 7 1234 5678 1234 1234 1234 1234 1234 1234 1234 ABCD\n\n\nFields: + ================== + | VISAS || VISAS | + ================== + | 0 | 1 || 4 | 5 | + |---|---||---|---| + | 2 | 3 || 6 | 7 | + ================== + " + exit 1 +fi + +PAGE=$(($1 / 4)) +FIELD=$(($1 % 4)) + +shift 1 + + +echo "PAGE: $PAGE, FIELD: $FIELD" + + + +function moveDown() { + for((i=0; i<$(($FIELD / 2)); i++)); do + for((j=0; j<$NEXTFIELDBOTTOM; j++)); do + printf "\n" >> $FILE + done + done +} + + +function heading() { + moveDown + + + if [ $(($FIELD % 2)) -eq 0 ]; then + SPACE=$HEADINGLEFT + else + SPACE=$HEADINGRIGHT + fi + + if [ $PAGE -eq 1 ]; then + makeLeft $HEADINGNEXTPAGE $FILE + fi + + makeLeft $LEFT $FILE + makeLeft $SPACE $FILE + + bigLetters $FILE + printf "GPG" >> $FILE + resetLetters $FILE + printf "\n" >> $FILE +} + +function insertFP() { + if [ $(($FIELD % 2 )) -eq 0 ]; then + SPACE=0 + else + SPACE=$NEXTFIELDRIGHT + fi + + smallLetters $FILE + if [ $PAGE -eq 1 ]; then + makeLeft $NEXTPAGE $FILE + fi + makeLeft $LEFT $FILE + makeLeft $(($SPACE + 2)) $FILE + printf "$1 $2 $3 $4" >> $FILE + resetLetters $FILE + printf "\n" >> $FILE + shift 4 + + smallLetters $FILE + if [ $PAGE -eq 1 ]; then + makeLeft $NEXTPAGE $FILE + fi + makeLeft $LEFT $FILE + makeLeft $(($SPACE + 2)) $FILE + printf "$1 $2 $3 $4" >> $FILE + resetLetters $FILE + printf "\n" >> $FILE + shift 4 + + smallLetters $FILE + if [ $PAGE -eq 1 ]; then + makeLeft $NEXTPAGE $FILE + fi + makeLeft $LEFT $FILE + makeLeft $(($SPACE + 2)) $FILE + printf "$1 $2" >> $FILE + resetLetters $FILE + printf "\n" >> $FILE + shift 2 + + smallLetters $FILE + if [ $PAGE -eq 1 ]; then + makeLeft $NEXTPAGE $FILE + fi + makeLeft $LEFT $FILE + makeLeft $(($SPACE + 2)) $FILE + + if [ -n "$EVENT" ]; then + printf "$EVENT, $(date -I)" >> $FILE + else + printf "$(date -I)" >> $FILE + fi +} + +source ../include/nixdorf +init + +makeNewline $TOP $FILE +heading +insertFP $@ + +printFile $FILE +rm $FILE diff --git a/stapled_glossy_dipl/reg b/stapled_glossy_dipl/reg new file mode 100755 index 0000000..2abbb45 --- /dev/null +++ b/stapled_glossy_dipl/reg @@ -0,0 +1,52 @@ +#!/bin/bash +FILE=/tmp/$RANDOM +TOP=55 +NEXTFIELD=5 +LEFT=23 +AUTHLEFT=66 +DATELEFT=35 +MAXLENGTH=17 + +GIVENNAME=$1 +SURNAME=$2 +HOME=$3 + + +if [ ${#GIVENNAME} -gt $MAXLENGTH ] || [ ${#SURNAME} -gt $MAXLENGTH ] || [ ${#HOME} -gt $MAXLENGTH ]; then + echo "MAXLENGTH EXCEEDED." + exit 1 +fi + + +source ../include/nixdorf +init +smallLetters $FILE +printf "\x1b\x33\x0e" >> $FILE +makeNewline $TOP $FILE +makeLeft $LEFT $FILE +printf "$GIVENNAME" >> $FILE + +# Authority field +makeNewline 2 $FILE +makeLeft $AUTHLEFT $FILE +printf "c3gov" >> $FILE + +makeNewline 3 $FILE +makeLeft $LEFT $FILE +printf "$SURNAME" >> $FILE + +makeNewline $NEXTFIELD $FILE +makeLeft $LEFT $FILE +printf "$HOME" >> $FILE + +makeNewline 5 $FILE +makeLeft $DATELEFT $FILE + +if [ -n "$EVENT" ]; then + printf "/ $EVENT, $(date -I)" >> $FILE +else + printf "/ $(date -I)" >> $FILE +fi + +printFile $FILE +rm $FILE diff --git a/stapled_glossy_dipl/secure b/stapled_glossy_dipl/secure new file mode 100755 index 0000000..28165f0 --- /dev/null +++ b/stapled_glossy_dipl/secure @@ -0,0 +1,41 @@ +#!/bin/bash +FILE=/tmp/$RANDOM +TOP=0 +LEFT=3 + +VISAPAGES=6 + +# GPG Space +NEXTPAGE=28 +NEXTPAGESMALL=60 +NEXTFIELDBOTTOM=13 +NEXTFIELDRIGHT=18 +NEXTFIELDRIGHTSMALL=30 + +if [ $# -eq 0 ]; then + echo "Syntax: $0 " + exit 1 +fi + +sn=$1 + +source ../include/nixdorf +init + +makeNewline $TOP $FILE +makeLeft $LEFT $FILE + +italicLetters $FILE +printf "$sn" >> $FILE +makeLeft $NEXTPAGE $FILE +printf "$sn" >> $FILE +resetLetters $FILE + +echo "Only use the pages saying \"VISAs\" on top" +for (( i=1; i<=$VISAPAGES; i++)); do + read -s -p "Insert page $i of $VISAPAGES and press enter." + echo "" + printFile $FILE +done + +rm $FILE diff --git a/stapled_glossy_dipl/secure_firstpage b/stapled_glossy_dipl/secure_firstpage new file mode 100755 index 0000000..ad67300 --- /dev/null +++ b/stapled_glossy_dipl/secure_firstpage @@ -0,0 +1,34 @@ +#!/bin/bash +FILE=/tmp/$RANDOM +TOP=51 +NEXTFIELD=5 +LEFT=38 +MAXLENGTH=6 + +GIVENNAME=$1 +SURNAME=$2 +HOME=$3 + + +if [ $# -eq 0 ]; then + echo "Syntax: $0 " + exit 1 +fi + +sn=$1 + +if [ ${#sn} -gt $MAXLENGTH ]; then + echo "Security Number too long" + exit 1 +fi + +source ../include/nixdorf +init +smallLetters $FILE +printf "\x1b\x33\x0e" >> $FILE +makeNewline $TOP $FILE +makeLeft $LEFT $FILE +printf "$1" >> $FILE + +printFile $FILE +rm $FILE diff --git a/start_dialog b/start_dialog index 40456eb..e68f987 100755 --- a/start_dialog +++ b/start_dialog @@ -302,6 +302,7 @@ function askReg() { MAXLENGTH[jhp]=25 MAXLENGTH[bounddipl]=17 MAXLENGTH[stapleddipl]=17 + MAXLENGTH[stapled_glossy_dipl]=17 askStr ${MAXLENGTH[$1]} "Forename/Nickname" "Enter forename/nickname" if [ $? -eq 1 ]; then @@ -482,8 +483,9 @@ while [ true ]; do dialog --backtitle "$BT" \ --menu "Select ID type:" 12 40 3 \ 1 "Stapled diplomatic passport" \ - 2 "Junghackerpass" \ - 3 "Bound diplomatic passport" \ + 2 "Stapled glossy paper diplomatic passport" \ + 3 "Junghackerpass" \ + 4 "Bound diplomatic passport" \ 9 "Logout" 2> $TMP if [ $? -eq 9 ]; then @@ -496,9 +498,11 @@ while [ true ]; do case $TYPE in 1) menuFor stapleddipl ;; - 2) menuFor jhp + 2) menuFor stapled_glossy_dipl ;; - 3) menuFor bounddipl + 3) menuFor jhp + ;; + 4) menuFor bounddipl ;; 9) break ;;