Compare commits

..

No commits in common. "7a644b5e3d277f67d7bc4dc2e1fac15af4a34e6a" and "e42385e732e9f3448c38d02ab057ca0fd04dcfb7" have entirely different histories.

14 changed files with 42 additions and 319 deletions

View File

@ -1,68 +0,0 @@
\chapter{Bonjour} \index{Bonjour}
\label{chap:Bonjour}
Bonjour (anciennement nommé RendezVous) est l'implémentation
par Apple de la norme Zeroconf\index{zeroconf}.
C'est un système de mise en réseau local automatique.
Bonjour utilise le port \textbf{5353} en UDP\index{UDP}.
Pour IPv4, la RFC 3927 de l'IETF définit l'allocation
dynamique d'adresses IP dans la plage 169.254.0.0/16.
Avahi\index{avahi} est une bibliothèque logicielle fournissant une
implémentation libre des protocoles IPv4LL, mDNS et DNS-SD.
% -----------------------------------------------------------
\section{Outils}
Bon, maintenant, que faire de tout ça ? Explorer ce qui se trame
sur notre réseau local ? C'est évident que si il y a rendez-vous,
il y a forcément de la drague\index{drague} sur le LAN.
Et la drague, le meilleur moyen c'est quand même du
broadcast\index{broadcast} sur UDP\index{UDP}.
Il y a même un logiciel spécialisé pour entendre ça :
\begin{quote}
mdns-scan is a tool for scanning for mDNS/DNS-SD published services on
the local network. It issues a mDNS\index{mDNS} PTR query to the special
RR \_services.\_dns-sd.\_udp.local for retrieving a list of all currently
registered services on the local link.
\end{quote}
\begin{verbatim}
tth@debian:~/Devel/TetaTricks$ mdns-scan
+ saned._sane-port._tcp.local
+ DELIRIUM._smb._tcp.local
+ DELIRIUM._device-info._tcp.local
+ Serviette._nut._tcp.local
+ Serviette._mumble._tcp.local
+ RENAN-PC._nvstream._tcp.local
+ Mac Pro de XANO._afpovertcp._tcp.local
+ Mac Pro de XANO._smb._tcp.local
+ MacBook Pro de Romain._smb._tcp.local
+ Mac Pro de XANO._companion-link._tcp.local
+ HP Photosmart C4400 series @ MacBook Pro de Sophie de Angelis (._ipp._tcp.local
+ TOSHIBA e-STUDIO2040C-07304719 @ MacBook Pro de Sophie de Angel._ipp._tcp.local
+ TOSHIBA e-STUDIO2010AC-13828385._http._tcp.local
+ MacBook Pro de Manon._companion-link._tcp.local
+ Mac Pro de XANO / Mac Pro de MacPro._c4ds._tcp.local
+ 0418C7E2-071B-4BC7-B210-20F4D6BED80A._netrender._tcp.local
\end{verbatim}
Que faire de toutes ces information, à part savoir que la machine
\texttt{delirium} semble être un serveur Samba\index{Samba} ?
% -----------------------------------------------------------
\section{Code}
XXX\index{XXX}
Je ne sais même pas par où commencer \textit{:)}
% -----------------------------------------------------------

View File

@ -1,12 +1,10 @@
\chapter{Domain Name Service} \chapter{Domain Name Service}
\label{chap:DNS} \label{DNS}
\section{Outils de base} \section{host}
\subsection{host}
\index{host} \index{host}
C'est vraiment la commande \textit{vanilla} pour tout ce qui touche à la C'est vraiment la commande de base pour tout ce qui touche à la
résolution de nom. Elle propose les premières options de base, résolution de nom. Elle propose les premières options de base,
avec une syntaxe facile à retenir. Elle existe, sous des formes avec une syntaxe facile à retenir. Elle existe, sous des formes
légèrement déviantes, dans une grande partie des légèrement déviantes, dans une grande partie des
@ -26,7 +24,7 @@ plus loin ?
% ------------------------------------------------------------ % ------------------------------------------------------------
\subsection {nslookup} \section {nslookup}
\index{nslookup} \index{nslookup}
\begin{quote} \begin{quote}
@ -41,7 +39,7 @@ a host or domain. »
% ------------------------------------------------------------ % ------------------------------------------------------------
\subsection{dig} \section{dig}
\index{dig} \index{dig}
Dig (\textit{domain information groper}) est un outil d'interrogation Dig (\textit{domain information groper}) est un outil d'interrogation
@ -55,40 +53,30 @@ Pour le reverse d'une adresse IP :
\$ dig +trace -x <adresse.ip> \$ dig +trace -x <adresse.ip>
% ------------------------------------------------------------ % ------------------------------------------------------------
% \subsection{delv} \section{delv}
% \index{delv} \index{delv}
%
Nouvel outil en rapport avec DNSSEC\index{DNSSEC}. Nouvel outil en rapport avec DNSSEC\index{DNSSEC}.
% XXX % XXX
% \index{XXX} \index{XXX}
% http://www.bortzmeyer.org/delv.html % http://www.bortzmeyer.org/delv.html
% XXX % XXX
% ------------------------------------------------------------ % ------------------------------------------------------------
\subsection{checkresolv} \section{checkresolv}
Outil très basique conçu et bricolé par Tonton~Th au siècle Outil très basique conçu et bricolé par Tonton~Th au siècle
dernier lors d'un séjour à Frontignan-plage. Hélas, les sources dernier lors d'un séjour à Frontignan-plage.
semblent définitivement perdues.
Une ré-écriture s"impose\dots
% ------------------------------------------------------------ % ------------------------------------------------------------
\section{DHCP} \index{DHCP}
\begin{quote}
The DHCP protocol allows a host to contact a central server which maintains a
list of IP addresses which may be assigned on one or more subnets. A DHCP
client may request an address from this pool, and then use it on a temporary
basis for communication on network.
\end{quote}
% ------------------------------------------------------------
\section{dnsmasq} \section{dnsmasq}
\index{dnsmasq} \index{dnsmasq}
\begin{quote} \begin{quote}
dnsmasq is a lightweight DNS, TFTP and DHCP server. It is intended to dnsmasq is a lightweight DNS, TFTP and DHCP server. It is intended to
provide coupled DNS and DHCP service to a LAN. provide coupled DNS and DHCP service to a LAN.
\end{quote} \end{quote}

View File

@ -1,30 +0,0 @@
\chapter{Fedora}
\label{chap:fedora} \index{Fedora}
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
\section{Gestion des paquets}
DNF\index{dnf} semble être l'outil de prédilection.
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
\section{Firewall}
Krkrkr, UPD\index{UDP} est bloqué en entrée ? Wtf ?
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
\section{Include dir}
Chez Fedora, certains fichiers \texttt{.h} ne sont pas à la même
place que dans d'autres distributions\index{Debian}, ce qui cause quelques
soucis pour les compilations.
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
\section{Comment installer ffmpeg ?}
\index{ffmpeg}
D'après Blaise (regatta) il faut voir du coté de rpmfusion.
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

View File

@ -1,11 +0,0 @@
\chapter{IPv6} \label{chap/IPv6}
\index{IPv6}
Désactivation :
\texttt{echo '1' > /proc/sys/net/ipv6/conf/lo/disable\_ipv6}
\texttt{echo '1' > /proc/sys/net/ipv6/conf/all/disable\_ipv6}
\texttt{echo '1' > /proc/sys/net/ipv6/conf/default/disable\_ipv6}

View File

@ -1,21 +0,0 @@
\chapter{Raspberry Pi}
\label{chap:raspberry}
\index{Raspberry}
\section{Quel OS ?}
Arthur ? RiscOS ? Haiku ? Plan9 ?
\section{Headless}\index{headless}
Comment générer une SD qui soit accessible par ssh\index{ssh}
dès le démarrage ?
\section{Connecteur}
Que faut-il faire pour avoir un vrai rs232, et faire du
SLIP\index{SLIP} avec ?

View File

@ -1,5 +1,5 @@
\chapter{X11} \chapter{X11}
\label{X11}\index{X11} \label{X11}
%------------------------------------------------------------------- %-------------------------------------------------------------------
\section{Les fontes} \section{Les fontes}
@ -31,6 +31,7 @@ le clavier en Azerty\index{azerty} ?
%------------------------------------------------------------------- %-------------------------------------------------------------------
\section{Numlock} \section{Numlock}
\begin{verbatim} \begin{verbatim}
#include <X11/XKBlib.h> #include <X11/XKBlib.h>
#include <X11/extensions/XKB.h> #include <X11/extensions/XKB.h>
@ -45,8 +46,6 @@ int main(){
return 0;} return 0;}
\end{verbatim} \end{verbatim}
Mais c'est du très vieux code, ça !
%------------------------------------------------------------------- %-------------------------------------------------------------------
% new 20 décembre 2012 à Mixart-Myrys % new 20 décembre 2012 à Mixart-Myrys
\section{xdotool} \section{xdotool}
@ -85,10 +84,9 @@ $
\end{verbatim} \end{verbatim}
Voilà\footnote{en français dans le texte}, nous savons maintenant Voilà\footnote{en français dans le texte}, nous savons maintenant
à quelle fenêtre causer : par son numéro d'identification. à quelle fenêtre causer : par son numéro.
Le problême des multiples fenêtres du même nom sera abordé Le problême des multiples fenêtres du
ultérieurement. même nom sera abordé ultérieurement.
Déplaçons donc notre widget\dots Déplaçons donc notre widget\dots
\begin{verbatim} \begin{verbatim}

View File

@ -88,7 +88,7 @@ D'autres songent à MXDoctor\index{emacs} ou Camélia.
Ahem, là, c'est délicat, parce que je ne sais pas Ahem, là, c'est délicat, parce que je ne sais pas
vraiment\footnote{Enfin, si, j'essaye de confectionner vraiment\footnote{Enfin, si, j'essaye de confectionner
un soft pour fabriquer des flipbooks à partir de portnawak} un soft pour fabriquer des flipbooks à partir de portnawak}
faire d'animation imprimable. d'animation imprimable.
% =============================================================== % ===============================================================

View File

@ -1,59 +0,0 @@
\chapter{gif89a}\index{gif89a}
\label{chap:gif89a}
Ah, enfin nous arrivons à un sujet \textbf{vraiment} important :
la confection d'images qui clignotent. Ça va aussi être l'occasion
de plonger un peu dans l'histoire du siècle dernier. Nous allons
parler de Compuserve\index{Compuserve} que seul les plus anciens
d'entre vous on pu connaitre.
\begin{quote}
\textsl{Wikipedia} :
CompuServe (ou CompuServe Information Services, ou CIS), est le
premier des grands fournisseurs de services en ligne aux États-Unis.
Il domine le marché pendant les années 1980 puis reste un acteur
important au milieu des années 1990.
\end{quote}
Voilà pour expliquer brièvement d'où sort ce fameux format \textsc{gif}.
À l'époque, les moyens de connexion étaient beauuucoup plus lents que
ce que nous connaissons en 2020\footnote{Une fscking mauvaise année},
mais les écrans graphiques commençaient à bien se répandre, et certains
pouvaient même afficher {\em 256 couleurs}~:
\begin{quote}
L'entreprise est aussi connue pour avoir mis au point un format d'image
numérique très répandu, le GIF\index{GIF}, en 1987.
\end{quote}
Deux ans plus tard, le public demandant de plus en plus d'images
épileptisante, une extension de ce format et reçu le petit nom
de \textsc{gif89a}. Il y a toujours la limitation à 256 couleurs
et un seul niveau de transparence. Contraintes qui n'étaient pas si
génantes que ça à l'époque vu les terminaux visés.
% ==================================================================
\section{Création}
Avec une des commandes d'ImageMagick, on peut, à partir d'une suite
d'image, créer une gif89a qui tourne en boucle~:
\begin{verbatim}
convert -delay 20 -loop 0 a.png b.png c.png foo.gif
\end{verbatim}
Le \textsl{delay} est exprimé en millisecondes.
Et ensuite, vouv pouvez voir votre logo en flamme avec la
commande \texttt{animate foo.gif} sur votre super écran svga.
% ==================================================================
\section{Manipulation}
% ==================================================================
\section{Exemples pratiques}
% ==================================================================

View File

@ -1,20 +1,14 @@
\chapter{Image} \chapter{Image}
\label{chap:image} \label{chap:image}
Le traitement des images est un art à part entière. Nous allons
voir quelques grands classiques de la catégorie pas du tout
interactif. Le genre de machin que l'on peut ranger au fond
d'un script shell pour le réutiliser la semaine prochaine.
% ------------------------------------------------------------------- % -------------------------------------------------------------------
\section{ImageMagick}\index{ImageMagick} \section{ImageMagick}\index{ImageMagick}
Attention, ça va devenir \textsl{hardu}% Attention, ça va devenir \textsl{hardu}%
\footnote{Nous attendons tous avec impatience l'ouvrage magistral \footnote{Nous attendons tous avec impatience l'ouvrage de Brunus},
de maitre Brunus},
l'abondance d'options l'abondance d'options
des outils ImageMagick est vraiment énorme, et leurs des outils imagemagick est vraiment énorme, et leurs
interactions parfois troublantes\dots interactions parfois troublantes\dots
\subsection{Écrire du texte} \subsection{Écrire du texte}
@ -22,7 +16,7 @@ interactions parfois troublantes\dots
Voici un exemple concret Voici un exemple concret
(tiré du script d'encodage du \textsc{cloître}\index{cloître}) (tiré du script d'encodage du \textsc{cloître}\index{cloître})
qui montre l'essentiel pour bien débuter. C'est une fonction qui montre l'essentiel pour bien débuter. C'est une fonction
écrite en bash\index{bash} qui rajoute un texte sur une image. : écrite en bash\index{bash} qui rajoute un texte sur une image :
\begin{verbatim} \begin{verbatim}
function tagpic function tagpic
@ -30,10 +24,12 @@ function tagpic
infile="$1" infile="$1"
outfile="$2" outfile="$2"
texte="$3" texte="$3"
txtfont=" -font Utopia " txtfont=" -font Utopia "
fontsize=" -pointsize 96 -kerning 6 " fontsize=" -pointsize 96 -kerning 6 "
color=" -fill Gray20 -stroke White " color=" -fill Gray20 -stroke White "
txtopts=" -antialias -alpha off $txtfont " txtopts=" -antialias -alpha off $txtfont "
convert $infile \ convert $infile \
${txtopts} \ ${txtopts} \
${txtfont} ${fontsize} \ ${txtfont} ${fontsize} \
@ -44,66 +40,15 @@ convert $infile \
} }
\end{verbatim} \end{verbatim}
Quelques explications semblent nécessaires, parce que certaines Quelques explications...
options sont un peu ésotériques...
\begin{itemize}
\item{txtfont}
\item{fontsize}
\item{colors}
\item{txtopts}
\item{-gravity}
\item{-annotate}
\end{itemize}
\subsection{Faire des GIFs animées}\index{GIF}
Ces images clignotantes sont l'essence même du Web\index{Web}
moderne depuis 1992, et \texttt{convert} sait très bien les
générer.
\begin{verbatim}
convert -delay 20 -loop 0 a.png b.png c.png foo.gif
\end{verbatim}
Ce sujet pertinent est abordé plus en détails en
page \pageref{chap:gif89a}
\subsection{Extraire une partie de l'image}
Dans cette fonctionnalité aussi, il semble y avoir quelques
subtilités.
\begin{verbatim}
DIM="1024x768"
convert -crop ${DIM}+512+0 $img $dst
\end{verbatim}
% ------------------------------------------------------------------- % -------------------------------------------------------------------
\section{Gmic}\index{Gmic} \section{Gmic}\index{Gmic}
XXX\index{XXX}
Existe aussi en plugin pour Gimp\index{Gimp}.
% ------------------------------------------------------------------- % -------------------------------------------------------------------
\section{NetPBM}\index{netpbm}\label{netpbm}
With the Netpbm file formats, its trivial to output pixels using
nothing but text based IO%
\footnote{https://www.vidarholen.net/contents/blog/?p=904}.
\begin{verbatim}
#!/bin/bash
exec > my_image.ppm # All echo statements will write here
echo "P3 250 250 255" # magic, width, height, max component value
for ((y=0; y<250; y++)) {
for ((x=0; x<250; x++)) {
echo "$((x^y)) $((x^y)) $((x|y))" # r, g, b
}
}
\end{verbatim}

View File

@ -6,7 +6,7 @@ Nous allons voir dans ce chapitre quelques utilisations
que l'on peut qualifier de «~créatives~». que l'on peut qualifier de «~créatives~».
Si vous attendiez des choses plus sérieuses, j'ai aussi ça Si vous attendiez des choses plus sérieuses, j'ai aussi ça
en magasin : \textsc{dns} page \pageref{chap:DNS}, en magasin : \textsc{dns} page \pageref{DNS},
\textsc{ssh} page \pageref{ssh}, \textsc{ssh} page \pageref{ssh},
streaming page \pageref{streaming}, streaming page \pageref{streaming},
et probablement bien d'autres à venir. et probablement bien d'autres à venir.
@ -146,16 +146,14 @@ iptraf\index{iptraf}
\subsection{tcpdump} \subsection{tcpdump}
\index{tcpdump} \index{tcpdump}
C'est clairement un outil dédié au voyeurisme, mais qui permet de C'est clairement un outil dédié au voyeurisme :)
décrypter les ésotérismes de MiniMad\index{minimad}. C'est donc
sur cet exemple que nous allons partir.
% ------------------------------------------------------------- % -------------------------------------------------------------
\subsection{nmap} \subsection{nmap}
\index{nmap} \index{nmap}
C'est clairement aussi un outil dédié au voyeurisme :) C'est clairement un outil dédié au voyeurisme :)
% ============================================================== % ==============================================================
@ -166,8 +164,7 @@ C'est clairement aussi un outil dédié au voyeurisme :)
The nc (or netcat) utility is used for just about anything under the sun The nc (or netcat) utility is used for just about anything under the sun
involving TCP or UDP. It can open TCP connections, send UDP packets, involving TCP or UDP. It can open TCP connections, send UDP packets,
listen on arbitrary TCP and UDP ports, do port scanning, and deal with listen on arbitrary TCP and UDP ports, do port scanning, and deal with
both IPv4 and IPv6\footnote{Voir le chapitre \ref{chap/IPv6}} both IPv4 and IPv6. Unlike telnet(1), nc scripts nicely, and separates
. Unlike telnet(1), nc scripts nicely, and separates
error messages onto standard error instead of sending them to standard error messages onto standard error instead of sending them to standard
output, as telnet(1) does with some. output, as telnet(1) does with some.
\end{quote} \end{quote}

View File

@ -1,10 +1,10 @@
\chapter{ssh} \chapter{ssh}
\label{chap:ssh} \label{ssh}
Secure Shell. Secure Shell.
D'après le site \texttt{openssh.org} : D'après le site \texttt{openssh.org} :
\textit{OpenSSH is a {\em free} version of the SSH\index{ssh} connectivity \textit{OpenSSH is a {\em free} version of the SSH\index{SSH} connectivity
tools that technical users of the Internet rely on. Users of tools that technical users of the Internet rely on. Users of
telnet, rlogin, and ftp\index{ftp} may not realize that their password telnet, rlogin, and ftp\index{ftp} may not realize that their password
is transmitted across the Internet unencrypted, but it is transmitted across the Internet unencrypted, but it
@ -14,8 +14,6 @@ other attacks. Additionally, OpenSSH provides secure tunneling
capabilities and several authentication methods, and supports capabilities and several authentication methods, and supports
all SSH protocol versions.} all SSH protocol versions.}
\section{X11 forwarding}\index{X11}
\section{sshfs} \section{sshfs}

View File

@ -49,8 +49,6 @@ with a crossfader, a jingle player, microphone signal processing
\section{liquidsoap} \section{liquidsoap}
\index{liquidsoap} \index{liquidsoap}
\texttt{https://www.liquidsoap.info/}
\begin{quote} \begin{quote}
Liquidsoap is an extensible and flexible audio stream generator, mainly Liquidsoap is an extensible and flexible audio stream generator, mainly
used for streaming to a shoutcast/icecast server. used for streaming to a shoutcast/icecast server.

View File

@ -37,16 +37,11 @@ ioctl: VIDIOC_ENUM_FMT
Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.033s (30.000 fps)
\end{verbatim} \end{verbatim}
Question : quelle méthode utiliser pour avoir la même chose avec
des lignes de code écrites en C ?
% -------------------------------------------------------------------- % --------------------------------------------------------------------
\section{vgrabbj} \section{vgrabbj}
\index{vgrabbj} \index{vgrabbj}
D'après la manpage : D'après la manpage :
« \textit{ « \textit{
vgrabbj is a program that will grab images from any v4l-capable device vgrabbj is a program that will grab images from any v4l-capable device

View File

@ -14,7 +14,7 @@
\setlength \parindent {1em} \setlength \parindent {1em}
\setlength \parskip {0.200em} % XXX % XXX \setlength \parskip {0.333em}
%------ reglages des 'listings' %------ reglages des 'listings'
\lstset{frame=single} % dessin d'un cadre autour du listing \lstset{frame=single} % dessin d'un cadre autour du listing
@ -45,12 +45,10 @@ peut-être pas vraiment d'actualité.
\vspace{5em} \vspace{5em}
Cependant, toute cette ouvrage est en cours de Tout cette ouvrage a été écrit avec mousepad et \LaTeX{}
réécriture avec Mousepad et \LaTeX{}
selon la méthode éprouvée dite selon la méthode éprouvée dite
de «~La~Rache~»\index{rache}, de «~La~Rache~»\index{rache},
essentiellement sur une machine Debian/amd64, avec des essentiellement sur une machine Debian/amd64.
morceaux de Fedora Server 33 à coté\index{Fedora}.
\vspace{5em} \vspace{5em}
@ -65,33 +63,28 @@ Your mileage may vary\dots
% ============================================================== % ==============================================================
\input{chap/shell} \input{chap/shell}
% \input{chap/editeurs} \input{chap/editeurs}
\input{chap/son} \input{chap/son}
\input{chap/image} \input{chap/image}
\input{chap/reseau}
\input{chap/musique} \input{chap/musique}
% \input{chap/puredata} \input{chap/puredata}
\input{chap/MIDI} \input{chap/MIDI}
\input{chap/OSC} \input{chap/OSC}
\input{chap/backups} \input{chap/backups}
% \input{chap/processing} \input{chap/processing}
\input{chap/video} \input{chap/video}
\input{chap/gnuplot} \input{chap/gnuplot}
\input{chap/webcam} \input{chap/webcam}
% \input{chap/SCSI} \input{chap/SCSI}
\input{chap/X11} \input{chap/X11}
\input{chap/dino} \input{chap/dino}
\input{chap/textes} \input{chap/textes}
\input{chap/MINITEL} \input{chap/MINITEL}
\input{chap/Raspberry}
\input{chap/Fedora}
\input{chap/IPv6}
\input{chap/threads} \input{chap/threads}
% \input{chap/dosbox} \input{chap/dosbox}
\input{chap/photos} \input{chap/photos}
\input{chap/Bonjour}
\input{chap/debug} \input{chap/debug}
\input{chap/gif89a} \input{chap/reseau}
\input{chap/IRC} \input{chap/IRC}
\input{chap/Usenet} \input{chap/Usenet}
\input{chap/DNS} \input{chap/DNS}
@ -99,7 +92,7 @@ Your mileage may vary\dots
\input{chap/hardware} \input{chap/hardware}
\input{chap/streaming} \input{chap/streaming}
\input{chap/gadgets} \input{chap/gadgets}
% \input{chap/slang} \input{chap/slang}
\input{chap/curses} \input{chap/curses}
\input{chap/WiFi} \input{chap/WiFi}
\input{chap/GIT} \input{chap/GIT}