Compare commits
16 Commits
8dbc8c6605
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
ea4760a81e
|
|||
|
35dd865b80
|
|||
|
fea4680642
|
|||
|
9ca4126e8a
|
|||
|
19af6dbce4
|
|||
|
b85f1d2e83
|
|||
|
95f349fd85
|
|||
|
58c82fa9fc
|
|||
|
216e698f4e
|
|||
|
6cb3c5eeb4
|
|||
|
6efac21a22
|
|||
|
6a1591030d
|
|||
|
daf71a9fed
|
|||
|
09d35810c0
|
|||
|
f9ac98d829
|
|||
|
e2151345d7
|
57
README.md
57
README.md
@@ -1,10 +1,48 @@
|
|||||||
# C3Reg
|
# 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
|
||||||
- Bound Diplomatic passport by Mitch Altman (TVBGone) Matthew Borgatti (har.ms)
|
- Bound Diplomatic passport by Mitch Altman (TVBGone) Matthew Borgatti (har.ms)
|
||||||
@@ -12,3 +50,14 @@ The following passports are supported atm:
|
|||||||
|
|
||||||
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`
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ function heading() {
|
|||||||
makeLeft 1 $FILE
|
makeLeft 1 $FILE
|
||||||
makeLeft $HSPACE $FILE
|
makeLeft $HSPACE $FILE
|
||||||
fi
|
fi
|
||||||
printf "C3Reg\n" >> $FILE
|
printf "c3gov\n" >> $FILE
|
||||||
resetLetters $FILE
|
resetLetters $FILE
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -29,7 +29,7 @@ printf "$GIVENNAME" >> $FILE
|
|||||||
# Authority field
|
# Authority field
|
||||||
makeNewline 2 $FILE
|
makeNewline 2 $FILE
|
||||||
makeLeft $AUTHLEFT $FILE
|
makeLeft $AUTHLEFT $FILE
|
||||||
printf "C3Reg" >> $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{C3Reg}
|
\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{C3Reg}
|
\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{C3Reg}
|
\author{c3gov}
|
||||||
\date{}
|
\date{}
|
||||||
|
|
||||||
\addtolength{\topmargin}{-2cm}
|
\addtolength{\topmargin}{-2cm}
|
||||||
@@ -31,7 +31,7 @@ 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}
|
||||||
|
|||||||
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{C3Reg}
|
\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
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ function heading() {
|
|||||||
fi
|
fi
|
||||||
makeLeft $HSPACE $FILE
|
makeLeft $HSPACE $FILE
|
||||||
fi
|
fi
|
||||||
printf "C3Reg\n" >> $FILE
|
printf "c3gov\n" >> $FILE
|
||||||
resetLetters $FILE
|
resetLetters $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 "/ C3Reg" >> $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
|
||||||
@@ -71,7 +71,7 @@ function heading() {
|
|||||||
makeLeft 1 $FILE
|
makeLeft 1 $FILE
|
||||||
makeLeft $HSPACE $FILE
|
makeLeft $HSPACE $FILE
|
||||||
fi
|
fi
|
||||||
printf "C3Reg\n" >> $FILE
|
printf "c3gov\n" >> $FILE
|
||||||
resetLetters $FILE
|
resetLetters $FILE
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -9,7 +9,7 @@ HEADINGLEFT=1
|
|||||||
HEADINGRIGHT=20
|
HEADINGRIGHT=20
|
||||||
|
|
||||||
# GPG Space
|
# GPG Space
|
||||||
NEXTPAGE=62
|
NEXTPAGE=58
|
||||||
NEXTFIELDBOTTOM=11
|
NEXTFIELDBOTTOM=11
|
||||||
NEXTFIELDRIGHT=31
|
NEXTFIELDRIGHT=31
|
||||||
MAXLENGTH=22
|
MAXLENGTH=22
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ printf "$GIVENNAME" >> $FILE
|
|||||||
# Authority field
|
# Authority field
|
||||||
makeNewline 2 $FILE
|
makeNewline 2 $FILE
|
||||||
makeLeft $AUTHLEFT $FILE
|
makeLeft $AUTHLEFT $FILE
|
||||||
printf "C3Reg" >> $FILE
|
printf "c3gov" >> $FILE
|
||||||
|
|
||||||
makeNewline 3 $FILE
|
makeNewline 3 $FILE
|
||||||
makeLeft $LEFT $FILE
|
makeLeft $LEFT $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
|
||||||
117
start_dialog
117
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/c3reglock
|
source $(dirname $0)/config
|
||||||
|
|
||||||
|
export PRINTDEVICE="/dev/ttyUSB$CLIENTS"
|
||||||
|
export DEVICE="$PRINTDEVICE"
|
||||||
|
|
||||||
|
LOCKFILE=/tmp/c3govlock
|
||||||
TMP=/tmp/$RANDOM
|
TMP=/tmp/$RANDOM
|
||||||
BT="C3Reg - v0.4"
|
BT="c3gov - v0.5"
|
||||||
|
|
||||||
cd $(dirname "$0")
|
cd $(dirname "$0")
|
||||||
|
|
||||||
@@ -222,13 +226,13 @@ function printReg() {
|
|||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
function printC3RegStamp() {
|
function printc3govStamp() {
|
||||||
askForField "C3Reg 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"
|
||||||
./c3reg $FIELD
|
./c3gov $FIELD
|
||||||
cd ..
|
cd ..
|
||||||
rm $LOCKFILE
|
rm $LOCKFILE
|
||||||
return 0
|
return 0
|
||||||
@@ -319,14 +323,21 @@ function askReg() {
|
|||||||
|
|
||||||
confirm=" Forename: $FNAME\n Surname: $SNAME\n Place: $PLANET"
|
confirm=" Forename: $FNAME\n Surname: $SNAME\n Place: $PLANET"
|
||||||
|
|
||||||
ynBox "C3Reg Stamp" "Does this being want to have a C3Reg 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
|
||||||
@@ -339,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 "C3Reg 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)
|
||||||
@@ -353,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
|
||||||
printC3RegStamp "$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) printC3RegStamp "$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() {
|
||||||
@@ -388,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."
|
||||||
@@ -407,10 +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 "Bound diplomatic passport" \
|
2 "Junghackerpass" \
|
||||||
3 "Stapled diplomatic passport" \
|
3 "Bound diplomatic passport" \
|
||||||
9 "Logout" 2> $TMP
|
9 "Logout" 2> $TMP
|
||||||
|
|
||||||
if [ $? -eq 9 ]; then
|
if [ $? -eq 9 ]; then
|
||||||
@@ -421,11 +494,11 @@ while [ true ]; do
|
|||||||
|
|
||||||
|
|
||||||
case $TYPE in
|
case $TYPE in
|
||||||
1) menuFor jhp
|
1) menuFor stapleddipl
|
||||||
;;
|
;;
|
||||||
2) menuFor bounddipl
|
2) menuFor jhp
|
||||||
;;
|
;;
|
||||||
3) menuFor stapleddipl
|
3) menuFor bounddipl
|
||||||
;;
|
;;
|
||||||
9) break
|
9) break
|
||||||
;;
|
;;
|
||||||
|
|||||||
Reference in New Issue
Block a user