Compare commits
18 Commits
333d5c9e3c
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
ea4760a81e
|
|||
|
35dd865b80
|
|||
|
fea4680642
|
|||
|
9ca4126e8a
|
|||
|
19af6dbce4
|
|||
|
b85f1d2e83
|
|||
|
95f349fd85
|
|||
|
58c82fa9fc
|
|||
|
216e698f4e
|
|||
|
6cb3c5eeb4
|
|||
|
6efac21a22
|
|||
|
6a1591030d
|
|||
|
daf71a9fed
|
|||
|
09d35810c0
|
|||
|
f9ac98d829
|
|||
|
e2151345d7
|
|||
|
8dbc8c6605
|
|||
|
e675a78b10
|
60
README.md
60
README.md
@@ -1,13 +1,63 @@
|
|||||||
# Intergalactic Registration Office
|
# c3gov
|
||||||
Fill out your hacker passport using a professional dot matrix printer.
|
Fill out your hacker passport using a professional dot matrix printer.
|
||||||
|
|
||||||
## Set event name
|
## How to use the official® setup
|
||||||
To set the event name, just change the `EVENT` variable in `./start` at the top.
|
|
||||||
|
|
||||||
## Supported Passports
|
### Start up
|
||||||
|
1. Plugin the Raspberry Pi.
|
||||||
|
2. Mind the following order:
|
||||||
|
1. Insert the RS232 adapter for the client(s) and connect them.
|
||||||
|
2. As the last device insert the RS232 adapter for the printer.
|
||||||
|
3. Turn on the printer.
|
||||||
|
|
||||||
|
### If the interface freezes
|
||||||
|
1. Turn off the printer.
|
||||||
|
2. Unplug the RS232 adapter from the Raspberry Pi.
|
||||||
|
3. Replug all RS232 in the order like described above.
|
||||||
|
|
||||||
|
### Turning off
|
||||||
|
1. Turn off the computer.
|
||||||
|
2. Unplug the RS232 adapter from the Raspberry Pi.
|
||||||
|
3. Turn off the Raspberry Pi.
|
||||||
|
|
||||||
|
## General information
|
||||||
|
|
||||||
|
### Configuration
|
||||||
|
|
||||||
|
See the `./config` file to set the client number and the event name.
|
||||||
|
|
||||||
|
### Hardware Requirements
|
||||||
|
- Wincor Nixdorf HighPrint 4915
|
||||||
|
- Raspberry Pi
|
||||||
|
- 3x - 5x USB RS232 adapter (male -> USB)
|
||||||
|
- 1x for printer
|
||||||
|
- 4x for two clients (2x each client)
|
||||||
|
- 2x RS232 connector (female -> female)
|
||||||
|
- 2x old laptops with some debian without GUI, only tty.
|
||||||
|
|
||||||
|
### Software Requirements
|
||||||
|
For the clients:
|
||||||
|
- screen
|
||||||
|
|
||||||
|
For the Raspberry Pi
|
||||||
|
- dialog
|
||||||
|
|
||||||
|
### Supported Passports
|
||||||
The following passports are supported atm:
|
The following passports are supported atm:
|
||||||
- CmS Junghackerpass
|
- CmS Junghackerpass
|
||||||
- Adafruit (the newer ones)
|
- Bound Diplomatic passport by Mitch Altman (TVBGone) Matthew Borgatti (har.ms)
|
||||||
|
- Stapled Diplomatic passport Mitch/Matthew and Nils-Arne Pohlandt (devtal.de)
|
||||||
|
|
||||||
Do you want yours to be supported, too?
|
Do you want yours to be supported, too?
|
||||||
Talk to me and send me 3 example pieces. :)
|
Talk to me and send me 3 example pieces. :)
|
||||||
|
|
||||||
|
### Installation
|
||||||
|
|
||||||
|
1. Be root.
|
||||||
|
2. `cd /root`
|
||||||
|
3. `git clone https://git.chaospott.de/Bandie/c3gov`
|
||||||
|
4. `cd c3gov`
|
||||||
|
5. `cp -r etc/systemd/system/* /etc/systemd/system`
|
||||||
|
6. `systemctl enable --now getty@ttyUSB0`
|
||||||
|
7. `systemctl enable --now getty@ttyUSB1` (if there's will be a second client)
|
||||||
|
8. Add a user in .pw: `echo "password" > .pw/username`
|
||||||
|
|||||||
@@ -60,20 +60,6 @@ function heading() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
if [ $PAGE -eq 1 ]; then
|
|
||||||
makeLeft $NEXTPAGE $FILE
|
|
||||||
fi
|
|
||||||
makeLeft 3 $FILE
|
|
||||||
makeLeft $SPACE $FILE
|
|
||||||
italicLetters $FILE
|
|
||||||
printf "INTERGALACTIC\n" >> $FILE
|
|
||||||
|
|
||||||
if [ $PAGE -eq 1 ]; then
|
|
||||||
makeLeft $NEXTPAGE $FILE
|
|
||||||
fi
|
|
||||||
makeLeft 3 $FILE
|
|
||||||
makeLeft $SPACE $FILE
|
|
||||||
printf "REGISTRATION\n" >> $FILE
|
|
||||||
bigLetters $FILE
|
bigLetters $FILE
|
||||||
|
|
||||||
if [ $PAGE -eq 1 ]; then
|
if [ $PAGE -eq 1 ]; then
|
||||||
@@ -85,7 +71,7 @@ function heading() {
|
|||||||
makeLeft 1 $FILE
|
makeLeft 1 $FILE
|
||||||
makeLeft $HSPACE $FILE
|
makeLeft $HSPACE $FILE
|
||||||
fi
|
fi
|
||||||
printf "OFFICE\n" >> $FILE
|
printf "c3gov\n" >> $FILE
|
||||||
resetLetters $FILE
|
resetLetters $FILE
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -3,7 +3,7 @@ FILE=/tmp/$RANDOM
|
|||||||
TOP=56
|
TOP=56
|
||||||
NEXTFIELD=5
|
NEXTFIELD=5
|
||||||
LEFT=22
|
LEFT=22
|
||||||
AUTHLEFT=56
|
AUTHLEFT=66
|
||||||
DATELEFT=37
|
DATELEFT=37
|
||||||
MAXLENGTH=17
|
MAXLENGTH=17
|
||||||
|
|
||||||
@@ -29,7 +29,7 @@ printf "$GIVENNAME" >> $FILE
|
|||||||
# Authority field
|
# Authority field
|
||||||
makeNewline 2 $FILE
|
makeNewline 2 $FILE
|
||||||
makeLeft $AUTHLEFT $FILE
|
makeLeft $AUTHLEFT $FILE
|
||||||
printf "Intergalactic Reg. Office" >> $FILE
|
printf "c3gov" >> $FILE
|
||||||
|
|
||||||
makeNewline 3 $FILE
|
makeNewline 3 $FILE
|
||||||
makeLeft $LEFT $FILE
|
makeLeft $LEFT $FILE
|
||||||
2
clients/README.md
Normal file
2
clients/README.md
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
# Clients
|
||||||
|
For the clients using RS232 u need to configure the /etc/passwd to use the officerload script
|
||||||
3
clients/officerload
Normal file
3
clients/officerload
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
clear
|
||||||
|
screen /dev/ttyUSB0
|
||||||
8
config
Normal file
8
config
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Number of clients, maximum 2
|
||||||
|
CLIENTS=1
|
||||||
|
|
||||||
|
# Event name.
|
||||||
|
# Please leave the export be.
|
||||||
|
export EVENT="Chaospott"
|
||||||
BIN
docs/A23.pdf
Normal file
BIN
docs/A23.pdf
Normal file
Binary file not shown.
@@ -26,7 +26,7 @@
|
|||||||
\fbox{\rule{#1in}{0pt}\rule[-0.5ex]{0pt}{4ex}}}
|
\fbox{\rule{#1in}{0pt}\rule[-0.5ex]{0pt}{4ex}}}
|
||||||
|
|
||||||
\title{\textbf{Application Form A23}}
|
\title{\textbf{Application Form A23}}
|
||||||
\author{Intergalactic Registration Office}
|
\author{c3gov}
|
||||||
\date{Control no. \randomnum{1000}}
|
\date{Control no. \randomnum{1000}}
|
||||||
|
|
||||||
\addtolength{\topmargin}{-2cm}
|
\addtolength{\topmargin}{-2cm}
|
||||||
|
|||||||
BIN
docs/PKSR20.pdf
Normal file
BIN
docs/PKSR20.pdf
Normal file
Binary file not shown.
@@ -25,8 +25,8 @@
|
|||||||
\newcommand{\answerbox}[1]{%%
|
\newcommand{\answerbox}[1]{%%
|
||||||
\fbox{\rule{#1in}{0pt}\rule[-0.5ex]{0pt}{4ex}}}
|
\fbox{\rule{#1in}{0pt}\rule[-0.5ex]{0pt}{4ex}}}
|
||||||
|
|
||||||
\title{\textbf{Application Form PKSR20}}
|
\title{\textbf{Additional Form PKSR20}}
|
||||||
\author{Intergalactic Registration Office}
|
\author{c3gov}
|
||||||
\date{Control no. \answerbox{1}}
|
\date{Control no. \answerbox{1}}
|
||||||
|
|
||||||
\addtolength{\topmargin}{-2cm}
|
\addtolength{\topmargin}{-2cm}
|
||||||
@@ -40,7 +40,7 @@
|
|||||||
\maketitle
|
\maketitle
|
||||||
\thispagestyle{empty}
|
\thispagestyle{empty}
|
||||||
\section*{}
|
\section*{}
|
||||||
I hereby applicate to register my GPG fingerprint.
|
I hereby applicate to register my GPG fingerprint on my passport.
|
||||||
I fullfil the requirement that I have either
|
I fullfil the requirement that I have either
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item[1.] uploaded the public key to the \textbf{keys.openpgp.org} keyserver \textbf{using the following mail address} or
|
\item[1.] uploaded the public key to the \textbf{keys.openpgp.org} keyserver \textbf{using the following mail address} or
|
||||||
|
|||||||
BIN
docs/PrivacyPolicy.pdf
Normal file
BIN
docs/PrivacyPolicy.pdf
Normal file
Binary file not shown.
@@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
|
|
||||||
\title{\textbf{Privacy Policy}}
|
\title{\textbf{Privacy Policy}}
|
||||||
\author{Intergalactic Registration Office}
|
\author{c3gov}
|
||||||
\date{}
|
\date{}
|
||||||
|
|
||||||
\addtolength{\topmargin}{-2cm}
|
\addtolength{\topmargin}{-2cm}
|
||||||
@@ -31,10 +31,16 @@ This office is compliant with the GDPR.
|
|||||||
\item The gathered information will not kept in the office after finishing the process. They will be always hand over to the applicant. If, how ever, the applicant fails to pick up their documents after the end of the running event, it
|
\item The gathered information will not kept in the office after finishing the process. They will be always hand over to the applicant. If, how ever, the applicant fails to pick up their documents after the end of the running event, it
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item will be kept save until the next event,
|
\item will be kept save until the next event,
|
||||||
\item can be requested via mail
|
\item can be requested via the Chaos Computer Club Essen
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\item The information requiring the usage of the computer are always saved volatilely for issuing the passport document.
|
\item The information requiring the usage of the computer are always saved volatilely for issuing the passport document.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
|
\section*{Contact}
|
||||||
|
Contact information:
|
||||||
|
\begin{itemize}
|
||||||
|
\item Bandie \textless bandie at chaospott.de\textgreater, DECT: 2263
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
\end{document}
|
\end{document}
|
||||||
|
|
||||||
|
|||||||
BIN
docs/Y42.pdf
Normal file
BIN
docs/Y42.pdf
Normal file
Binary file not shown.
@@ -26,7 +26,7 @@
|
|||||||
\fbox{\rule{#1in}{0pt}\rule[-0.5ex]{0pt}{4ex}}}
|
\fbox{\rule{#1in}{0pt}\rule[-0.5ex]{0pt}{4ex}}}
|
||||||
|
|
||||||
\title{\textbf{Application Form Y42}}
|
\title{\textbf{Application Form Y42}}
|
||||||
\author{Intergalactic Registration Office}
|
\author{c3gov}
|
||||||
\date{Control no. \randomnum{1000}}
|
\date{Control no. \randomnum{1000}}
|
||||||
|
|
||||||
\addtolength{\topmargin}{-1cm}
|
\addtolength{\topmargin}{-1cm}
|
||||||
@@ -49,17 +49,17 @@ The passport document has been \ \ \ \answerbox{0.1} already issued in a blank s
|
|||||||
\section*{Personal data}
|
\section*{Personal data}
|
||||||
\
|
\
|
||||||
|
|
||||||
Forename/Nick (max. 17 characters)
|
Forename/Nick (max. 25 characters)
|
||||||
\\
|
\\
|
||||||
\answerbox{6.5}
|
\answerbox{6.5}
|
||||||
\\
|
\\
|
||||||
|
|
||||||
Surname (max. 17 characters) [optional]
|
Surname (max. 25 characters) [optional]
|
||||||
\\
|
\\
|
||||||
\answerbox{6.5}
|
\answerbox{6.5}
|
||||||
\\
|
\\
|
||||||
|
|
||||||
Home(-hackerspace) (max. 17 characters)
|
Home(-hackerspace) (max. 25 characters)
|
||||||
\\
|
\\
|
||||||
\answerbox{6.5}
|
\answerbox{6.5}
|
||||||
\\
|
\\
|
||||||
|
|||||||
BIN
docs/c3govsticker.png
Normal file
BIN
docs/c3govsticker.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 178 KiB |
BIN
docs/de/A23_de.pdf
Normal file
BIN
docs/de/A23_de.pdf
Normal file
Binary file not shown.
94
docs/de/A23_de.tex
Normal file
94
docs/de/A23_de.tex
Normal file
@@ -0,0 +1,94 @@
|
|||||||
|
\documentclass[11pt,a4paper]{article}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{geometry}
|
||||||
|
\geometry{
|
||||||
|
a4paper,
|
||||||
|
total={170mm,287mm},
|
||||||
|
left=20mm,
|
||||||
|
top=20mm,
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\usepackage{pgf}
|
||||||
|
|
||||||
|
\pgfmathsetseed{\number\pdfrandomseed} % to ensure that it is randomized
|
||||||
|
% use \randomseed for xelatex
|
||||||
|
|
||||||
|
\newcommand{\randomnum}[1]{%
|
||||||
|
\pgfmathsetmacro{\thenum}{int(random(ceil(#1-#1/4),floor(#1+#1/4)))}%
|
||||||
|
\thenum%
|
||||||
|
}%
|
||||||
|
|
||||||
|
|
||||||
|
\newcommand{\answerbox}[1]{%%
|
||||||
|
\fbox{\rule{#1in}{0pt}\rule[-0.5ex]{0pt}{4ex}}}
|
||||||
|
|
||||||
|
\title{\textbf{Antragsformular A23}}
|
||||||
|
\author{c3gov}
|
||||||
|
\date{Kontrollnummer \randomnum{1000}}
|
||||||
|
|
||||||
|
\addtolength{\topmargin}{-2cm}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
|
||||||
|
\maketitle
|
||||||
|
\thispagestyle{empty}
|
||||||
|
\section*{}
|
||||||
|
Hiermit beantrage ich mich als Hacker*in / Haeckse zu registrieren.
|
||||||
|
\\
|
||||||
|
Ein Ausweis \ \ \ \answerbox{0.1} ist bereits im Blanko-Zustand vorhanden \ \ \ \answerbox{0.1} wurde noch nicht ausgestellt.
|
||||||
|
|
||||||
|
|
||||||
|
\section*{Persönliche Daten}
|
||||||
|
\
|
||||||
|
|
||||||
|
Vor- oder Nickname (max. 17 Zeichen)
|
||||||
|
\\
|
||||||
|
\answerbox{6.5}
|
||||||
|
\\
|
||||||
|
|
||||||
|
Nachname (max. 17 Zeichen) - optional
|
||||||
|
\\
|
||||||
|
\answerbox{6.5}
|
||||||
|
\\
|
||||||
|
|
||||||
|
Home(-hackspace) (max. 17 Zeichen)
|
||||||
|
\\
|
||||||
|
\answerbox{6.5}
|
||||||
|
\\
|
||||||
|
|
||||||
|
\section*{Derzeitige Lebensumstände}
|
||||||
|
\subsection*{Chaos-Events}
|
||||||
|
Ich habe bisher \ \ \ \ \answerbox{0.1} ein \ \ \ \ \answerbox{0.1} zwei \ \ \ \ \answerbox{0.1} $\{\exists x \in \mathbb{N} \ |\ x > 2 \}$ \ \ \ Chaos-Events besucht.
|
||||||
|
|
||||||
|
\subsection*{Das Chaos}
|
||||||
|
Ich weiß \ \ \ \answerbox{0.1} nichts$^{1)}$ \ \ \ \answerbox{0.1} etwas$^{2)}$ \ \ \ \answerbox{0.1} das Geheimnis$^{3)}$ \ \ \ \ vom Chaos.
|
||||||
|
\\
|
||||||
|
\\
|
||||||
|
Wenn $^{1)}$: \\
|
||||||
|
Was fanden Sie bisher am interessantesten?\\
|
||||||
|
\answerbox{6.5}
|
||||||
|
\\
|
||||||
|
\\
|
||||||
|
Wenn $^{2)}$: \\
|
||||||
|
Haben Sie schon ein Home-Space gefunden?\\
|
||||||
|
\answerbox{0.1} ja \ \ \ \ \answerbox{0.1} nein
|
||||||
|
\\
|
||||||
|
\\
|
||||||
|
Wenn $^{3)}$: \\
|
||||||
|
Bitte vervollständigen Sie: Das geht nicht in \answerbox{3.5}.
|
||||||
|
\\
|
||||||
|
|
||||||
|
\section*{Hinweis}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Um Ihren \textbf{GPG-Fingerabdruck} auf Ihren Passport mitzuregistrieren, bitte \textbf{Formular PKSR20} ausfüllen.
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
\end{document}
|
||||||
|
|
||||||
BIN
docs/de/PKSR20_de.pdf
Normal file
BIN
docs/de/PKSR20_de.pdf
Normal file
Binary file not shown.
93
docs/de/PKSR20_de.tex
Normal file
93
docs/de/PKSR20_de.tex
Normal file
@@ -0,0 +1,93 @@
|
|||||||
|
\documentclass[11pt,a4paper]{article}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{geometry}
|
||||||
|
\geometry{
|
||||||
|
a4paper,
|
||||||
|
total={170mm,257mm},
|
||||||
|
left=20mm,
|
||||||
|
top=20mm,
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\usepackage{pgf}
|
||||||
|
|
||||||
|
\pgfmathsetseed{\number\pdfrandomseed} % to ensure that it is randomized
|
||||||
|
% use \randomseed for xelatex
|
||||||
|
|
||||||
|
\newcommand{\randomnum}[1]{%
|
||||||
|
\pgfmathsetmacro{\thenum}{int(random(ceil(#1-#1/4),floor(#1+#1/4)))}%
|
||||||
|
\thenum%
|
||||||
|
}%
|
||||||
|
|
||||||
|
|
||||||
|
\newcommand{\answerbox}[1]{%%
|
||||||
|
\fbox{\rule{#1in}{0pt}\rule[-0.5ex]{0pt}{4ex}}}
|
||||||
|
|
||||||
|
\title{\textbf{Zusatzformular PKSR20}}
|
||||||
|
\author{c3gov}
|
||||||
|
\date{Kontrollnummer \answerbox{1}}
|
||||||
|
|
||||||
|
\addtolength{\topmargin}{-2cm}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
|
||||||
|
\maketitle
|
||||||
|
\thispagestyle{empty}
|
||||||
|
\section*{}
|
||||||
|
Hiermit beantrage ich meinen GPG-Fingerabdruck auf meinem Passport eintragen zu lassen.
|
||||||
|
Ich erfülle die Voraussetzung, dass ich entweder
|
||||||
|
\begin{itemize}
|
||||||
|
\item[1.] den öffentlichen Schlüssel auf den Schlüsselserver von \textbf{keys.openpgp.org} unter \textbf{folgender E-Mail-Adresse hochgeladen habe} oder
|
||||||
|
\item[2.] ich den \textbf{gesamten GPG-Fingerabdruck} angeben kann, und zwar
|
||||||
|
\end{itemize}
|
||||||
|
\
|
||||||
|
E-Mail-Adresse oder gesamter GPG-Fingerabdruck\\
|
||||||
|
(z.B. 1234-2234-3234-4234-5234-6234-7234-8234-9234-0234)
|
||||||
|
\\
|
||||||
|
\answerbox{6.5}
|
||||||
|
\\
|
||||||
|
\\
|
||||||
|
Ich versichere, dass ich die oben angegebenen Voraussetzungen erfülle und überprüft habe, dass jene Voraussetzung auch während des Registrierungs- und Ausstellungsprozesses gegeben sind.
|
||||||
|
|
||||||
|
|
||||||
|
\section*{Zusätzliche Angaben}
|
||||||
|
Folgende Farbe ist auf den GPG-Fingerabdruck anwendbar:
|
||||||
|
\\
|
||||||
|
Fingerabdruck-Farbe
|
||||||
|
\\
|
||||||
|
\answerbox{6.5}
|
||||||
|
\\
|
||||||
|
\\
|
||||||
|
Bitte Auswahl in einem Satz begründen.
|
||||||
|
\\
|
||||||
|
\answerbox{6.5}
|
||||||
|
\\
|
||||||
|
\\
|
||||||
|
\\
|
||||||
|
Von einer Skala von 1 (auf keinen Fall) bis 5 (auf jeden Fall), wie privat ist Ihr öffentlicher Schlüssel?
|
||||||
|
\\
|
||||||
|
\\
|
||||||
|
\answerbox{0.1} 1 \ \ \ \answerbox{0.1} 2 \ \ \ \answerbox{0.1} 3 \ \ \ \answerbox{0.1} 4 \ \ \ \answerbox{0.1} 5 \ \ \
|
||||||
|
\\
|
||||||
|
\\
|
||||||
|
\\
|
||||||
|
Von einer Skala von 1 (auf keinen Fall) bis 5 (auf jeden Fall), wie privat ist Ihr privater Schlüssel?
|
||||||
|
\\
|
||||||
|
\\
|
||||||
|
\answerbox{0.1} 1 \ \ \ \answerbox{0.1} 2 \ \ \ \answerbox{0.1} 3 \ \ \ \answerbox{0.1} 4 \ \ \ \answerbox{0.1} 5 \ \ \
|
||||||
|
\\
|
||||||
|
\\
|
||||||
|
\\
|
||||||
|
Von einer Skala von 1 (auf keinen Fall) bis 5 (auf jeden Fall), wie öffentlich ist Ihr öffentlicher Schlüssel?
|
||||||
|
\\
|
||||||
|
\\
|
||||||
|
\answerbox{0.1} 1 \ \ \ \answerbox{0.1} 2 \ \ \ \answerbox{0.1} 3 \ \ \ \answerbox{0.1} 4 \ \ \ \answerbox{0.1} 5 \ \ \
|
||||||
|
|
||||||
|
\end{document}
|
||||||
|
|
||||||
BIN
docs/de/Y42_de.pdf
Normal file
BIN
docs/de/Y42_de.pdf
Normal file
Binary file not shown.
86
docs/de/Y42_de.tex
Normal file
86
docs/de/Y42_de.tex
Normal file
@@ -0,0 +1,86 @@
|
|||||||
|
\documentclass[11pt,a4paper]{article}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{geometry}
|
||||||
|
\geometry{
|
||||||
|
a4paper,
|
||||||
|
total={170mm,257mm},
|
||||||
|
left=20mm,
|
||||||
|
top=20mm,
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\usepackage{pgf}
|
||||||
|
|
||||||
|
\pgfmathsetseed{\number\pdfrandomseed} % to ensure that it is randomized
|
||||||
|
% use \randomseed for xelatex
|
||||||
|
|
||||||
|
\newcommand{\randomnum}[1]{%
|
||||||
|
\pgfmathsetmacro{\thenum}{int(random(ceil(#1-#1/4),floor(#1+#1/4)))}%
|
||||||
|
\thenum%
|
||||||
|
}%
|
||||||
|
|
||||||
|
|
||||||
|
\newcommand{\answerbox}[1]{%%
|
||||||
|
\fbox{\rule{#1in}{0pt}\rule[-0.5ex]{0pt}{4ex}}}
|
||||||
|
|
||||||
|
\title{\textbf{Antragsformular Y42}}
|
||||||
|
\author{c3gov}
|
||||||
|
\date{Kontrollnummer \randomnum{1000}}
|
||||||
|
|
||||||
|
\addtolength{\topmargin}{-1cm}
|
||||||
|
\addtolength{\textheight}{1cm}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
|
||||||
|
\maketitle
|
||||||
|
\thispagestyle{empty}
|
||||||
|
|
||||||
|
\section*{}
|
||||||
|
Hiermit beantrage ich mich als Hacker*in / Haeckse zu registrieren.
|
||||||
|
\\
|
||||||
|
Ein Ausweis \ \ \ \answerbox{0.1} ist bereits im Blanko-Zustand vorhanden \ \ \ \answerbox{0.1} wurde noch nicht ausgestellt.
|
||||||
|
|
||||||
|
|
||||||
|
\section*{Persönliche Daten}
|
||||||
|
\
|
||||||
|
|
||||||
|
Vor- oder Nickname (max. 25 Zeichen)
|
||||||
|
\\
|
||||||
|
\answerbox{6.5}
|
||||||
|
\\
|
||||||
|
|
||||||
|
Nachname (max. 25 characters) [optional]
|
||||||
|
\\
|
||||||
|
\answerbox{6.5}
|
||||||
|
\\
|
||||||
|
|
||||||
|
Home(-hackspace) (max. 25 characters)
|
||||||
|
\\
|
||||||
|
\answerbox{6.5}
|
||||||
|
\\
|
||||||
|
|
||||||
|
\section*{Derzeitige Lebensumstände}
|
||||||
|
\subsection*{Chaos-Events}
|
||||||
|
Ich habe bisher \ \ \ \ \answerbox{0.1} ein \ \ \ \ \answerbox{0.1} zwei \ \ \ \ \answerbox{0.1} $\{\exists x \in \mathbb{N} \ |\ x > 2 \}$ \ \ \ Chaos-Events besucht.
|
||||||
|
|
||||||
|
\subsection*{Das Chaos}
|
||||||
|
Ich weiß \ \ \ \answerbox{0.1} nichts$^{1)}$ \ \ \ \answerbox{0.1} etwas$^{2)}$ \ \ \ \answerbox{0.1} das Geheimnis$^{3)}$ \ \ \ \ vom Chaos.
|
||||||
|
\\
|
||||||
|
\\
|
||||||
|
$^{1)}$Bitte Formular R21 ausfüllen \\
|
||||||
|
$^{2)}$Bitte Formular R22 ausfüllen \\
|
||||||
|
$^{3)}$Bitte Formular R23 ausfüllen \\
|
||||||
|
\section*{Hinweis}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Um Ihren \textbf{GPG-Fingerabdruck} auf Ihren Passport mitzuregistrieren, bitte \textbf{Formular PKSR20} ausfüllen.
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
\end{document}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
8
etc/systemd/system/getty@ttyUSB0.service.d/override.conf
Normal file
8
etc/systemd/system/getty@ttyUSB0.service.d/override.conf
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
ExecStart=
|
||||||
|
ExecStart=-/root/c3gov/start_dialog
|
||||||
|
StandardInput=tty
|
||||||
|
StandardOutput=tty
|
||||||
|
Restart=always
|
||||||
|
RestartSec=5
|
||||||
8
etc/systemd/system/getty@ttyUSB1.service.d/override.conf
Normal file
8
etc/systemd/system/getty@ttyUSB1.service.d/override.conf
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
ExecStart=
|
||||||
|
ExecStart=-/root/c3gov/start_dialog
|
||||||
|
StandardInput=tty
|
||||||
|
StandardOutput=tty
|
||||||
|
Restart=always
|
||||||
|
RestartSec=5
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
DEVICE=/dev/ttyUSB2
|
|
||||||
function init() {
|
function init() {
|
||||||
|
|
||||||
stty -F $DEVICE 1:0:80000dbd:0:3:1c:7f:15:4:5:1:0:11:13:1a:0:12:f:17:16:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0
|
stty -F $DEVICE 1:0:80000dbd:0:3:1c:7f:15:4:5:1:0:11:13:1a:0:12:f:17:16:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0
|
||||||
|
|
||||||
# \x1b\x47 - Double Strike
|
# \x1b\x47 - Double Strike
|
||||||
|
|||||||
@@ -60,20 +60,6 @@ function heading() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
if [ $PAGE -eq 1 ]; then
|
|
||||||
makeLeft $NEXTPAGE $FILE
|
|
||||||
fi
|
|
||||||
makeLeft 1 $FILE
|
|
||||||
makeLeft $SPACE $FILE
|
|
||||||
italicLetters $FILE
|
|
||||||
printf "INTERGALACTIC\n" >> $FILE
|
|
||||||
|
|
||||||
if [ $PAGE -eq 1 ]; then
|
|
||||||
makeLeft $NEXTPAGE $FILE
|
|
||||||
fi
|
|
||||||
makeLeft 1 $FILE
|
|
||||||
makeLeft $SPACE $FILE
|
|
||||||
printf "REGISTRATION\n" >> $FILE
|
|
||||||
bigLetters $FILE
|
bigLetters $FILE
|
||||||
|
|
||||||
if [ $PAGE -eq 1 ]; then
|
if [ $PAGE -eq 1 ]; then
|
||||||
@@ -87,7 +73,7 @@ function heading() {
|
|||||||
fi
|
fi
|
||||||
makeLeft $HSPACE $FILE
|
makeLeft $HSPACE $FILE
|
||||||
fi
|
fi
|
||||||
printf "OFFICE\n" >> $FILE
|
printf "c3gov\n" >> $FILE
|
||||||
resetLetters $FILE
|
resetLetters $FILE
|
||||||
|
|
||||||
}
|
}
|
||||||
30
jhp/msg5
30
jhp/msg5
@@ -1,30 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
FILE=/tmp/$RANDOM
|
|
||||||
|
|
||||||
source ../include/nixdorf
|
|
||||||
init
|
|
||||||
|
|
||||||
echo "1
|
|
||||||
2
|
|
||||||
3
|
|
||||||
4
|
|
||||||
5
|
|
||||||
6
|
|
||||||
7
|
|
||||||
8
|
|
||||||
9
|
|
||||||
0
|
|
||||||
1
|
|
||||||
2
|
|
||||||
3
|
|
||||||
4
|
|
||||||
5
|
|
||||||
6
|
|
||||||
7
|
|
||||||
8
|
|
||||||
9
|
|
||||||
0
|
|
||||||
1" > $FILE
|
|
||||||
|
|
||||||
printFile $FILE
|
|
||||||
rm $FILE
|
|
||||||
2
jhp/reg
2
jhp/reg
@@ -21,7 +21,7 @@ init
|
|||||||
makeNewline 1 $FILE
|
makeNewline 1 $FILE
|
||||||
makeLeft $(($LEFT + 12)) $FILE
|
makeLeft $(($LEFT + 12)) $FILE
|
||||||
smallLetters $FILE
|
smallLetters $FILE
|
||||||
printf "/ Intergal. Reg. Office" >> $FILE
|
printf "/ c3gov" >> $FILE
|
||||||
resetLetters $FILE
|
resetLetters $FILE
|
||||||
|
|
||||||
makeNewline $(($TOP - 1)) $FILE
|
makeNewline $(($TOP - 1)) $FILE
|
||||||
|
|||||||
40
jhp/secure
Executable file
40
jhp/secure
Executable file
@@ -0,0 +1,40 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
FILE=/tmp/$RANDOM
|
||||||
|
TOP=5
|
||||||
|
TOP=13
|
||||||
|
TOP2=51
|
||||||
|
LEFT=23
|
||||||
|
|
||||||
|
VISAPAGES=2
|
||||||
|
|
||||||
|
|
||||||
|
if [ $# -eq 0 ]; then
|
||||||
|
echo "Syntax: $0 <SecurityNumber>"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
sn=$1
|
||||||
|
|
||||||
|
source ../include/nixdorf
|
||||||
|
init
|
||||||
|
|
||||||
|
smallLetters $FILE
|
||||||
|
printf "\x1b\x33\x0e" >> $FILE
|
||||||
|
makeNewline $TOP $FILE
|
||||||
|
makeLeft $LEFT $FILE
|
||||||
|
|
||||||
|
printf "$sn" >> $FILE
|
||||||
|
|
||||||
|
makeNewline $(($TOP2 - $TOP)) $FILE
|
||||||
|
makeLeft $LEFT $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
|
||||||
108
stapleddipl/c3gov
Executable file
108
stapleddipl/c3gov
Executable file
@@ -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
|
||||||
134
stapleddipl/gpgkey
Executable file
134
stapleddipl/gpgkey
Executable file
@@ -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
|
||||||
52
stapleddipl/reg
Executable file
52
stapleddipl/reg
Executable file
@@ -0,0 +1,52 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
FILE=/tmp/$RANDOM
|
||||||
|
TOP=54
|
||||||
|
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
|
||||||
41
stapleddipl/secure
Executable file
41
stapleddipl/secure
Executable file
@@ -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 <SecurityNumber>"
|
||||||
|
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
|
||||||
34
stapleddipl/secure_firstpage
Executable file
34
stapleddipl/secure_firstpage
Executable file
@@ -0,0 +1,34 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
FILE=/tmp/$RANDOM
|
||||||
|
TOP=50
|
||||||
|
NEXTFIELD=5
|
||||||
|
LEFT=38
|
||||||
|
MAXLENGTH=6
|
||||||
|
|
||||||
|
GIVENNAME=$1
|
||||||
|
SURNAME=$2
|
||||||
|
HOME=$3
|
||||||
|
|
||||||
|
|
||||||
|
if [ $# -eq 0 ]; then
|
||||||
|
echo "Syntax: $0 <SecurityNumber>"
|
||||||
|
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
|
||||||
133
start_dialog
133
start_dialog
@@ -1,13 +1,17 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
export LANG=C
|
export LANG=C
|
||||||
export EVENT=DiVOC
|
|
||||||
export TERM=vt220
|
export TERM=vt220
|
||||||
|
|
||||||
export DIALOGRC=dialogrc
|
export DIALOGRC=dialogrc
|
||||||
|
|
||||||
LOCKFILE=/tmp/irolock
|
source $(dirname $0)/config
|
||||||
|
|
||||||
|
export PRINTDEVICE="/dev/ttyUSB$CLIENTS"
|
||||||
|
export DEVICE="$PRINTDEVICE"
|
||||||
|
|
||||||
|
LOCKFILE=/tmp/c3govlock
|
||||||
TMP=/tmp/$RANDOM
|
TMP=/tmp/$RANDOM
|
||||||
BT="Intergalactic Registration Office - v0.3"
|
BT="c3gov - v0.5"
|
||||||
|
|
||||||
cd $(dirname "$0")
|
cd $(dirname "$0")
|
||||||
|
|
||||||
@@ -222,13 +226,13 @@ function printReg() {
|
|||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
function printIROStamp() {
|
function printc3govStamp() {
|
||||||
askForField "IRO stamp" "$1"
|
askForField "c3gov stamp" "$1"
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
checkLockFile
|
checkLockFile
|
||||||
diaBox "Insert Passport" "Please insert passport (Visas) into the printer."
|
diaBox "Insert Passport" "Please insert passport (Visas) into the printer."
|
||||||
cd "$1"
|
cd "$1"
|
||||||
./iro $FIELD
|
./c3gov $FIELD
|
||||||
cd ..
|
cd ..
|
||||||
rm $LOCKFILE
|
rm $LOCKFILE
|
||||||
return 0
|
return 0
|
||||||
@@ -254,7 +258,7 @@ function askForField() {
|
|||||||
==================\n
|
==================\n
|
||||||
"
|
"
|
||||||
|
|
||||||
layout[adafruit]="
|
layout[bounddipl]="
|
||||||
------------------\n
|
------------------\n
|
||||||
| VISAS || VISAS |\n
|
| VISAS || VISAS |\n
|
||||||
==================\n
|
==================\n
|
||||||
@@ -264,8 +268,20 @@ function askForField() {
|
|||||||
==================\n
|
==================\n
|
||||||
"
|
"
|
||||||
|
|
||||||
|
layout[stapleddipl]="
|
||||||
|
------------------\n
|
||||||
|
| VISAS || VISAS |\n
|
||||||
|
==================\n
|
||||||
|
| 0 | 1 || 4 | 5 |\n
|
||||||
|
|---|---||---|---|\n
|
||||||
|
| 2 | 3 || 6 | 7 |\n
|
||||||
|
==================\n
|
||||||
|
"
|
||||||
|
|
||||||
|
|
||||||
maxfield[jhp]=11
|
maxfield[jhp]=11
|
||||||
maxfield[adafruit]=7
|
maxfield[bounddipl]=7
|
||||||
|
maxfield[stapleddipl]=7
|
||||||
|
|
||||||
askStr 2 "Select a field" "$text ${layout[$2]}" "" 18
|
askStr 2 "Select a field" "$text ${layout[$2]}" "" 18
|
||||||
if [ $? -eq 1 ]; then
|
if [ $? -eq 1 ]; then
|
||||||
@@ -284,7 +300,8 @@ function askReg() {
|
|||||||
# Max length of passport fields
|
# Max length of passport fields
|
||||||
declare -A MAXLENGTH
|
declare -A MAXLENGTH
|
||||||
MAXLENGTH[jhp]=25
|
MAXLENGTH[jhp]=25
|
||||||
MAXLENGTH[adafruit]=17
|
MAXLENGTH[bounddipl]=17
|
||||||
|
MAXLENGTH[stapleddipl]=17
|
||||||
|
|
||||||
askStr ${MAXLENGTH[$1]} "Forename/Nickname" "Enter forename/nickname"
|
askStr ${MAXLENGTH[$1]} "Forename/Nickname" "Enter forename/nickname"
|
||||||
if [ $? -eq 1 ]; then
|
if [ $? -eq 1 ]; then
|
||||||
@@ -306,14 +323,21 @@ function askReg() {
|
|||||||
|
|
||||||
confirm=" Forename: $FNAME\n Surname: $SNAME\n Place: $PLANET"
|
confirm=" Forename: $FNAME\n Surname: $SNAME\n Place: $PLANET"
|
||||||
|
|
||||||
ynBox "IRO Stamp" "Does this being want to have a IRO stamp?"
|
ynBox "Security" "Secure this passport using security stickers?"
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
SECURE=true
|
||||||
|
else
|
||||||
|
SECURE=false
|
||||||
|
fi
|
||||||
|
|
||||||
|
ynBox "c3gov Stamp" "Does this entity want to have a c3gov stamp?"
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
STAMP=true
|
STAMP=true
|
||||||
else
|
else
|
||||||
STAMP=false
|
STAMP=false
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ynBox "GPG" "Does the being have a GPG key to register?"
|
ynBox "GPG" "Does the entity have a GPG key to register?"
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
enterGPG "" no-confirm
|
enterGPG "" no-confirm
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
@@ -326,12 +350,67 @@ function askReg() {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function enterSecurityCode() {
|
||||||
|
MAXLENGTH=6
|
||||||
|
|
||||||
|
askStr ${MAXLENGTH} "Security code" "Enter security code from the security sticker (e.g. S12345)."
|
||||||
|
if [ $? -eq 1 ]; then
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
SECURITYCODE=$(cat $TMP)
|
||||||
|
confirm "Security code" "Security code: $SECURITYCODE"
|
||||||
|
return $?
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function printSecurePassportFirstPage(){
|
||||||
|
checkLockFile
|
||||||
|
diaBox "Insert Passport" "Pleast insert the FIRST PAGE (Identity) into the printer."
|
||||||
|
|
||||||
|
cd "$1"
|
||||||
|
./secure_firstpage "$SECURITYCODE"
|
||||||
|
cd ..
|
||||||
|
rm $LOCKFILE
|
||||||
|
}
|
||||||
|
|
||||||
|
function printSecurePassport(){
|
||||||
|
checkLockFile
|
||||||
|
diaBox "Insert Passport" "Please insert passport (Visas) into the printer.\nA print on EVERY Visa page is necessary."
|
||||||
|
|
||||||
|
cd "$1"
|
||||||
|
./secure "$SECURITYCODE"
|
||||||
|
cd ..
|
||||||
|
rm $LOCKFILE
|
||||||
|
}
|
||||||
|
|
||||||
|
function enableSecurity() {
|
||||||
|
if [ "$1" = "bounddipl" ]; then
|
||||||
|
diaBox "Error" "Passport security: Passport not supported."
|
||||||
|
else
|
||||||
|
enterSecurityCode
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
case $1 in
|
||||||
|
"bounddipl")
|
||||||
|
;;
|
||||||
|
"jhp")
|
||||||
|
printSecurePassport "$1"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
printSecurePassportFirstPage "$1"
|
||||||
|
printSecurePassport "$1"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
function menuFor() {
|
function menuFor() {
|
||||||
dialog --backtitle "$BT" \
|
dialog --backtitle "$BT" \
|
||||||
--menu "Select ID type:" 14 40 3 \
|
--menu "Select purpose:" 14 40 3 \
|
||||||
1 "Registration" \
|
1 "Registration" \
|
||||||
2 "IRO Stamp" \
|
2 "c3gov Stamp" \
|
||||||
3 "GPG" \
|
3 "GPG" \
|
||||||
|
8 "Secure Passport" \
|
||||||
9 "Back" 2> $TMP
|
9 "Back" 2> $TMP
|
||||||
|
|
||||||
choice=$(cat $TMP)
|
choice=$(cat $TMP)
|
||||||
@@ -340,29 +419,36 @@ function menuFor() {
|
|||||||
1) askReg "$1"
|
1) askReg "$1"
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
printReg "$1"
|
printReg "$1"
|
||||||
if [ "$STAMP" == "true" ]; then
|
if [ "$SECURE" = "true" ]; then
|
||||||
printIROStamp "$1"
|
enableSecurity "$1"
|
||||||
|
fi
|
||||||
|
if [ "$STAMP" = "true" ]; then
|
||||||
|
printc3govStamp "$1"
|
||||||
fi
|
fi
|
||||||
if [ -n "$FP" ]; then
|
if [ -n "$FP" ]; then
|
||||||
printGPG "$1"
|
printGPG "$1"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
2) printIROStamp "$1"
|
2) printc3govStamp "$1"
|
||||||
;;
|
;;
|
||||||
3) enterGPG
|
3) enterGPG
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
printGPG "$1"
|
printGPG "$1"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
8) enableSecurity "$1"
|
||||||
|
;;
|
||||||
|
|
||||||
esac
|
esac
|
||||||
|
|
||||||
unset FNAME
|
unset FNAME
|
||||||
unset SNAME
|
unset SNAME
|
||||||
unset PLANET
|
unset PLANET
|
||||||
unset FP
|
unset FP
|
||||||
unset FIELD
|
unset FIELD
|
||||||
unset FFP
|
unset FFP
|
||||||
|
unset SECURITYCODE
|
||||||
}
|
}
|
||||||
|
|
||||||
function askForFunnyUserCreds() {
|
function askForFunnyUserCreds() {
|
||||||
@@ -375,7 +461,7 @@ function askForFunnyUserCreds() {
|
|||||||
askPw 12 "Login" "Password:" ""
|
askPw 12 "Login" "Password:" ""
|
||||||
password=$(cat $TMP)
|
password=$(cat $TMP)
|
||||||
|
|
||||||
if [ -f .pw/$username ]; then
|
if [ -f ".pw/$username" ]; then
|
||||||
if [ "$password" != $(cat .pw/$username) ]; then
|
if [ "$password" != $(cat .pw/$username) ]; then
|
||||||
clear
|
clear
|
||||||
echo "Wrong credentials."
|
echo "Wrong credentials."
|
||||||
@@ -394,9 +480,10 @@ askForFunnyUserCreds
|
|||||||
while [ true ]; do
|
while [ true ]; do
|
||||||
|
|
||||||
dialog --backtitle "$BT" \
|
dialog --backtitle "$BT" \
|
||||||
--menu "Select ID type:" 10 40 3 \
|
--menu "Select ID type:" 12 40 3 \
|
||||||
1 "Junghackerpass" \
|
1 "Stapled diplomatic passport" \
|
||||||
2 "New Adafruit passport" \
|
2 "Junghackerpass" \
|
||||||
|
3 "Bound diplomatic passport" \
|
||||||
9 "Logout" 2> $TMP
|
9 "Logout" 2> $TMP
|
||||||
|
|
||||||
if [ $? -eq 9 ]; then
|
if [ $? -eq 9 ]; then
|
||||||
@@ -407,9 +494,11 @@ while [ true ]; do
|
|||||||
|
|
||||||
|
|
||||||
case $TYPE in
|
case $TYPE in
|
||||||
1) menuFor jhp
|
1) menuFor stapleddipl
|
||||||
;;
|
;;
|
||||||
2) menuFor adafruit
|
2) menuFor jhp
|
||||||
|
;;
|
||||||
|
3) menuFor bounddipl
|
||||||
;;
|
;;
|
||||||
9) break
|
9) break
|
||||||
;;
|
;;
|
||||||
|
|||||||
Reference in New Issue
Block a user