Add password paper generator
This commit is contained in:
parent
cc3892463a
commit
60192a0a02
|
@ -0,0 +1,7 @@
|
||||||
|
missfont.log
|
||||||
|
pass.aux
|
||||||
|
pass.fdb_latexmk
|
||||||
|
pass.fls
|
||||||
|
pass.log
|
||||||
|
pass.out
|
||||||
|
teams.pass
|
|
@ -0,0 +1,12 @@
|
||||||
|
all: pass.pdf
|
||||||
|
|
||||||
|
.sh.tex:
|
||||||
|
sh $< < teams.pass > $@
|
||||||
|
|
||||||
|
.tex.pdf:
|
||||||
|
latexmk --xelatex ${.IMPSRC}
|
||||||
|
|
||||||
|
clean:
|
||||||
|
latexmk -c
|
||||||
|
|
||||||
|
.SUFFIXES: .sh .tex .pdf
|
|
@ -0,0 +1,42 @@
|
||||||
|
Password Paper
|
||||||
|
==============
|
||||||
|
|
||||||
|
These scripts generate A4 sheets filled with 2x5
|
||||||
|
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
|
||||||
|
Those scripts requires XeLaTeX and the `texlive-fonts-extra` package.
|
||||||
|
|
||||||
|
It uses the TexLive
|
||||||
|
[dingbat package](http://www.ctan.org/tex-archive/fonts/dingbat/).
|
||||||
|
|
||||||
|
The fonts used come from the
|
||||||
|
[Libertine open fonts project](http://linuxlibertine.org/) and
|
||||||
|
[Fantasque Sans Mono](https://github.com/belluzj/fantasque-sans).
|
||||||
|
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
First, you need to generate the file containing teams and passwords.
|
||||||
|
|
||||||
|
|
||||||
|
### Password file format
|
||||||
|
|
||||||
|
Passwords are given through a DSV file, using `:` as separator.
|
||||||
|
|
||||||
|
For example, a valid `teams.pass` file with 6 teams could be:
|
||||||
|
|
||||||
|
```
|
||||||
|
Abricot:hie9iJ<iexue
|
||||||
|
Cyan:ooxae^L4aeCh
|
||||||
|
Vert:ahNgei3Yoo@w
|
||||||
|
Moutarde:gua3FaiThi]a
|
||||||
|
Zinzolin:eep7Ac}eeH3a
|
||||||
|
Safre:di4eeH\ae9io
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
### Generate the PDF
|
||||||
|
|
||||||
|
Just run `make` to generate the PDf.
|
|
@ -0,0 +1,65 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
cat <<EOF
|
||||||
|
\\documentclass[a4paper]{article}
|
||||||
|
|
||||||
|
\\usepackage[frenchb]{babel}
|
||||||
|
\\usepackage[margin=0.6cm,inner=0cm,outer=0cm]{geometry}
|
||||||
|
\\usepackage{fontspec}
|
||||||
|
\\usepackage{hyperref}
|
||||||
|
\\usepackage{xcolor}
|
||||||
|
\\usepackage{niceframe}
|
||||||
|
|
||||||
|
\\definecolor{grey}{rgb}{0.15, 0.15, 0.15}
|
||||||
|
\\hypersetup{
|
||||||
|
colorlinks = true,
|
||||||
|
urlcolor = grey,
|
||||||
|
linkcolor = grey,
|
||||||
|
}
|
||||||
|
|
||||||
|
\\setmainfont[Ligatures=TeX,Numbers={OldStyle,Proportional}]{Linux Libertine O}
|
||||||
|
\\setsansfont[Ligatures=TeX,Numbers={OldStyle,Proportional}]{Linux Biolinum O}
|
||||||
|
\\setmonofont{FantasqueSansMono-Regular.otf}
|
||||||
|
|
||||||
|
\\newcommand{\\zz}[3]{\\begin{minipage}{.48\\textwidth}
|
||||||
|
\\curlyframe{
|
||||||
|
\\centering
|
||||||
|
{\\sffamily\\huge Bienvenue au challenge forensic EPITA~!}\\\\
|
||||||
|
\\vspace{0.7em}
|
||||||
|
|
||||||
|
Vous trouverez sur la clef USB le nécessaire pour vous authentifier
|
||||||
|
auprès de notre serveur.\\\\
|
||||||
|
\\vspace{0.45em}
|
||||||
|
|
||||||
|
Votre équipe : #1 -- \\emph{#2}\\\\
|
||||||
|
Mot de passe : \\texttt{#3}\\\\
|
||||||
|
\\vspace{0.4em}
|
||||||
|
|
||||||
|
\\url{https://fic.srs.epita.fr/}
|
||||||
|
}
|
||||||
|
\\end{minipage}
|
||||||
|
}
|
||||||
|
|
||||||
|
\\begin{document}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
|
||||||
|
ID=0
|
||||||
|
while read LINE
|
||||||
|
do
|
||||||
|
ID=$(($ID + 1))
|
||||||
|
NAME=$(echo $LINE | cut -d : -f 1 | sed 's/\\/\\textbackslash{}/g;s/&/\\&/g;s/%/\\%/g;s/\$/\\$/g;s/#/\\#/g;s/_/ /g;s/{/\\{/g;s/}/\\}/g;s/~/\\textasciitilde{}/g;s/\^/\\textasciicircum{}/g')
|
||||||
|
PASS=$(echo $LINE | cut -d : -f 2- | sed 's/\\/\\textbackslash{}/g;s/&/\\&/g;s/%/\\%/g;s/\$/\\$/g;s/#/\\#/g;s/_/\\_/g;s/{/\\{/g;s/}/\\}/g;s/~/\\textasciitilde{}/g;s/\^/\\textasciicircum{}/g')
|
||||||
|
|
||||||
|
echo "\\zz{$ID}{$NAME}{$PASS}"
|
||||||
|
|
||||||
|
if [ $(($ID % 2)) = 0 ]
|
||||||
|
then
|
||||||
|
echo
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
cat <<EOF
|
||||||
|
\\end{document}
|
||||||
|
EOF
|
Loading…
Reference in New Issue