🚚 Move all pages to docs/

🔥 Also delete old pages
This commit is contained in:
Benoit S 2021-02-20 12:30:09 +09:00
parent eee1c30f6a
commit 1682796065
29 changed files with 0 additions and 2827 deletions

137
docs/CV/CV.md Normal file
View file

@ -0,0 +1,137 @@
---
format: Markdown
toc: no
title: CV / Resume
...
[PDF version](CV.pdf)
```
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: THIS RESUME IS SO GEEK!!!11 @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[benoit@brain ~]$ uptime
00:00:00 up 10957 days (30y), 0:00, 1 users, load average: 0,10, 0,20, 0,30
[benoit@brain ~]$ cat /proc/cpuinfo
Informations
processor : 0
vendor_id : Benoît
cpu family : S.
model : human male
model name : benpro
cpu Hz : 2Hz IRL, 10Hz when using a computer, but scheduling can
be slow or may hang!
cpu cores : I have only one brain.
flags : serious, independent, rigorous, self-taught, geek, hacker
[benoit@brain ~]$ route
Route of studying (all in France)
Destination Gateway Genmask Flags
LPRO SIL ASR IUT Paul-Verlaine Metz 57000 (3 years university degree)
BTS IG ARLE Lycée Ozenne Toulouse 31000 (2 years university degree)
BAC PRO MRIM Lycée Eugène Montel Colomiers 31770 (high-school diploma)
CAP AMMB Lycée Eugène Montel Colomiers 31770
default self-taught 0.0.0.0 0
[benoit@brain ~]$ lsb_release -a
Professional experiences
LSB Version: 2011→2020
Distributor ID: Evolix
Description: French IT company (Open Source Managed Hosting Provider)
Release: sysadmin/devops
[benoit@brain ~]$ lsmod
Activated modules (Knowledge list)
Size: 1 "I know a little about it", 2 "I'm quite good at it", 3 "Experienced".
Module Size Used by
Shell/Bash 3 Computer languages
PHP 1 Computer languages
HTML 1 Computer languages
CSS 1 Computer languages
C/C++ 1 Computer languages
SQL 1 Computer languages
Java 1 Computer languages
Ruby 1 Computer languages
Ansible 2 Automation
git 2 VCS
svn 1 VCS
cvs 1 VCS
GitLab 2 Hosted VCS
Gitea 2 Hosted VCS
Debian 3 GNU/Linux distribs
Ubuntu 3 GNU/Linux distribs
Arch Linux 3 GNU/Linux distribs
Redhat/Centos 1 GNU/Linux distribs
OpenBSD 1 BSD
FreeBSD 1 BSD
systemd 3 Services manager
HAProxy 2 Services load balancing
Apache 2 Services web
NginX 2 Services web
Bind 2 Services dns
Proftpd 2 Services ftp/sftp
Munin 3 Services monitoring
Nagios 1 Services monitoring
Icinga 1 Services monitoring
Squid 2 Services proxy
Tomcat 2 Services application
Postfix 3 Services mail
Dovecot 2 Services mail
Samba 1 Services files sharing
Rsync 3 Services files sharing
LDAP 1 Services directory
CUPS 1 Services print
MariaDB/MySQL 3 Services database
MongoDB 1 Services database
PostgreSQL 1 Services database
Oracle 1 Services database
SQLite 1 Services database
ElasticSearch 1 Services database
Memcached 1 Services database
Redis 2 Services database
Fail2Ban 2 Services security
Let's Encrypt 3 Services security
OpenSSH 3 Services security
ZFS 1 Storage
LUKS 1 Storage encryption
DRBD 2 Storage replicated
LVM 2 Storage provisioning
Mdadm 2 Storage data redundancy
NFS 2 Storage sharing
VMware 1 Hypervisor
KVM/virsh 3 Hypervisor
VirtualBox 3 Hypervisor
Xen 1 Hypervisor
AWS 1 Cloud provider
GCP 1 Cloud provider
Port Trunking 2 Switchs
VLAN 2 Switchs
Spanning Tree 2 Switchs
Static routing 2 Routers
Dynamic routing 1 Routers
pfSense 3 Firewall
Netfilter/iptables 2 Firewall
PacketFilter 1 Firewall
Assembly 3 Hardware
French 3 Languages (Native)
English 2 Languages (TOEIC Listening and Reading 895)
Japanese 1 Languages (Upper Beginner)
And many others, thanks to FLOSS, I learn all day, that is really
great!
[benoit@brain ~]$ ls -l ~/passions
Japanese culture, especially pop.
Photography, especially landscape.
Opensource/Hacking, yeah, that's a passion!
[benoit@brain ~]$ ls -l /etc/nginx/sites-enabled
https://www.benpro.fr this wiki website using a git backend
https://blog.benpro.fr blog about FLOSS and Japan things
https://photos.benpro.fr photos gallery
https://toots.benpro.fr mastodon account
[benoit@brain ~]$ more ~/cv
Ask me! resumebenpro⊙fr
```

BIN
docs/CV/CV.pdf Normal file

Binary file not shown.

173
docs/CV/CV.tex Normal file
View file

@ -0,0 +1,173 @@
---
format: Latex
toc: no
title: CV / Resume
...
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Developer CV
% LaTeX Template
% Version 1.0 (28/1/19)
%
% This template originates from:
% http://www.LaTeXTemplates.com
%
% Authors:
% Jan Vorisek (jan@vorisek.me)
% Based on a template by Jan Küster (info@jankuester.com)
% Modified for LaTeX Templates by Vel (vel@LaTeXTemplates.com)
%
% License:
% The MIT License (see included LICENSE file)
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%----------------------------------------------------------------------------------------
% PACKAGES AND OTHER DOCUMENT CONFIGURATIONS
%----------------------------------------------------------------------------------------
\documentclass[9pt]{developercv} % Default font size, values from 8-12pt are recommended
%----------------------------------------------------------------------------------------
\begin{document}
%----------------------------------------------------------------------------------------
% TITLE AND CONTACT INFORMATION
%----------------------------------------------------------------------------------------
\begin{minipage}[t]{0.45\textwidth} % 45% of the page width for name
\vspace{-\baselineskip} % Required for vertically aligning minipages
% If your name is very short, use just one of the lines below
% If your name is very long, reduce the font size or make the minipage wider and reduce the others proportionately
\colorbox{black}{{\HUGE\textcolor{white}{\textbf{\MakeUppercase{Benoît}}}}} % First name
\colorbox{black}{{\HUGE\textcolor{white}{\textbf{\MakeUppercase{S}}}}} % Last name
\vspace{6pt}
{\huge System administrator} % Career or current job title
\end{minipage}
\begin{minipage}[t]{0.275\textwidth} % 27.5% of the page width for the first row of icons
\vspace{-\baselineskip} % Required for vertically aligning minipages
% The first parameter is the FontAwesome icon name, the second is the box size and the third is the text
% Other icons can be found by referring to fontawesome.pdf (supplied with the template) and using the word after \fa in the command for the icon you want
\icon{MapMarker}{12}{Toulouse, France}\\
\icon{Phone}{12}{+33-redacted-}\\
\icon{At}{12}{\href{mailto:resume@benpro.fr}{resume@benpro.fr}}\\
\end{minipage}
\begin{minipage}[t]{0.275\textwidth} % 27.5% of the page width for the second row of icons
\vspace{-\baselineskip} % Required for vertically aligning minipages
% The first parameter is the FontAwesome icon name, the second is the box size and the third is the text
% Other icons can be found by referring to fontawesome.pdf (supplied with the template) and using the word after \fa in the command for the icon you want
\icon{Globe}{12}{\href{https://www.benpro.fr}{www.benpro.fr}}\\
\icon{Git}{12}{\href{https://git.benpro.fr/benpro}{git.benpro.fr/benoit}}\\
\icon{Hashtag}{12}{\href{https://toots.benpro.fr/@benoit}{@benoit@toots.benpro.fr}}\\
\end{minipage}
\vspace{0.5cm}
%----------------------------------------------------------------------------------------
% INTRODUCTION, SKILLS AND TECHNOLOGIES
%----------------------------------------------------------------------------------------
\cvsect{Who Am I?}
\begin{minipage}[t]{0.4\textwidth} % 40% of the page width for the introduction text
\vspace{-\baselineskip} % Required for vertically aligning minipages
\texttt{GNU/Linux Guru Hacker}\\
Geek, Hacker, amateur Photographer, Free Libre Opensource Software lover. Using GNU/Linux distributions since my adolescence, I quickly began in love with FLOSS and work only with it. I try to not use proprietary software as much as possible.
\end{minipage}
\hfill % Whitespace between
\begin{minipage}[t]{0.5\textwidth} % 50% of the page for the skills bar chart
\vspace{-\baselineskip} % Required for vertically aligning minipages
\begin{barchart}{5.5}
\baritem{Git}{30}
\baritem{Ansible}{30}
\baritem{KVM}{60}
\baritem{MySQL/MariaDB}{100}
\baritem{Apache/NginX/HAProxy}{100}
\baritem{Debian}{100}
\end{barchart}
\end{minipage}
\begin{center}
\bubbles{1/Kate, 2/git, 3/Claws Mail, 4/Shell, 5/SSH, 6/Debian}
\end{center}
%----------------------------------------------------------------------------------------
% EXPERIENCE
%----------------------------------------------------------------------------------------
\cvsect{Experience}
\begin{entrylist}
\entry
{2011 -- 2019}
{System administrator}
{Evolix}
{Sysadmin at Evolix, a french open source managed hosting provider. Managing a pool of 700+ servers for our customers. I covered many aspects, from building an infrastructure from scratch to final production, monitoring and managing customers needs.}
\end{entrylist}
%----------------------------------------------------------------------------------------
% EDUCATION
%----------------------------------------------------------------------------------------
\cvsect{Education}
\begin{entrylist}
\entry
{2010 -- 2011}
{3 years university degree in computing science}
{IUT Paul-Verlaine - Metz}
{Licence PRO Administration Systèmes et Réseaux}
\entry
{2008 -- 2010}
{2 years university degree in computing science}
{Lycée Ozenne - Toulouse}
{BTS Informatique de Gestion : Option Réseau}
\entry
{2007 -- 2008}
{Bachelor's Degree}
{Lycée Eugène Montel - Colomiers}
{Bac PRO Micro Informatique et Réseaux : Installation et Maintenance}
\end{entrylist}
%----------------------------------------------------------------------------------------
% ADDITIONAL INFORMATION
%----------------------------------------------------------------------------------------
\begin{minipage}[t]{0.3\textwidth}
\vspace{-\baselineskip} % Required for vertically aligning minipages
\cvsect{Languages}
\textbf{French} Native\\
\textbf{English} Proficient, TOEIC score 895\\
\textbf{Japanese} Upper Beginner
\end{minipage}
\hfill
\begin{minipage}[t]{0.3\textwidth}
\vspace{-\baselineskip} % Required for vertically aligning minipages
\cvsect{Hobbies}
\textbf{Photography}\\
\textbf{Japanese culture}\\
\textbf{Hiking}
\end{minipage}
\hfill
\begin{minipage}[t]{0.3\textwidth}
\vspace{-\baselineskip} % Required for vertically aligning minipages
\cvsect{Non profit}
Attending and helping organising Debian conferences called DebConf.
\end{minipage}
%----------------------------------------------------------------------------------------
\end{document}

207
docs/CV/developercv.cls Normal file
View file

@ -0,0 +1,207 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Developer CV
% LaTeX Class
% Version 1.0 (28/1/19)
%
% This class originates from:
% http://www.LaTeXTemplates.com
%
% Authors:
% Jan Vorisek (jan@vorisek.me)
% Based on a template by Jan Küster (info@jankuester.com)
% Modified for LaTeX Templates by Vel (vel@LaTeXTemplates.com)
%
% License:
% The MIT License (see included LICENSE file)
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%----------------------------------------------------------------------------------------
% CLASS CONFIGURATION
%----------------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{developercv}[2019/01/28 Developer CV class v1.0]
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{extarticle}} % Pass through any options to the base class
\ProcessOptions\relax % Process given options
\LoadClass{extarticle} % Load the base class
%----------------------------------------------------------------------------------------
% PACKAGES AND OTHER DOCUMENT CONFIGURATIONS
%----------------------------------------------------------------------------------------
\setlength{\parindent}{0mm} % Suppress paragraph indentation
\usepackage[hidelinks]{hyperref} % Required for links but hide the default boxes around links
\newcommand{\lorem}{Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus.} % Dummy text
\pagestyle{empty} % No headers or footers
\usepackage{moresize} % Provides more font size commands (\HUGE and \ssmall)
%----------------------------------------------------------------------------------------
% PAGE LAYOUT
%----------------------------------------------------------------------------------------
\usepackage{geometry} % Required for adjusting page dimensions and margins
\geometry{
paper=a4paper, % Paper size, change to letterpaper for US letter size
top=1.75cm, % Top margin
bottom=1.75cm, % Bottom margin
left=2cm, % Left margin
right=2cm, % Right margin
headheight=0.75cm, % Header height
footskip=1cm, % Space from the bottom margin to the baseline of the footer
headsep=0.5cm, % Space from the top margin to the baseline of the header
%showframe, % Uncomment to show how the type block is set on the page
}
%----------------------------------------------------------------------------------------
% FONTS
%----------------------------------------------------------------------------------------
\usepackage[utf8]{inputenc} % Required for inputting international characters
\usepackage[T1]{fontenc} % Output font encoding for international characters
\usepackage[default]{raleway}
%\usepackage[defaultsans]{droidsans}
%\usepackage{cmbright}
%\usepackage{fetamont}
%\usepackage[default]{gillius}
%\usepackage{roboto}
\renewcommand*\familydefault{\sfdefault} % Force the sans-serif version of any font used
%------------------------------------------------
\usepackage{fontawesome} % Required for FontAwesome icons
% Command to output an icon in a black square box with text to the right
\newcommand{\icon}[3]{% The first parameter is the FontAwesome icon name, the second is the box size and the third is the text
\vcenteredhbox{\colorbox{black}{\makebox(#2, #2){\textcolor{white}{\large\csname fa#1\endcsname}}}}% Icon and box
\hspace{0.2cm}% Whitespace
\vcenteredhbox{\textcolor{black}{#3}}% Text
}
%----------------------------------------------------------------------------------------
% GRAPHICS DEFINITIONS
%----------------------------------------------------------------------------------------
\usepackage{tikz} % Required for creating the plots
\usetikzlibrary{shapes, backgrounds}
\tikzset{x=1cm, y=1cm} % Default tikz units
% Command to vertically centre adjacent content
\newcommand{\vcenteredhbox}[1]{% The only parameter is for the content to centre
\begingroup%
\setbox0=\hbox{#1}\parbox{\wd0}{\box0}%
\endgroup%
}
%----------------------------------------------------------------------------------------
% CHARTS
%----------------------------------------------------------------------------------------
\newcounter{barcount}
% Environment to hold a new bar chart
\newenvironment{barchart}[1]{ % The only parameter is the maximum bar width, in cm
\newcommand{\barwidth}{0.35}
\newcommand{\barsep}{0.2}
% Command to add a bar to the bar chart
\newcommand{\baritem}[2]{ % The first argument is the bar label and the second is the percentage the current bar should take up of the total width
\pgfmathparse{##2}
\let\perc\pgfmathresult
\pgfmathparse{#1}
\let\barsize\pgfmathresult
\pgfmathparse{\barsize*##2/100}
\let\barone\pgfmathresult
\pgfmathparse{(\barwidth*\thebarcount)+(\barsep*\thebarcount)}
\let\barx\pgfmathresult
\filldraw[fill=black, draw=none] (0,-\barx) rectangle (\barone,-\barx-\barwidth);
\node [label=180:\colorbox{black}{\textcolor{white}{##1}}] at (0,-\barx-0.175) {};
\addtocounter{barcount}{1}
}
\begin{tikzpicture}
\setcounter{barcount}{0}
}{
\end{tikzpicture}
}
%------------------------------------------------
\newcounter{a}
\newcounter{b}
\newcounter{c}
% Command to output a number of automatically-sized bubbles from a string in the format of '<size>/<label>', e.g. \bubbles{5/Eclipse, 6/git, 4/Office, 3/Inkscape, 3/Blender}
\newcommand{\bubbles}[1]{
% Reset counters
\setcounter{a}{0}
\setcounter{c}{150}
\begin{tikzpicture}[scale=3]
\foreach \p/\t in {#1} {
\addtocounter{a}{1}
\bubble{\thea/2}{\theb}{\p/25}{\t}{1\p0}
}
\end{tikzpicture}
}
% Command to output a bubble at a specific position with a specific size
\newcommand{\bubble}[5]{
\filldraw[fill=black, draw=none] (#1,0.5) circle (#3); % Bubble
\node[label=\textcolor{black}{#4}] at (#1,0.7) {}; % Label
}
%----------------------------------------------------------------------------------------
% CUSTOM SECTIONS
%----------------------------------------------------------------------------------------
% Command to output section title headings
\newcommand{\cvsect}[1]{% The only parameter is the section text
\vspace{\baselineskip} % Whitespace before the section title
\colorbox{black}{\textcolor{white}{\MakeUppercase{\textbf{#1}}}}\\% Section title
}
%----------------------------------------------------------------------------------------
% ENTRY LIST
%----------------------------------------------------------------------------------------
\usepackage{longtable} % Required for tables that span multiple pages
\setlength{\LTpre}{0pt} % Remove default whitespace before longtable
\setlength{\LTpost}{0pt} % Remove default whitespace after longtable
\setlength{\tabcolsep}{0pt} % No spacing between table columns
% Environment to hold a new list of entries
\newenvironment{entrylist}{
\begin{longtable}[H]{l l}
}{
\end{longtable}
}
\newcommand{\entry}[4]{% First argument for the leftmost date(s) text, second is for the bold entry heading, third is for the bold right-aligned entry qualifier and the fourth is for the entry description
\parbox[t]{0.175\textwidth}{% 17.5% of the text width of the page
#1 % Leftmost entry date(s) text
}%
&\parbox[t]{0.825\textwidth}{% 82.5% of the text width of the page
\textbf{#2}% Entry heading text
\hfill% Horizontal whitespace
{\footnotesize \textbf{\textcolor{black}{#3}}}\\% Right-aligned entry qualifier text
#4 % Entry description text
}\\\\}
% Command to output a separator slash between lists, e.g. ' / '
\newcommand{\slashsep}{\hspace{3mm}/\hspace{3mm}}

View file

@ -0,0 +1,15 @@
# HowtoCentOS
Upgrade from 8 to Stream.
```
dnf install centos-release-stream && dnf update
```
Exclude path when unpacking package. Useful for unprivileged containers.
```
dnf reinstall --downloadonly filesystem
find /var/cache -iname "*filesy*"
rpm -ivh --excludepath=/proc --excludepath=/sys /var/cache/dnf/baseos-504ddb1bf3482a98/packages/filesystem-3.8-3.el8.x86_64.rpm
```

View file

@ -0,0 +1,67 @@
# Monitor mode
For my RTL8188EUS:
```
ip link set wlanX down
iw dev wlanX set type monitor
```
# Scan networks
All channels:
```
airodump-ng wlanX
```
Specific channel:
```
airodump-ng -c 6 wlanX
```
# Save a capture of chosen BSSID
```
airodump-ng -c 6 --bssid 00:23:B1:82:08:xx -w <filename> wlanX
```
You need to wait for a client to connect, or to deauth it and get the 4-way handshake.
```
aireplay-ng -0 1 -a 00:23:B1:82:0C:xx -c D0:37:45:2F:52:xx wlanX
```
`-a` is access point
`-c` is client
Then you should have an EAPOL/WPA handshake.
# Crack WPA passphrase
## For a 8 digits scheme
```
crunch 8 8 0123456789 -s 00000000 | aircrack-ng -w - -b 00:23:B1:82:08:xx <filename>.cap
```
# Wireshark
PSK Generator: <https://www.wireshark.org/tools/wpa-psk.html>
## PMKID method
```
hcxdumptool -i wlanX -o PMKID --enable_status=1
```
TODO...
## WPS method
AP must have WPS enabled with a PIN. Not PBC, push button.
```
reaver -i wlanX -b 00:23:B1:82:84:xx
```
## Resources
<https://github.com/ZerBea/hcxdumptool>
<https://github.com/ZerBea/hcxtools>
<https://wpa-sec.stanev.org/>

View file

@ -0,0 +1,17 @@
# Convert
# MKV to WebM
~~~
$ ffmpeg -i input.mkv -c:v libvpx -qmin 0 -qmax 50 -crf 10 -b:v 2M -c:a libvorbis output.webm
~~~
# Recording Screen
## Within a specified zone
```
avconv -threads auto -f pulse -i bluez_sink.0C_E0_E4_81_2F_C1.monitor -ac 2 -f pulse -i alsa_input.usb-BLUE_MICROPHONE_Blue_Snowball_201306-00-Snowball.analog-mono -ac 1 -f x11grab -show_region 1 -s 1024x768 -i :0.0+112,111 -c:v libvpx -pre:v libvpx-720p -vsync cfr -r 15 -c:a libvorbis -q:a 6 -filter_complex amix=inputs=2 output.webm
```
With sound from microphone and monitor of input.

64
docs/Howtos/HowtoGPG.md Normal file
View file

@ -0,0 +1,64 @@
# HowtoGPG
## Some commands:
```
gpg --card-status
gpg --export-ssh-key keyID
gpg --armor --export keyID > pubkey.asc
```
## Use Nitrokey from new system:
```
gpg --import pubkey.asc
gpg --card-status
```
## Use GPG Agent as SSH Agent
```
vim .gnupg/gpg-agent.conf
enable-ssh-support
pinentry-program /usr/bin/pinentry-qt
systemctl --user enable --now /usr/lib/systemd/user/gpg-agent*
vim .bashrc
export SSH_AUTH_SOCK="/run/user/$(id -u)/gnupg/S.gpg-agent.ssh"
```
## Export your public key to your web server:
```
$ mkdir openpgpkey
$ gpg --list-options show-only-fpr-mbox -k keyID | /usr/lib/gnupg/gpg-wks-client -v --install-key
```
Then publish to your web server. https://openpgpkey.example.com/.well-known/openpgpkey/example.com/hu/
My public key is available via: <https://openpgpkey.benpro.fr/.well-known/openpgpkey/benpro.fr/hu/7ue9nu5hdtshxjynnn6haqyohye8716e>
## Get public keys
### From WKD
WKD mean Web Key Directory. Interesting website: <https://metacode.biz/openpgp/web-key-directory>
```
gpg --locate-key user@example.com
```
### From keyserver
#### With keys.openpgp.org
```
echo keyserver hkps://keys.openpgp.org >> ~/.gnupg/gpg.conf
gpg --auto-key-locate keyserver --locate-keys user@example.com
```
#### With sks-keyservers.net
```
gpg --keyserver pool.sks-keyservers.net --recv-keys keyID
```

84
docs/Howtos/HowtoLXD.md Normal file
View file

@ -0,0 +1,84 @@
Some commands:
```
lxc image alias list images:
lxc info <name>
lxc config edit <name>
lxc config sonw <name>
lxc exec <name> bash
lxc config set <name> limits.memory 512MB
lxc config set <name> limits.cpu 2
lxc config device set <name> root size 20GB
lxc launch images:debian/stretch/amd64 <name>
lxc config set <name> environment.LC_ALL=en_US.UTF-8
lxc list
lxc storage volume list <storagename>
# mode privileged
lxc launch ubuntu:16.04 test -c security.privileged=true -c security.nesting=true
lxc config device add test ssh proxy listen=tcp:0.0.0.0:2222 connect=tcp:127.0.0.1:22
# Create a backups volume in the local (default) pool (ZFS) and use it for backups
lxc storage volume create local backups
lxc config set storage.backups_volume local/backups
# Create a images volume in the local (default) pool (ZFS) and use it for images (containers images downloaded)
lxc storage volume create local images
lxc config set storage.images_volume local/images
lxc config device add $containerName $deviceName disk source=/home/foo path=/home/foo
```
Chemins :
Normal : /var/lib/lxd/
Snap : /var/snap/lxd/common/lxd/
Paquets à installer pour se sentir à l'aise sur une Debian ou Ubuntu
```
vim logrotate
etckeeper
iputils-ping
dnsutils
```
N'est plus nécessaire sur les images récentes :
```
# systemctl disable getty@tty{1..4}
# reboot
```
- Activer journald
- Mettre le bon hostname
- Installer postfix
Paquets à installer pour se sentir à l'aise sur une Alpine
```
etckeeper
vim
```
```
sed -i 's/^tty/# tty/g' /etc/inittab
# clean messages
rm /var/log/messages
```
Nginx :
```
set_real_ip_from W.X.Y.Z;
#real_ip_recursive on;
real_ip_header X-Forwarded-For;
log_format custom '$http_x_forwarded_for - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent"';
access_log /var/log/nginx/access.log custom;
```
Aller dans le namespace de LXD (snap0 pour faire des actions genre mount/umount :
```
# nsenter -t $(cat /var/snap/lxd/common/lxd.pid) -m
```

View file

@ -0,0 +1,8 @@
## Tips
Thermal info:
```
sudo powermetrics s thermal
sudo powermetrics -s thermal | grep -A2 -i thermal
```

View file

@ -0,0 +1,204 @@
---
title: Howto Serveur de mail sécurisé avec Mailcow et Scaleway
categories: sysadmin mail
---
# Intro
Ce Howto explique comment monter un serveur de mail sécurisé en utilisant [Mailcow](https://github.com/andryyy/mailcow) et un serveur virtuel chez [Scaleway](https://www.scaleway.com/). L'introduction est à lire sur mon [blog](https://www.lekernelpanique.fr/2017/03/05/votre-propre-serveur-de-mail-securise-pour-3emois/).
La première étape consiste évidement à créer l'instance sur la console de Scaleway en choisissant Debian 8 en OS.
> **Note**: Il est important d'utiliser le noyau Scaleway `x86_64 4.8.14 std #2 (latest)` dans les paramètres avancés, section « bootscript ». Sinon vous n'aurez pas les modules noyau liés au chiffrement. Il vous faudra redémarrer pour appliquer le changement de noyau.
# Mise à jour
L'image Debian de Scaleway n'étant pas « buildé » tous les jours, il se peut qu'il y ait quelques mises à jour à faire. On fait donc une upgrade.
```
# apt update
# apt upgrade
```
# Création du volume /var chiffré
Ce volume accueillera vos mails et journaux systèmes. Il est donc intéressant de le chiffrer. Malheureusement, l'image Scaleway fournit un disque non partitionné. L'`initrd` cherche à amorcer le volume root directement sur `/dev/vda`… On va donc créer un fichier image, puis le chiffrer avec `cryptsetup`. Un `/var` de 35G devrait suffire.
Création du fichier image et montage sur `/dev/loop0`.
```
# dd if=/dev/zero of=/var.img bs=1M count=35000
# chmod 600 /var.img
# losetup /dev/loop0 /var.img
```
On en profite pour aussi créer une swap de 1G tant qu'à faire.
```
# dd if=/dev/zero of=/swapfile.img bs=1M count=1000
# chmod 600 /swapfile.img
# mkswap -LSWAP
# echo "/swapfile.img none swap sw 0 0" >> /etc/fstab
```
On chiffre le volume en LUKS avec `cryptsetup`. Choisissez une passphrase, vous aller devoir la taper à chaque démarrage dans la console de Scaleway. Pas très souvent si tout est stable ! :-)
```
# apt install cryptsetup
# cryptsetup luksFormat --hash sha256 --key-size=512 /dev/loop0
# cryptsetup luksOpen /dev/loop0 crypted-var
```
On formate le tout en EXT4, on monte le volume, on stoppe les services qui utilisent actuellement `/var` et on rsync le tout.
```
# mkfs.ext4 -LVAR /dev/mapper/crypted-var
# mount /dev/mapper/crypted-var /mnt/
# for pid in $(lsof | grep /var | tr -s '\t' ' ' | cut -d' ' -f2 | sort | uniq | grep -v "^1$"); do kill $pid; done
# rsync -avh --progress /var/ /mnt/
# rm -rf /var/*
# umount /mnt
```
On indique le volume chiffré dans `crypttab` et le point de montage dans `fstab` puis on reboot. Préparez-vous à aller taper votre passphrase dans la console Scaleway !
> **Note** : On désactive `unattended-upgrades` qui va planter l'arrêt à cause du /var qui n'existe plus.
```
# echo "crypted-var /var.img none luks" >> /etc/crypttab
# echo "/dev/mapper/crypted-var /var ext4 defaults 0 2" >> /etc/fstab
# systemctl disable unattended-upgrades.service
# reboot
```
Ta-daa ! On a notre `/var` chiffré.
```
root@scw-049d84:~# df -h /var
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/crypted-var 35G 687M 33G 3% /var
```
# Installation de Mailcow
## Pré-requis
Il vous faut un nom de domaine ! Il faudra choisir quel FQDN utiliser, le plus classique étant `mail.domain.tld`.
Au niveau de vos entrées DNS, il vous faudra un champ A et un MX. Plus de détails sur le [README](https://github.com/andryyy/mailcow#before-you-begin-prerequisites).
On supprime exim4, car Mailcow utilise postfix.
```
# apt purge exim4 exim4-base exim4-config exim4-daemon-light
```
## Installation
Puis on télécharge le script d'installation, on édite la configuration et on lance l'installation.
```
# wget -O - https://github.com/andryyy/mailcow/archive/v0.14.tar.gz | tar xfz -
# cd mailcow-0.14
# vim mailcow.config
```
> **Note** : Le webmail par défaut est Roundcube. Si vous allez utiliser un smartphone avec synchronisation des contacts et agenda, choisissez plutôt SOGo dans le fichier de config.
Laissez-vous guider par le script d'installation.
```
# ./install.sh
```
Voilà, c'est fini ! Il vous reste à créer votre premier compte mail via l'interface d'admin.
Si vous avez des questions ou besoin d'aide, n'hésitez pas à ouvrir un ticket (an Anglais !) [ici](https://github.com/andryyy/mailcow/issues). Sinon demandez-moi sur [Twitter](https://twitter.com/benpro82) ou par [mail](mailto:benoit[arobase]benpro.fr).
# Bonus : Certificat client X.509
L'idée est de restreindre l'accès aux services web (webmail et admin), et mail (IMAPS) via un certificat client X.509. Sans ce certificat, impossible d'accéder à quoi que ce soit !
> **Note** : Cela ne remplace pas le certificat Let's Encrypt utilisé par Mailcow. On demande juste que le client présente un certificat émis par notre CA.
Pour cela il faut mettre en place une `PKI` et émettre un certificat client. J'utilise l'outil [shellPKI](https://wiki.evolix.org/HowtoOpenVPN#mise-en-place-dune-pki-avec-shellpki-openbsd-et-debian) pour ça.
## ShellPKI
```
# cd /usr/local
# git clone https://forge.evolix.org/shellpki.git
# cd shellpki
# install -d -m 700 /etc/shellpki /etc/ssl/clients
# sed -i 's#/etc/openvpn/ssl#/etc/shellpki#g' openssl.cnf
# install -m 600 openssl.cnf /etc/shellpki/
# sed -i -e 's#PREFIX=.*#PREFIX=/etc/shellpki#' -e 's#WWWDIR=.*#WWWDIR=/etc/ssl/clients#' shellpki.sh
```
Éditer `/etc/shellpki/openssl.cnf` et initialiser shellPKI. Le plus important est de remplir le « Common Name », par exemple `Myname Root Certificate`.
```
# vim /etc/shellpki/openssl.cnf
# ./shellpki.sh init
```
On génère un certificat client (sans passphrase), soit un utilisateur par exemple. Il faudra choisir un « Common Name » du type `user@domain.tld`.
```
# ./shellpki.sh create
```
Puis on le convertit au format `PKCS#12` avec une passphrase d'export. Cette passphrase sera demandé à l'import dans un navigateur ou smartphone par exemple.
```
# cd /etc/ssl/clients
# openssl pkcs12 -export -in user@mail.domain.tld.crt -inkey user@mail.domain.tld.key -out user@mail.domain.tld.p12
```
Il faudra importer ce certificat client dans les navigateurs et dans diverses applications (Thunderbird, Exchange/GMail sous Android, K9-Mail…).
La dernière étape consiste à dire à dovecot et nginx qu'il est nécessaire de présenter un certificat client.
## Nginx
```
ssl_client_certificate /etc/shellpki/ca/cacert.pem;
ssl_verify_client on;
```
```
# systemctl restart nginx
```
## Dovecot
> **Note** : Attention, si vous avez un webmail qui se connecte en local, imap non chiffré, l'activation de `auth_ssl_require_client_cert`, va imposer d'utiliser un certificat… Cassant votre webmail. Il n'y a pas à ce jour la possibilité d'activer `auth_ssl_require_client_cert` seulement pour imaps… Si vous utilisez un webmail, n'activez pas ceci sur dovecot.
```
# Client certificate
ssl_ca = </etc/shellpki/ca/cacert.pem
ssl_verify_client_cert = yes
ssl_cert_username_field = commonName
protocol !smtp {
auth_ssl_require_client_cert = yes
auth_ssl_username_from_cert = yes
auth_mechanisms = external
}
```
```
# systemctl restart dovecot.service
```
Vous devez maintenant faire le nécessaire côté client (Thunderbird, K9-Mail…)
# Autres actions
Voici une liste de tâches non exhaustives à faire de votre côté que je ne documente pas, non obligatoire mais conseillé…
- Monter un serveur de MX secondaire ;
- Activer un pare-feu sur votre machine, par exemple `ufw` ;
- Monitorer votre serveur ;
- S'assurer du suivi des mises à jour ;
- Faire des sauvegardes.

View file

@ -0,0 +1,237 @@
Get Github or Gitlab user key:
```
curl https://github.com/<username>.keys
curl https://gitlab.com/<username>.keys
```
Enter a namespace, for example LXD (which is in a NS by Snap).
```
nsenter -t $(cat /var/snap/lxd/common/lxd.pid) -m
```
SSH into a machine without checking host key. Useful when servers are in a rescue mode.
~~~
ssh -o "UserKnownHostsFile=/dev/null" -o "StrictHostKeyChecking=no" -o "GlobalKnownHostsFile=/dev/null"
~~~
Certbot manual example.
~~~
certbot certonly --non-interactive --webroot --webroot-path /var/www/html/ -d foo.bar -d www.foo.bar
~~~
GPG-agent list SSH key and remove.
~~~
gpg-connect-agent
KEYINFO --ssh-list --ssh-fpr
DELETE_KEY $HASH
~~~
Show md5 fingerprint of SSH key.
~~~
ssh-keygen -l -E md5 -f .ssh/key.pub
~~~
Password recovery. At grub stage, press `e` to edit the kernel line and add `init=/bin/bash`. It will drop you in a shell before init system (systemd).
~~~
mount -o remount,rw /
passwd
~~~
Mount partitions on an image file using losetup.
~~~
losetup -P -f --show my.img
~~~
List all software installed from particular component (non-free, contrib)
~~~
$ dpkg-query -W -f='${Section}\t${Package}\n' | grep ^non-free
~~~
Manually rotate a file without logrotate, with savelog(8).
~~~
$ savelog
~~~
What processes uses swap?
~~~
for file in /proc/*/status ; do awk '/VmSwap|Name/{printf $2 " " $3}END{ print ""}' $file; done | sort -k 2 -n -r | less
~~~
MySQL "fast" shutdown.
~~~
> set global innodb_max_dirty_pages_pct = 0;
$ mysqladmin ext -i10 | grep dirty
~~~
mkfs.ext4 for old systems in rescue mode (Debian Wheezy, …).
~~~
mkfs.ext4 -O ^64bit,^metadata_csum
~~~
Send a mail from queue.
```
postcat -q ID > mail
< mail sendmail -f FROM TO
```
Python Simple HTTP Server (useful for Munin for example).
```
cd /var/cache/munin/www
python -m SimpleHTTPServer 8080
```
Show custom certs (not a link) and expiration in `/etc/ssl/certs`.
```
find /etc/ssl/certs/ -type f -print -exec openssl x509 -text -in {} \; | grep --color=auto -e etc -e CN= -e DNS: -e After;
```
Edit Bind DNS serial (needs modifications, not generic).
```
sed -ri 's/^\s*[0-9]+\s*; serial/\t\t\t 2017041010\t ; serial/' db.*
```
After Debian/Ubuntu upgrade, merge local config files according to config files shipped in packages.
```
for file in $(find /etc -iname '*.dpkg-dist'); do vimdiff ${file%%.dpkg-dist} $file; rm $file; done
for file in $(find /etc -iname '*.dpkg-old'); do vimdiff ${file%%.dpkg-old} $file; rm $file; done
for file in $(find /etc -iname '*.dpkg-new'); do vimdiff ${file%%.dpkg-new} $file; rm $file; done
for file in $(find /etc -iname '*.ucf-dist'); do vimdiff ${file%%.ucf-dist} $file; rm $file; done
for file in $(find /etc -iname '*.ucf-old'); do vimdiff ${file%%.ucf-old} $file; rm $file; done
for file in $(find /etc -iname '*.ucf-new'); do vimdiff ${file%%.ucf-new} $file; rm $file; done
```
Debug php with strace and php-cgi (especially useful for wp multisites).
```
HTTP_HOST=www.site.com SCRIPT_FILENAME=index.php REDIRECT_STATUS=CGI SERVER_NAME=www.site.com strace -s 65535 -o /tmp/strace php-cgi -f index.php
```
```ps``` with long user fields (here 20).
```
ps axo user:20,pid,pcpu,pmem,vsz,rss,tty,stat,start,time,comm
```
WTF is happening in apache (or other)? Let's strace all apache processes.
```
# strace -p $(ps auwwwx | grep apache | tr -s '\t' ' ' | cut -d' ' -f2 | tr '\n' ' ' | sed 's/ / -p /g') 9999
```
WTF is happening? Let's tail all logs.
```
# tail -f $(lsof | grep -F .log | tr -s '\t' ' ' | cut -d' ' -f10 | sort | uniq | tr -s '\n' ' ')
```
Search for suspects POST in apache.log (often attacks).
```{.bash}
grep -Eo '"POST .*.php' access.log | grep -ve cron -e login -e admin -e xmlrpc -e trackback -e comment -e 404 | sort -u
```
Check for crashed MySQL table in syslog and launch a repair.
```{.bash}
#!/bin/bash
tables=$(grep crashed /var/log/syslog | grep -Eo \'\./.*\' --color=auto | sed s#\'./## | sed s#\'## | uniq | tr -s '\n' ' ')
for tableC in $tables; do
db=${tableC%/*}
table=${tableC#*/}
mysqlcheck --auto-repair --check $db $table
done
```
Get the groups of an user and add another user into these groups.
```{.bash}
for group in $(grep user1 /etc/group | cut -d':' -f1 | sed '/user1/d'); do adduser user2 $group; done
```
Get the last acceded URLs in Squid Access list.
```{.bash}
tail -n100 /var/log/squid3/access.log | grep -oE 'http.*' | cut -d ' ' -f1 | sort | uniq
```
Migrate MySQL users.
```{.bash}
# SRC Server
mysql mysql -e "select * from user WHERE USER='user1' OR USER='user2' INTO OUTFILE '/tmp/mysql_user';"
mysql mysql -e "select * from db WHERE USER='user1' OR USER='user2' INTO OUTFILE '/tmp/mysql_db';"
# DST Server
scp server:/tmp/mysql_{db,user} /tmp
chmod 664 /tmp/mysql_{db,user}
mysql mysql -e "LOAD DATA INFILE '/tmp/mysql_user' INTO TABLE user;"
mysql mysql -e "LOAD DATA INFILE '/tmp/mysql_db' INTO TABLE db;"
```
Find userid of mails in mailq.
```{.bash}
for i in $(mailq | grep -Eo [A-F0-9]{10} | tr -s '\n' ' '); do postcat -q $i | grep userid | grep -Eo "[0-9]{4,}" >> tmp/userid; done
sort -n /tmp/userid | uniq
```
Kill every MySQL SELECT older than X seconds Original: https://anothersysadmin.wordpress.com/2008/10/29/kill-every-mysql-select-older-than-x-seconds/
```{.bash}
#!/bin/bash
# From https://anothersysadmin.wordpress.com/2008/10/29/kill-every-mysql-select-older-than-x-seconds/
SEC=$1
IFS='|'
if [[ $SEC -lt 1 ]]; then
echo "Usage: $0 SECONDS"
exit 1
fi
mysqladmin proc -v|grep Query|grep -Evi "delete|update|insert|alter table" |while read dummy qid qusr qhost qdb qstat qsec qstat2 query; do
if [ $qsec -gt $SEC ]; then
echo "Killing query $qid..."
mysqladmin kill $qid
fi
done
```
List of contacts when sending a mail for technical purpose on a domain which doesn't announce their technical contacts in a whois.
```
abuse@<domain>, admin@<domain>, administrator@<domain>, contact@<domain>, info@<domain>, postmaster@<domain>, support@<domain>, webmaster@<domain>
```
itk change rights.
```{.bash}
find /tmp/ -user www-user.old -exec chown www-user:user {} \;
find /tmp/ -user user.old -exec chown user:user {} \;
* Détecter les fichiers non lisibles par Apache (lecture sur le groupe) : find ./ -type f ! -perm /g=r -exec ls -l {} \;
* Détecter les répertoires non lisibles par Apache (lecture/exécution sur le groupe) : find ./ -type d \( ! -perm /g=r -o ! -perm /g=x \) -exec ls -ld {} \;
* Détecter les fichiers/répertoires accessibles en écriture par Apache (écriture sur le groupe) : find ./ -perm /g=w
* Détecter les fichiers/répertoires accessibles en écriture par tous : find ./ -perm -007 -o -type f -perm -006
```
Get useradd command for migrating account.
```{.bash}
for i in user1 user2 user3...; do echo -n 'useradd -m -s /bin/bash -u '$(grep -E "^$i" /etc/passwd | cut -d':' -f3) && echo -en ' -p' \'$(grep -E "^$i" /etc/shadow | cut -d ':' -f2)\' $i '\n'; done
Output :
useradd -m -s /bin/bash -u USERID -p 'USERPWD' username
```
Find files newert than (mtime) a precise date, and execute an action.
```{.bash}
find . ! -newermt '2012-09-19 11:40:00' -exec cp {} /tmp/mails \;
```

27
docs/Howtos/HowtoZFS.md Normal file
View file

@ -0,0 +1,27 @@
Some commands:
```
apt install zfsutils-linux
zpool create local /dev/xxx
zpool list
zfs create local/home
zfs list
zfs set compression=lz4 local/home
zfs get compression
zfs get compressratio local/home
zfs set dedup=on local/home
zpool get dedupratio local
zfs set mountpoint=/home local/home
apt install nfs-kernel-server nfs-common
systemctl enable --now rpc-statd.service nfs-server.service
zfs set sharenfs="rw=@10.0.1.0/24" local/home
zfs share local/home
zfs get sharenfs
# Import pool after boot/cryptsetup Open
zpool import local
zfs snapshot local/containers/archive@backup
zfs list -t snapshot
zfs send local/containers/archive@backup | ssh zfs@10.0.1.1 sudo zfs recv local/lxd00/containers/archive
zfs destroy local/containers/archive@backup
zfs clone local/containers/archive@backup local/containers/archive-clone
```

BIN
docs/Self-Host/Infra.asciio Normal file

Binary file not shown.

38
docs/Self-Host/Infra.md Normal file
View file

@ -0,0 +1,38 @@
```
.-,( ),-.
.-( )-.
( cloudflare )
'-( ).-'
'-.( ).-'
|
|
v
.--------------------------.
| Hetzner | .----------------------------.
| ____ | | OneCloud |
| |====| | | |
| | | 10.0.1.2| Tunnel Wireguard | 10.0.1.1 ____ |
| | |<---------------------------------------|====| |
| |____| | | | | |
| adm00 | | | | |
| | | | |____| |
| v | | filer00 |
|==========================| | |
| ____ ____ ____ ____ | | |
| |====||====||====||====| | '----------------------------'
| | || || || | | .---------------------------.
| | || || || | | | 10.0.0.0/16 via 10.0.1.2 |
| |____||____||____||____| | | No other private networks |
| lxd00 lxd01 lxd02 mail | '---------------------------'
'--------------------------'
.---------------------------------------.
| 10.0.0.0/16 via 10.0.0.1 |
| hetzner-rt 10.0.0.1 |
| mail 10.0.0.2 |
| lxd00 10.0.0.3 |
| lxd01 10.0.0.4 |
| lxd02 10.0.0.5 |
| adm00 10.0.0.6+10.0.1.2 |
| 10.0.1.0/24 via 10.0.0.1 via 10.0.0.6 |
'---------------------------------------'
```

View file

@ -0,0 +1,22 @@
My LXD/C containers sorted by reverse RAM current/peak usage:
Debian for Mastodon 1600MB/4000MB
Debian for Matrix-Synapse 1500MB/1600MB
Ubuntu for Plex 470MB/1500MB
Debian for Peertube 424MB/1140MB
Debian for Wordpress 340MB/1000MB
Ubuntu for NextCloud 270MB/1000MB
Ubuntu for Pixelfed 312MB/960MB
Ubuntu for Mayan EDMS 673MB/755MB
Debian for Tiny Tiny RSS 633MB/752MB
Debian for Matomo 274MB/720MB
Debian for Lychee/PHPMyLMB 180MB/560MB
Debian for Lutim 256MB/480MB
Debian for PrivateBin 220MB/346MB
Debian for Wordpress 220MB/340MB
Debian for Gitit 170MB/291MB
Debian for XMR miner 100MB/200MB
Debian for Bind 100MB/200MB
Alpine for HAProxy 100MB/170MB
Alpine for Weechat 85MB/104MB
Alpine for borgbackup 8MB/90MB

781
docs/Various/AnimesList.md Normal file
View file

@ -0,0 +1,781 @@
Migrated to:
<https://trakt.tv/users/benpro/history/shows/title?genres=>
<https://trakt.tv/users/benpro/history/movies/title>
TODO: <https://github.com/xbgmsharp/trakt> Export to CSV.
Score can be: `:)`, `:/` or `:(`.
# To watch
- Yotsuba
- AsobuAsobi
# Watched in 2019
- Mirai Nikki
- Air date: 2011
- Genres: Action, Mystery, Psychological, Supernatural, Thriller, Horror
- Score: `:(`
- Chobits
- Air date: 2002
- Genres: Comedy, Drama, Ecchi, Romance, Sci-Fi
- Score: `:/`
- Psycho Pass 3
- Air date: 2019
- Genres: Action, Sci-Fi, Psychological, Thriller
- Score: `:/`
- Shin Seiki Evangelion
- Air date: 1995
- Genres: Action, Drama, Mecha, Psychological, Sci-Fi, Mystery
- Score: `:)`
- Hyouka
- Air date: 2012
- Genres: Mystery, Romance, Slice of Life, Drama
- Score: `:(` and dropped
- Wotakoi: Love is Hard for Otaku
- Air date: 2018
- Genres: Comedy, Romance, Slice of Life
- Score: `:)`
- Tada Never Falls In Love
- Air date: 2018
- Genres: Romance, Comedy, Slice of Life
- Score: `:)`
- A Silent Voice
- Air date: 2016
- Genres: Drama, Romance
- Score: `:)`
- That Time I Got Reincarnated as a Slime
- Air date: 2018
- Genres: Adventure, Comedy, Fantasy
- Score: `:)`
- Zombie Land Saga
- Air date: 2018
- Genres: Supernatural, Comedy, Horror, Music
- Score: `:(` and dropped
- Fate/Apocrypha
- Air date: 2017
- Genres: Action, Fantasy
- Score: `:)`
- Cells at Work!
- Air date: 2018
- Genres: Comedy, Adventure
- Score: `:)`
- Hyakko
- Air date: 2008
- Genres: Comedy, Slice of Life
- Score: `:)`
- Overlord
- Air date: 2015
- Genres: Action, Adventure, Fantasy
- Score: `:(` and dropped
- Log Horizon
- Air date: 2013
- Genres: Adventure, Fantasy, Action
- Score: `:(` and dropped
- Full Metal Panic! Invisible Victory
- Air date: 2018
- Genres: Action, Mecha, Sci-Fi
- Score: `:)`
- Revolutionary Girl Utena
- Air date: 1997
- Genres: Drama, Fantasy, Psychological
- Score: `:(` and dropped
- Fate/EXTRA Last Encore
- Air date: Jan 28, 2018
- Genres: Action, Fantasy
- Score: `:(` and dropped
- Rascal Does Not Dream of Bunny Girl Senpai
- Air date: Oct 4, 2018
- Genres: Comedy, Romance, Slice of Life, Supernatural
- Score: `:(` and dropped
- Sword Art Online Alternative: Gun Gale Online
- Air date: Apr 8, 2018
- Genres: Action, Fantasy, Sci-Fi
- Score: `:/`
- My Teen Romantic Comedy SNAFU
- Air date: Apr 5, 2013
- Genres: Comedy, Romance, Slice of Life
- Score: `:(`
- GOBLIN SLAYER
- Air date: Oct 7, 2018
- Genres: Action, Fantasy, Adventure
- Score: `:(`
- The Ancient Magus' Bride
- Air date: Oct 8, 2017
- Genres: Fantasy, Slice of Life
- Score: `:/`
- Steins;Gate 0
- Air date: Apr 12, 2018
- Genres: Drama, Sci-Fi, Thriller
- Score: `:)` Mayushii/10 Tuturuuuu!
- Sword Art Online the Movie: Ordinal Scale
- Air date: Feb 18, 2017
- Genres: Action, Adventure, Fantasy, Romance
- Score: `:/`
- The Boy and The Beast (Movie)
- Air date: Jul 11, 2015
- Genres: Adventure, Supernatural
- Score: `:)`
- Mirai of the Future (Movie)
- Air date: Dec 26, 2018 (In France cinemas)
- Genres: Adventure, Drama, Fantasy, Comedy
- Score: `:)`
- Violet Evergarden
- Air date: Jan 11, 2018
- Genres: Drama, Fantasy, Slice of Life
- Score: `:)`
- Attack on Titan Season 3
- Air date: Jul 23, 2018
- Genres: Action, Drama, Fantasy, Mystery
- Score: `:)`
- DARLING in the FRANXX
- Air date: Jan 13, 2018
- Genres: Sci-Fi, Mecha, Romance, Drama, Action, Psychological
- Score: `:)`
# Watched in 2018
- DEVILMAN crybaby
- Air date: Jan 5, 2018
- Genres: Horror, Supernatural, Action, Drama, Psychological
- Score: `:)`
- Serial Experiments Lain
- Air date: Jul 6, 1998
- Genres: Drama, Mystery, Psychological, Sci-Fi, Supernatural
- Score: `:(`
- Attack on Titan Season 2
- Air date: Apr 1, 2017
- Genres: Action, Drama, Fantasy, Mystery
- Score: `:)`
- Ayakashi: Samurai Horror Tales
- Air date: Jan 13, 2006
- Genres: Fantasy, Horror
- Score: `:(` and dropped
- Waiting in the Summer
- Air date: Jan 10, 2012
- Genres: Comedy, Drama, Romance, Sci-Fi, Slice of Life
- Score: `:)`
- Made in Abyss
- Air date: Jul 7, 2017
- Genres: Adventure, Fantasy, Drama, Sci-Fi
- Score: `:)`
# Watched between 2015 and 2018
I haven't tracked precisely what I watched... Supposedly this reconstituted list.
- Death Parade
- Air date: Jan 10, 2015
- Genres: Drama, Mystery, Psychological, Supernatural
- Score: `:)`
- Charlotte
- Air date: Jul 5, 2015
- Genres: Drama, Supernatural
- Score: `:)`
- Gate
- Air date: Jul 4, 2015
- Genres: Action, Adventure, Fantasy
- Score: `:)`
- Plastic Memories
- Air date: Apr 5, 2015
- Genres: Comedy, Drama, Romance, Sci-Fi, Slice of Life
- Score: `:)`
- Fate/stay night: Unlimited Blade Works 2nd Season
- Air date: Apr 5, 2015
- Genres: Action, Fantasy, Supernatural
- Score: `:)`
- Prison School
- Air date: Jul 11, 2015
- Genres: Comedy, Ecchi
- Score: `:/`
- SHIMONETA: A Boring World Where the Concept of Dirty Jokes Doesnt Exist
- Air date: Sep 19, 2015
- Genres: Comedy, Ecchi
- Score : `:(` and dropped
- Sound! Euphonium
- Air date: Apr 8, 2015
- Genres: Music, Slice of Life, Drama
- Score: `:)`
- Himouto! Umaru-chan
- Air date: Jul 9, 2015
- Genres: Comedy, Slice of Life
- Score: `:(` and dropped
- Monster Musume Everyday Life With Monster Girls
- Air date: Jul 8, 2015
- Genres: Comedy, Ecchi, Fantasy, Romance
- Score: `:(` and dropped
- My Love Story!!
- Air date: Apr 9, 2015
- Genres: Comedy, Romance
- Score: `:)`
- SCHOOL-LIVE!
- Air date: Jul 9, 2015
- Genres: Slice of Life, Supernatural, Psychological, Horror, Mystery
- Score: `:/`
- Gangsta.
- Air date: Jul 2, 2015
- Genres: Action, Drama
- Score: `:)`
- God Eater
- Air date: Jul 12, 2015
- Genres: Action, Sci-Fi
- Score: `:(` and dropped
- JoJo's Bizarre Adventure: Stardust Crusaders - Battle in Egypt
- Air date: Jan 11, 2015
- Genres: Action, Adventure
- Score: `:)`
- Absolute Duo
- Air date: Jan 4, 2015
- Genres: Action, Ecchi, Romance, Supernatural
- Score: `:(`
- Aldnoah Zero 2
- Air date: Jan 11, 2015
- Genres: Action, Mecha, Sci-Fi
- Score: `:)`
- KanColle
- Air date: Jan 8, 2015
- Genres: Action, Sci-Fi, Slice of Life
- Score: `:(` and dropped
- The Eden of Grisaia
- Air date: Apr 19, 2015
- Genres: Action, Drama, Romance
- Score: `:)`
- Wagnaria!!3 / Working!!!
- Air date: Jul 5, 2015
- Genres: Comedy, Romance, Slice of Life
- Score: `:)`
- Non Non Biyori Repeat
- Air date: Jul 7, 2015
- Genres: Comedy, Slice of Life
- Score: `:)`
- The Perfect Insider
- Air date: Oct 9, 2015
- Genres: Drama, Mystery
- Score: `:(` and dropped
- To Love Ru Darkness 2nd
- Air date: Jul 7, 2015
- Genres: Comedy, Ecchi, Romance, Sci-Fi
- Score: `:)`
- Mobile Suit GUNDAM Iron Blooded Orphans
- Air date: Oct 4, 2015
- Genres: Drama, Mecha, Sci-Fi, Action
- Score: `:(` and dropped
- Mr. Osomatsu
- Air date: Oct 6, 2015
- Genres: Comedy, Slice of Life
- Score: `:(` and dropped
- YuruYuri Season 3
- Air date: Oct 6, 2015
- Genres: Comedy, Slice of Life
- Score: `:)`
- Fate/kaleid liner Prisma Illya 2wei Herz!
- Air date: Jul 25, 2015
- Genres: Action, Comedy, Fantasy, Mahou Shoujo, Ecchi
- Score: `:/`
- Gourmet Girl Graffiti
- Air date: Jan 9, 2015
- Genres: Comedy, Slice of Life
- Score: `:)`
- Triage X
- Air date: Apr 9, 2015
- Genres: Action, Drama, Ecchi
- Score: `:/`
- Ghost in the Shell Arise: Alternative Architecture
- Air date: Apr 5, 2015
- Genres: Action, Mecha, Psychological, Sci-Fi
- Score: `:/`
- Re:ZERO -Starting Life in Another World-
- Air date: Apr 4, 2016
- Genres: Action, Drama, Fantasy, Psychological
- Score: `:)`
- ERASED
- Air date: Jan 8, 2016
- Genres: Mystery, Psychological, Supernatural, Thriller
- Score: `:)`
- KONOSUBA -God's blessing on this wonderful world!
- Air date: Jan 14, 2016
- Genres: Adventure, Comedy, Fantasy
- Score: `:)`
- Mob Psycho 100
- Air date: Jul 12, 2016
- Genres: Action, Comedy, Supernatural
- Score: `:)`
- ReLife
- Air date: Jul 2, 2016
- Genres: Comedy, Drama, Romance, Slice of Life
- Score: `:)`
- Bungo Stray Dogs
- Air date: Apr 7, 2016
- Genres: Mystery, Supernatural, Comedy, Action
- Score: `:(` and dropped
- New Game!
- Air date: Jul 4, 2016
- Genres: Comedy, Slice of Life
- Score: `:)`
- Myriad Colors Phantom World
- Air date: Jan 7, 2016
- Genres: Action, Fantasy, Supernatural, Slice of Life
- Score: `:)`
- Dagashi Kashi
- Air date: Jan 8, 2016
- Genres: Comedy
- Score: `:)`
- Gate 2
- Air date: Jan 9, 2016
- Genres: Action, Adventure, Fantasy
- Score: `:)`
- JoJo's Bizarre Adventure: Diamond is Unbreakable
- Air date: Apr 2, 2016
- Genres: Action, Adventure, Supernatural, Comedy, Drama, Mystery
- Score: `:)`
- Flying Witch
- Air date: Apr 10, 2016
- Genres: Comedy, Slice of Life, Supernatural
- Score: `:)`
- Sound! Euphonium 2
- Air date: Oct 6, 2016
- Genres: Music, Slice of Life, Drama
- Score: `:)`
- Love Live! Sunshine!!
- Air date: Jul 2, 2016
- Genres: Music, Slice of Life
- Score: `:)`
- WWW.WAGNARIA!!
- Air date: Oct 1, 2016
- Genres: Comedy, Slice of Life, Romance
- Score: `:)`
- Ace Attorney
- Air date: Apr 2, 2016
- Genres: Comedy, Drama, Mystery
- Score: `:(` and dropped
- Fate/kaleid liner PRISMA ILLYA 3rei!!
- Air date: Jul 6, 2016
- Genres: Action, Comedy, Fantasy, Mahou Shoujo, Ecchi
- Score: `:/`
- Anne-Happy
- Air date: Apr 7, 2016
- Genres: Comedy, Slice of Life
- Score: `:(` and dropped
- Active Raid
- Air date: Jan 7, 2016
- Genres: Action, Mecha
- Score: `:(` and dropped
- KONOSUBA -God's blessing on this wonderful world! 2
- Air date: Jan 12, 2017
- Genres: Adventure, Comedy, Fantasy
- Score: `:/`
- Miss Kobayashi's Dragon Maid
- Air date: Jan 12, 2017
- Genres: Comedy, Fantasy, Slice of Life
- Score: `:)`
- Eromanga Sensei
- Air dare: Apr 9, 2017
- Genres: Comedy, Drama, Romance, Ecchi
- Score: `:(` and dropped
- Little Witch Academia
- Air date: Jan 9, 2017
- Genres: Adventure, Comedy, Fantasy
- Score: `:)`
- Scum's Wish
- Air date: Jan 13, 2017
- Genres: Drama, Ecchi, Psychological, Romance
- Score: `:(`
- Gabriel DropOut
- Air date: Jan 9, 2017
- Genres: Comedy, Supernatural, Slice of Life
- Score: `:)`
# Watched before 2015
Exported from my Icotaku.com account:
```
Score out of 10
Titre Format Note
Aa! Megami-sama! TV 9
Aa! Megami-sama! Chicchaitte Koto wa Benri da ne! TV 4
Aa! Megami-sama! Itsumo Futari de OAD 6
Aa! Megami-sama! Sorezore no Tsubasa TV 9
Aa! Megami-sama! Tatakau Tsubasa OAV 10
Accel World TV 7
Ai Yori Aoshi TV 7
AIKa R-16: Virgin Mission OAV 8
Air Gear TV 8
Akame ga KILL! TV 9
Akikan! TV 6
Aldnoah.Zero TV 7
Aldnoah.Zero 2 TV 5
Amaenaideyo!! TV 8
Amaenaideyo!! Katsu!! TV 8
Amagi Brilliant Park TV 8
Angel Beats! TV 9
Another TV 6
Appleseed Film 10
Aquarion Evol TV 9
Asura Cryin' TV 7
Baka to Test to Shōkanjū TV 8
Baka to Test to Shōkanjū Ni! TV 8
Baldr Force Exe Resolution OAV 8
Battle Programmer SHIRASE TV 7
Binbō-gami ga! TV 9
Black Cat TV 8
Black★Rock Shooter OAV 7
Blassreiter TV 9
BLOOD+ TV 9
BLOOD-C TV 9
Bokurano TV 8
Bokusatsu Tenshi Dokuro-chan OAV 9
Bōnen no Xam'd TV 8
BTOOOM! TV 6
Burn Up Scramble TV 8
Burn Up! Excess TV 9
Burn-Up! W OAV 8
Busō Shinki TV 6
CANAAN TV 7
Card Captor Sakura TV 9
Card Captor Sakura: Fūin Sareta Kādo Film 7
Card Captor Sakura: Gekijōban Film 7
Carnival Phantasm OAV 8
ChäoS;HEAd TV 4
Chrono Crusade TV 10
Chūnibyō Demo Koi Ga Shitai! TV 9
Chūnibyō Demo Koi Ga Shitai! Ren TV 6
CLANNAD TV 9
CLANNAD ~AFTER STORY~ TV 9
Claymore TV 8
Cobra the Animation: The Psycho-Gun OAV 7
Cobra the Animation: Time Drive OAV 7
Code Geass ~ Hangyaku no Lelouch TV 9
Code Geass ~ Hangyaku no Lelouch R2 TV 9
Code:Breaker TV 6
Cowboy Bebop TV 9
Cross Ange: Tenshi to Ryū no Rondo TV 9
C³ TV 8
D.Gray-man TV 8
Dance in the Vampire Bund TV 8
Danganronpa: Kibō no Gakuen to Zetsubō no Kōkōsei TV 9
Darker than Black - Kuro no Keiyakusha TV 8
Deadman Wonderland TV 8
Death Note TV 9
Dragonaut: The Resonance TV 8
DT Eightron TV 7
Elfen Lied TV 8
Eureka Seven: Kōkyōshihen - Pocket ga Niji de Ippai Film 7
Eyeshield 21 TV 8
Fate/Kaleid Liner Prisma☆Illya TV 8
Fate/Kaleid Liner Prisma☆Illya - Undōkai de Dance! OAD 6
Fate/Kaleid Liner Prisma☆Illya 2wei! TV 7
Fate/stay night: Unlimited Blade Works TV 9
Fate/stay night: Unlimited Blade Works 2 TV 8
Final Fantasy VII: Advent Children Film 8
Full Metal Panic! TV 9
Full Metal Panic! The Second Raid TV 9
Full Metal Panic? Fumoffu TV 9
Gake no Ue no Ponyo Film 6
Gakkō Gurashi! TV 7.5
Gakuen Mokushiroku Highschool of the Dead TV 6
Gekijōban Aa! Megami-sama! Film 10
Gekkan Shōjo Nozaki-kun TV 8
Gin no Saji TV 9
Gin no Saji 2 TV 9
Girls Bravo: First Season TV 6
Girls Bravo: Second Season TV 8
Gokudō-kun Manyūki TV 8
Goshūshō-sama Ninomiya-kun TV 6
Green Green TV 8
Grenadier: Hohoemi no Senshi TV 9
Grisaia no Kajitsu -Le Fruit de la Grisaia- TV 8
Grisaia no Meikyū -Le Labyrinthe de la Grisaia- TV Special 9
Grisaia no Rakuen -Le Eden de la Grisaia- TV 9
Guilty Crown TV 7
Gungrave TV 9
Hagane no Renkinjutsushi: Brotherhood TV 9
Hagane no Renkinjutsushi: Shambala wo Yuku Mono Film 6
Hana-Saku Iroha TV 8
Hataraku Maō-sama! TV 9
Hauru no Ugoku Shiro Film 7
Hayate no Gotoku! TV 7
Heisei tanuki gassen Pompoko Film 8
Hentai Ōji to Warawanai Neko. TV 8
Hibike! Euphonium: Kitauji Kōkō Suisōgaku-bu he Yōkoso TV 10
Hidan no Aria TV 6
Higashi no Eden TV 7
Higurashi no Naku Koro ni TV 8
Ichigo 100% TV 7
Ikoku Meiro no Croisée TV 7
Inukami! TV 8
Isshūkan Friends. TV 6
Jinrui wa Suitai Shimashita TV 7
JoJo no Kimyō na Bōken: Phantom Blood Film 8
JoJo no Kimyō na Bōken: Stardust Crusader TV 7
JoJo no Kimyō na Bōken: Stardust Crusader Egypt-hen TV 8
JoJo no Kimyō na Bōken: the Animation TV 8
Jormungand TV 8
Jormungand: Perfect Order TV 8
K-ON! TV 9
K-ON!! TV 8
Kamen no Maid Guy TV 6
Kamisama Kazoku TV 7
Kamisama no Memo-chō TV 8
Kangoku Gakuen TV 5
Kannagi TV 4
Kanokon TV 7
Karin TV 8
Kateikyōshi Hitman Reborn! TV 7
Kaze no Tani no Nausicaä Film 8
Kenkō Zenrakei Suieibu Umishō TV 8
Kidō Senshi Gundam 00 - First Season TV 9
Kidō Senshi Gundam 00 ~A wakening of the Trailblazer~ Film 9
Kidō Senshi Gundam SEED TV 9
Kidō Senshi Gundam SEED Destiny TV 9
Kill la Kill TV 7
Kimi ga Aruji de Shitsuji ga Ore de TV 8
Kimi ga Nozomu Eien TV 9
Kimi ga Nozomu Eien ~Next Season~ OAV 6
Kimikiss Pure Rouge TV 6
Kin-iro Mosaic TV 7
Kodomo no Jikan TV 7
Koharu Biyori OAV 6
Kōkaku Kidōtai Film 10
Kōkaku Kidōtai 2: Innocence Film 8
Kōkaku Kidōtai ARISE OAV 5
Kōkaku Kidōtai Stand Alone Complex - Solid State Society Film 8
Kokoro Connect TV 8
Kore ga Watashi no Goshujin-sama TV 8
Kore wa Zombie Desu Ka? TV 8
Kore wa Zombie Desu ka? of the Dead TV 8
Kotoura-san TV 8
Kurokami - The Animation TV 8
Little Busters! TV 8
Little Busters! ~Refrain~ TV 8
Love Hina TV 4
Love Lab TV 8
Love Live! TV 8
Love Live! 2 TV 9
Love☆Com - Lovely Complex TV 9
Lucky☆Star - OAV OAV 6
Macross Frontier TV 9
Mahō Shōjo Lyrical Nanoha TV 9
Mahō Shōjo Lyrical Nanoha The MOVIE 1st Film 8
Mahō Shōjo Madoka☆Magica TV 9
Majo no Takkyūbin Film 5
Mamoru-kun ni Megami no Shukufuku wo! TV 7
Mangaka-san to Assistant-san to TV 8
Maria†Holic TV 7
Michiko to Hatchin TV 6
Minami-ke TV 9
Minami-ke: Okaeri TV 7
Minami-ke: Okawari TV 8
Minami-ke: Tadaima TV 9
Mitsudomoe TV 8
Mitsudomoe Zōryōchū! TV -
Mnemosyne - Mnemosyne no Musume-tachi OAV 7
Moetan TV 8
Mondaiji Tachi ga Isekai Kara Kuru Sōdesuyo? TV 8
Mononoke Hime Film 9
Motto To LOVE-Ru -Trouble- TV 7
Murder Princess OAV 8
Nabari no Ō TV 8
Nagasarete Airantō TV 8
Nazo no Kanojo X TV 5
Neko no Ongaeshi Film 7
Nichijō TV 9
No Game No Life TV 9
Nogizaka Haruka no Himitsu TV 8
Non Non Biyori TV 8
Non Non Biyori Repeat TV 9
Ōkami Kakushi TV 7
One Piece Film 8
One Piece Film Z Film 6
Onegai Teacher TV 7
Ore Monogatari!! TV 6
Ore no Imōto ga Konnani Kawaii Wake ga Nai TV 8
Ore no Imōto ga Konnani Kawaii Wake ga Nai. TV 7
Ore, Twin Tails ni Narimasu. TV 8
Panty & Stocking with Garterbelt TV 9
Paranoia Agent TV 6
Phantom ~ Requiem for the Phantom TV 9
Plastic Memories TV 8
Prism Ark TV 5
Psychic Academy Aura Banshō ONA 6
Psycho-Pass TV 9
Psycho-Pass 2 TV 10
Punch Line TV 6
RahXephon TV 8
Rail Wars! - Nihon Kokuyū Tetsudō Kōantai TV 5
RD Sennō Chōsashitsu TV 6
Red Data Girl TV 8
Rio - Rainbow Gate! TV 7
Rizelmine TV 5
Rosario to Vampire TV 7
Rosario to Vampire Capu2 TV 8
Sakamichi no Apollon TV 8
Sakurasō no Pet na Kanojo TV 8
Samurai Champloo TV 9
Samurai Deeper Kyo TV 3
Sankarea TV 7
School Days TV 7
School Rumble TV 8
School Rumble Ni Gakki TV 8
Seikoku no Ryū Kishi TV 5
Sekirei TV 8
Sekirei ~Pure Engagement~ TV 8
Selector Infected WIXOSS TV 8
Selector Spread WIXOSS TV 8
Sen to Chihiro no Kamikakushi Film 8
Senjō no Valkyria: Gallian Chronicles TV 8
Shigofumi ~Stories of Last Letter~ TV 9
Shingeki no Kyojin TV 7
Shinryaku! Ika Musume TV 9
Shinryaku!? Ika Musume TV 9
SHUFFLE! TV 9
Shukufuku no Campanella TV 7
Sky Girls TV 8
Sola TV 8
Sora no Otoshimono TV 8
Sora wo Kakeru Shōjo TV 9
Sōsei no Aquarion TV 7
Soul Eater TV 8
Space☆Dandy TV 6
Space☆Dandy 2 TV 7
Stranger Mukō Hadan Film 10
Strike Witches TV 5
Suisei no Gargantia TV 9
Suzumiya Haruhi no Shōshitsu Film 8
Suzumiya Haruhi no Yūutsu TV 5
Sword Art Online TV 9
Sword Art Online II TV 9
Taiho Shichauzo TV 9
Taiho Shichauzo Second Season TV 9
Taiyō no Mokishiroku OAV 6
Tales of Eternia TV 8
Tales of Symphonia: Sylvarant OAV 10
Tasogare Otome × Amnesia TV 9
Tengen Toppa Gurren Lagann TV 8
Tengen Toppa Gurren Lagann - Gekijōban Film 9
Tenjō Tenge TV 8
Tenkū no Shiro Laputa Film 8
The Third: Aoi Hitomi no Shōjo TV 5
To Aru Kagaku no Railgun TV 9
To Aru Kagaku no Railgun S TV 8
To Aru Majutsu no Index TV 8
To Aru Majutsu no Index II TV 7
To LOVE-Ru -Trouble- TV 8
To Love-Ru Darkness TV 8
Tōhō Niji Sōsaku Dōjin Anime - Musō Kakyō OAV -
Tokkō TV 8
Tona-Gura! TV -
Tonari no Kaibutsu-kun TV 8
Tonari no Totoro Film 10
Toradora! TV 8
Triage X TV 6
TRIGUN TV 9
True Tears TV 9
Uchū no Stellvia TV 8
Vampire Knight TV 5
Vexille: 2077 Nihon Sakoku Film 8
Vividred Operation TV 7
Wangan Midnight TV 8
World Destruction TV 7
xxxHOLiC TV 8
xxxHOLiC Kei TV 8
Yakushiji Ryōko no Kaiki Jikenbo TV 8
Yowamushi Pedal TV 9
Yowamushi Pedal: Grande Road TV 7
Zankyō no Terror TV 9
Zero no Tsukaima TV 8
Zero no Tsukaima F TV 9
Zero no Tsukaima ~Futatsuki no Kishi~ TV 7
Zero no Tsukaima ~Princess no Rondo~ TV 6
Zettai Shougeki: Platonic Heart OAV 6
Zombie Loan TV 8
```

View file

@ -0,0 +1,40 @@
---
format: Markdown
toc: yes
title: Backup Strategy
...
# Servers
- Saber, daily borg backup to Ikachan
- Miku, daily borg backup to Ikachan
- Ikachan, daily borg backup to /backup and to Saber (/backup excluded)
- Ikachan, monthly copy of /backup to OrangeBackupUSBDisk
# Laptop
- Mikubook
- Every hour `/home` borg backup to `/media/sata/$USER/Backups`
- Every day `/` borg backup to `/media/$USER/BACKUP/` (disk **BACKUP_A** or **BACKUP_B** connected)
- Every month manual swapping of disks **BACKUP_A** and **BACKUP_B** on Mikubook-Ikachan
# Desktop
No backup strategy for now...
# Android devices
- OnePlus6, monthly `adb pull` to Mikubook /media/sata/$USER/Backups/Oneplus6
```
$ adb pull -a /sdcard Oneplus6
$ tar cvf - Oneplus6 | lz4 > Oneplus6.tar.lz4 && rm -rf Oneplus6
```
- GalaxyTabS2, monthly `adb backup` in recovery (+tar.gz media) to Mikubook /media/sata/$USER/Backups
```
$ adb backup --twrp --compress system data cache boot efs persist
$ adb exec-out 'tar --create /sdcard1/media/0 2>/backup-errors.txt' | pigz > media.tar.gz
$ adb shell 'dd if=/dev/block/mmcblk0' | lz4 > mmcblk0.img.lz4
$ adb shell 'dd if=/dev/block/mmcblk1' | lz4 > mmcblk1.img.lz4
```
Nextcloud is used for some data (photos, some synced folders) and all contacts, permanent synchronization.

View file

@ -0,0 +1,72 @@
---
title: Basic CPU Benchmark on GCP/Vultr/Hetzner/Scaleway
...
*Updated whenever I can.*
Encoding a 2h video (live concert from Japanese TV, MPEG-2, dark scene with grain) at 1280x720 resolution.
```
HandBrakeCLI -i in.ts -o out.mp4 -f av_mp4 -O -e x264 --encoder-preset slow --encoder-tune grain --encoder-profile high --encoder-level auto -q 20 --vfr -E copy:aac -w 1280 -l 720 --decomb --detelecine --crop 0:0:0:0
```
- Scaleway bare-metal 8 CPU C2L:
- 12.072023 fps
- Intel(R) Atom(TM) CPU C2750 @ 2.40GHz
- €0.048 hourly
- Hetzner dedicated 8 vCPU:
- 28.270920 fps
- Intel Xeon Processor (Skylake, IBRS) @ 2.10GHz
- €0.144 hourly
- Scaleway 8vCPU GP1-S:
- 30.584057 fps
- AMD EPYC 7401P 24-Core Processor @ 2.00GHz
- €0.158 hourly
- Hetzner CPX41 8 vCPU (AMD EPYC 2nd Gen processors):
- 36.369133 fps
- AMD EPYC @ 2.40GHz
- €0.038 hourly
- Vultr bare-metal 8 CPU:
- 36.676926 fps
- Intel(R) Xeon(R) CPU E3-1270 v6 @ 3.80GHz
- $0.179 hourly
- Scaleway 16vCPU GP1-M:
- 43.332794 fps
- AMD EPYC 7401P 24-Core Processor @ 2.00GHz
- €0.318 hourly
- Hetzner CPX51 16 vCPU (AMD EPYC 2nd Gen processors):
- 55.919209 fps
- AMD EPYC @ 2.40GHz
- €0.080 hourly
- GCP 24 vCPU:
- 57.956608 fps
- Intel(R) Xeon(R) CPU @ 2.60GHz
- $0.688 hourly
- GCP 28 vCPU:
- 63.077595 fps
- Intel(R) Xeon(R) CPU @ 2.60GHz
- $0.802 hourly
- GCP 32 vCPU:
- 63.491947 fps
- Intel(R) Xeon(R) CPU @ 2.00GHz
- $0.874 hourly
- Vultr 24 vCPU:
- 64.176575 fps
- Virtual CPU a7769a6388d5 @ 2.40GHz
- $0.952 hourly
- GCP 96 vCPU:
- 69.550346 fps
- Intel(R) Xeon(R) CPU @ 2.00GHz
- $2.621 hourly
*Note: HandBrake don't scale well with more that 32 threads.*

View file

@ -0,0 +1,80 @@
---
title: Electric Road Trip 2019
...
:electric_plug:
Charge points and costs:
Name/Location kWh charged Paid Calculated kWh price
------------- ----------- ----- --------------------
FDEL 46270 Bagnac-sur-Célé 19.28kWh 5.56€ 0.29€/kWh
Corri-Door 19800 Vitrac-sur-Montane 17.01kWh 6.70€ 0.39€/kWh
Hotel 63690 Tauves ~4kWh 2.00€ 0.50€/kWh
Auchan 63110 Beaumont 17kWh 0.7€ 0.04€/kWh
Corri-Door 42440 Les Salles 7kWh 0€ (bug) 0.00€/kWh
Corri-Door 42600 Magneux-Haute-Rive 8.11kWh 3.35€ 0.41€/kWh
Corri-Door 38080 L'Isle-d'Abeau 11.72kWh 4.74€ 0.40€/kWh
CNR 01300 Belley 12kWh 5€ 0.42€/kWh
Auchan 74330 Epagny 15kWh 0.70€ 0.05€/kWh
Green Motion 1183 Bursins CH 11kWh 4.5€ 0.41€/kWh
Move 2017 Boudry CH 9.6kWh 4.07€ 0.42€/kWh
Lidl 2732 Reconvilier CH ~7kWh 0.00€ 0.00€/kWh
GOFAST 2900 Porrentruy CH 8.4kWh 4.43€ 0.53€/kWh
Corri-Door 67600 Sélestat 12.52kWh 5.02€ 0.40/kWh
Auchan 67590 Schweighouse-sur-Moder ~8kWh 0.00€ 0.00€/kWh
Be Energised 76829 Landau in der Pfalz DE 13.85kWh 1.41€ 0.10€/kWh
New Motion 67245 Lambsheim DE 10.59kWh 3.01€ 0.28€/kWh
Aldi 65191 Wiesbaden DE ~10kWh 0.00€ 0.00€/kWh
LIDL 35394 Gießen DE ~16kWh 0.00€ 0.00€/kWh
E-Wald 34613 Schwalmstadt DE 17kWh 1.89€ 0.11€/kWh
Audi 34125 Kassel DE 9.1kWh 0.93€ 0.10€/kWh
Autohof 37154 Northeim DR ~13kWh 0.00€ 0.00€/kWh
NewMotion 30169 Hannover DE ?? 0.00€ 0.00€/kWh
E-Wald 31535 Neustadt am Rübenberge DE ~10kWh 0.00€ 0.00€/kWh
Ville de Hambouurg 20457 Hamburg DE 6.6kWh 1.46€ 0.22€/kWh
Allego 24610 Trappenkamp DE 4.30kWh 0.86€ 0.20€/kWh
BFT Wiler 24376 Kappeln DE 15kWh 1.67€ 0.11€/kWh
Lidl 6200 Aabenraa DK ~12kWh 0.00€ 0.00€/kWh
Lidl 6200 Aabenraa DK ~15kWh 0.00€ 0.00€/kWh
NewMotion 24939 Flensburg DE ~11kWh 0.00€ 0.00€/kWh
BFT Willer 24376 Kappeln DE 8.3kWh 0.90€ 0.11€/kWh
Fast E 24866 Busdorf DE 9.55kWh 1.91€ 0.20€/kWh
REWE 24568 Kaltenkirchen DE 15.80kWh 3.16€ 0.20€/kWh
Ville de Hambourg 22459 Hamburg DE 6.6kWh 1.48€ 0.22€/kWh
Innogy 29614 Soltau DE 10kWh 8.00€ 0.80€/kWh
SWB 28211 Bremen DE 16kWh 1.72€ 0.11€/kWh
EnBW 27777 Ganderkesee DE ~6kWh 0.00€ 0.00€/kWh
Allego 26655 Westerstede DE 7kWh 1.40€ 0.20€/kWh
Allego 26899 Rhede DE 10.40kWh 2.08€ 0.20€/kWh
Fastned 9679 Scheemda NL 5.19kWh 3.07€ 0.59€/kWh
Shell 7933 TW Pesse NL 9.29kWh 2.23€ 0.24€/kWh
Allego 8084 HK Het Harde NL ?? 0.00€ 0.00€/kWh
Allego 1327 AK Almere NL 14.44kWh 3.47€ 0.24€/kWh
Shell 2804 VW Gouda NL 15.90kWh 3.82€ 0.24€/kWh
Allego 3317 DB Dordrecht NL 8.66kWh 2.08€ 0.24€/kWh
Lidl 2960 Brecht BE ~5kWh 0.00€ 0.00€/kWh
Décathlon 1300 Wavre BE 13.15kWh 0.00€ 0.00€/kWh
Décathlon 5101 Loyers BE 11.27kWh 0.00€ 0.00€/kWh
Total 5564 Houyet BE 12.20kWh 3.90€ 0.32€/kWh
Auchan 54350 Mont-Saint-Martin 10kWh 0.70€ 0.07€/kWh
Auchan 57280 Semécourt 12kWh 0.70€ 0.06€/kWh
Auchan 54520 Laxou ~10kWh 0.00€ 0.00€/kWh
Fuclem-55 55500 Ligny-en-Barrois ?? 0.00€ 0.00€/kWh
Corri-Door 51320 Sommesous 18.642kWh 7.53€ 0.40€/kWh
SDEY 89210 Brienon-sur-Armançon ?? 0.00€ 0.00€/kWh
Auchan 45500 Gien ~10kWh 0.00€ 0.00€/kWh
Corri-Door 18500 Marmagne 11kWh 4.66€ 0.42€/kWh
SDE03 03410 Saint-Victor ?? 0.00€ 0.00€/kWh
Corri-Door 87160 Saint-Sulpice-les-Feui… 17kWh 9.94€ 0.58€/kWh
Corri-Door 87000 Limoges 11kWh 5.98€ 0.54€/kWh
Corri-Door 19100 Brive-la-Gaillarde 8.9kWh 3.19€ 0.36€/kWh
Révéo 46300 Le Vigan 8.14kWh 2.09€ 0.23€/kWh
Lidl 82200 Moissac ?? 0.00€ 0.00€/kWh
Travel distance: 5645km
Total cost: 131.11€
Total cost estimation for a petrol car with 6.5l/100km: 568.73€
Approximate kWh used: 849kWh
Average energy used: 0.14kWh/km
Approximate CO2 economy: 1017kg

850
docs/Various/Japonais.md Normal file
View file

@ -0,0 +1,850 @@
---
format: Markdown
toc: yes
categories: Nihongo
title: Mémo/Cours de Japonais 1ère année
...
# Deprecated
> **Note** : Je ne tiens plus à jour cette page.
Cette page me sert de mémo pour mon apprentissage du Japonais (1ère année) et part du principe que les Hiragana et Katakana sont maîtrisés :) !
(Ce mémo est inspiré de l'application [Human Japanese sur Android](https://play.google.com/store/apps/details?id=com.braksoftware.HumanJapanese&hl=fr) pour la structure et de mes cours à [Toulouse-Manga](http://toulousemanga.fr/les-cours-de-manga-a-toulouse/cours-de-japonais/)).
# Se présenter
## Phrases/Mots type/Vocabulaire
おはようございます。
: Bonjour (matin jusqu'à 10h).
こんいちは。
: Bonjour (10h → 18h).
こんばは。
: Bonsoir.
おやすみなさい。
: Bonne nuit.
どもうありがとうございます。
: Merci beaucoup.
どういたしまして。
: Tout le plaisir est pour moi.
はじめまして。
: Enchanté(e) de faire votre connaissance.
どぞうよろしく。
: Enchanté(e).
です。
: (verbe) être.
フランスじんです。
: Je suis Français.
おじぎ。
: Révérence.
おなまえはなんですか。
: Quel est ton nom/prénom ?
ブノワです。
: Je suis Benoît.
ベンプロ。
: Benpro.
おげんきですか。
: Comment tu va ?
げんきです。
: Je vais bien.
はい。
: Oui.
いいえ。
: Non.
にほん。
: Japon.
アメイカ。
: Amérique.
カナダ。
: Canada.
フランス。
: France.
ご。
: Langue (parlé).
スパイン。
: Espagne.
ドイツ。
: Allemagne.
イギリス。
: Angleterre.
ちゅうごく。
: Chine.
えいご。
: Anglais.
アメリカじん。
: Américain.
オーストリア。
: Autriche.
じん。
: Une personne (d'un pays).
フランスじん。
: Un Français.
いす。
: Une chaise.
あめ。
: La pluie.
えき。
: La gare.
よる。
: La nuit.
あなた。
: Toi.
かのじょ。
: Elle.
かのじょたち。
: Elles
わたちはのなまえ… です。
: Je mappelle…
かいしゃいん。
: Employé⋅e.
じむ いん。
: Secrétaire.
プログラマー。
: Programmeur.
システムかんりしゃ。
: Administrateur Système.
システマエンジニア。
: Ingénieur Système.
ようちえんの せ んせい。
: Professeur de la crèche.
エンジニア。
: Ingénieur.
ロボットのエンジニア。
: Ingénieur robotique.
いしゃ。
: Médecin.
ぎんこういん。
: Banque.
がくせい。
: Étudiant.
だいがく。
: Université.
がっこう。
: École.
~をはなします。
: Je parle ~.
わたしはフランスごとえいごとちょっにほんごをはなします。
: Je parle Français, Anglais et un peu Japonais.
アメリカじんはえいごをはなします。
: Les américains parlent anglais.
しごとはなんですか。
: Quel est ton travail ?
こちらは ~ です。
: Voici Mr/Mme ~.
### Exemple de dialogues
> ブノワ: こんにいちは。
> Benoît : Bonjour.
> まりこ: あ、こんにいちは。
> Mariko : Ah, Bonjour.
> ブノワ: ブノワです フランスじんです。おなまえはなんですか。
> Benoît : Je m'appelle Benoît, je suis Français. Quel est ton prénom ?
> まりこ: まりこです。はじめまして。
> Mariko : Moi c'est Mariko, enchantée.
> ブノワ: どぞうよろしく。
> Benoît : Enchanté.
> わたしはブノワです。
> Je suis Benoît.
> わたしはふらんすごとえいごとちょとにほんごをはなします。
> Je parle Français, Anglais, et un peu Japonais.
> しごとはなんですか。
> Quel est ton travail ?
> システムエンジニア。
> Ingénieur/Administrateur Système
*Note : (Apparemment le mot administrateur est compliqué en Japonais, on recommande donc ingénieur).*
> わたしは マイク・ミラーです。
> Je suis Mike Miller.
> サンとスさんは がくせいじゃ ありません。
> Mr. Santos n'est pas étudiant.
> ミラーさんは かいしゃいんですか。
> Est-ce que Mr. Miller est employé ?
> サントスさんも かいしゃいんです。
> Mr Santos est aussi un employé.
> 「あなたは」マイク・ミラーさんですか。
> Vous êtes Mike Miller ?
> はい、「わたしは」 マイク・ミラー。
> Oui, je suis Mike Miller.
> ミラーさんは がくせいですか。
> Mr. Miller vous êtes étudiant ?
> いいえ、「わたしは」 がくせいじゃ ありません。
> Non, je ne suis pas étudiant.
> ワンさんは ぎんこういんですか。
> Mr. Wan est banquier ?
> いいえ、「ワンさんは」 ぎんこういんじゃ ありません。
> Non, Mr. Wan n'est pas banquier.
> Non, il n'est pas banquier.
> いしゃです。
> Il est médecin.
> あの かたは どなたですか。
> Qui est cette personne ?
> ワットさんです。さくらだいがくの せんせいです。
> C'est Mr. Watt. Le professeur de l'université Sakura.
*Note : Pour désigner une personne on peut dire かた ou ひと. かた est plus respectueux.*
*De la même façon pour dire « qui », どなた est plus respectueux que だれ.*
> グプタさんは かいしゃいんですか。
> Mr. Guputa, vous êtes employé ?
> はい、かいしゃいんです。
> Oui, je suis employé
> カリナさんも かいしゃいんですか。
> Mme. Karina, est aussi employée ?
> いいえ。「カリナさん」 がくせいです。
> Non, Mme. Karina est étudiante.
> テレーザちゃんは なんさいですか。
> Thérèse-chan, quel âge as-tu ?
> 9さいです。
> J'ai 9 ans.
*Note : Le suffixe -chan est souvent utilisé quand on s'adresse à une petite fille. Difficile de le traduire, on peut tout simplement le supprimer.*
> アメリカ からきました。
> Je suis venu des USA.
> こちらは ブノワです。
> Voici Benoît.
> トゥールーズ からきました。
> Il vient de Toulouse.
> かれはトゥールーズからきました。
> Elle vient de Toulouse.
> からはにじゅうよんさいです。
> Elle a 24 ans.
> かれはエンジニアです。
> Elle est ingénieur.
[Notes du cours au format PDF](/daika1.pdf)
# Le verbe être です
## Vocabulaire
いぬ。
: Chien.
ねこ。
: Chat.
りんご。
: Pomme.
みず。
: Eau.
とり。
: Oiseau.
うま。
: Cheval.
えんぴつ。
: Crayon.
ペン。
: Stylo (emprunté de l'anglais).
です。
: (verbe) être.
でしょう。
: (verbe au futur) sera.
## Explication
En Japonais, il n'y a pas de conjugaison et le verbe est toujours placé à la fin de la phrase.
りんごです, « c'est une pomme ». Il n'y a pas de pronoms, littéralement, c'est plutôt « c'est pomme ». On ne mentionne pas les parties d'une phrase qui sont compris par le contexte. Donc cela dépend en fait... du contexte ! Cela pourrait être « Il est une pomme » ou « Je suis une pomme ». C'est pareil en Français, quand on dit « C'est une pomme », la personne qui écoute connaît déjà ce qu'est le « c'est ». Par exemple cela pourrait être « Cette chose sur la table, est une pomme. ». Mais en Japonais on n'a pas besoin d'ajouter le « c'est » (dans cette exemple).
En résumé, on peut penser ainsi, りんごです veut dire « (Cette chose que l'on connaît tout les deux par le contexte) est (une) pomme. ».
Mais ce n'est pas tout. Aussi incroyable que cela puisse être, il n'y a pas de singuliers ou de pluriels pour la plupart des mots Japonais. りんご peut donc être « une pomme » ou « des pommes », cela dépend du contexte. Donc, cette phrase d'exemple pourrait aussi dire « Ce sont des pommes. ».
## Phrases/Mots type
りんごです。
: (C') est (une) pomme.
: (Ce) sont (des) pommes.
ねこです。
: (C')est (un) chat.
: (Ce) sont (des) chats.
アメリカです。
: (C') est (l') Amérique.
いぬです。
: (C') est (un) chien.
: (Ce) sont (des) chiens.
ジョンです。
: (C') est John.
にほんです。
: (C') est (le) Japon.
みずです。
: (C') est (de) l'eau.
えんぴつです。
: (C') est (un) stylo.
: (Ce) sont (des) stylos.
まりこです。
: (C') est Mariko.
: (Je) suis Mariko.
## Conjugaison/Temps
Nous avons Français de nombreux temps et formes pour conjuguer les verbes (passé, présent, futur, participe passé, l'imparfait, ... et j'en passe et des meilleures !). En Japonais les verbes ne peuvent prendre que 4 formes. (Autres possible mais sera vu bien plus tard).
| | Positif | Négatif |
|--------- |--------- |-------------------------- |
| Présent | です | では ありません |
| Passé | でした | では ありません でした |
| | | |
De la même manière que nous avons construit les phrases précédentes avec です pour le « présent positif », on peut utiliser le « présent négatif » avec ではわりません.
にほんじんではありません。
: Ce n'est pas une personne Japonaise.
いぬではありません。
: Ce n'est pas un chien.
: Ce ne sont pas des chiens.
Pour le passé, on utilise でした.
いぬでした。
: C'était un chien.
: C'étaient des chiens.
みずでした。
: C'était de l'eau.
Enfin finalement, pour la négation, si りんごではありません signifie « ce n'est pas une pomme », でした transforme la phrase au passé, ainsi りんごではありませんでした signifie « ce n'était pas une pomme ».
Quelques exemples :
いぬではありませんでした。
: Ce n'était pas un chien.
: Ce n'étaient pas des chiens.
みずではありまんせんでした。
: Ce n'était pas de l'eau.
Mais comment dire « Ça va être une pomme » ? Hé bien c'est quand on utilise une autre forme que celle fourni dans le tableau. Il existe en fait une autre forme appelé deshou.
Deshou induit de l'incertitude. On le traduit donc souvent par « probablement ». La forme sera au présent ou au passé selon le contexte. Quelques exemples :
りんごでしょう。
: C'est probablement une pomme.
: Cela va probablement être une pomme.
ねこでしょう。
: C'est probablement un chat.
: Cela va probablement être un chat.
# Les chiffres すうじ
- 0 ゼロ
- 1 いち
- 2 に
- 3 さん
- 4 よん / し
- 5 ご
- 6 ろく
- 7 なな/ しち
- 8 はち
- 9 きゅう
- 10 じゅう
- 11 じゅういち
- 17 じゅうなな
- 20 にじゅう
- 24 にじゅよん
- 26 にじゅろく
- 88 はちじゅうはち
- 92 きゅうじゅうに
- 100 ひゃく
- 539 ごひゃくさんじゅうきゅう
- 1000 せん
- 3840 さんぜんはっぴゃくよじゅ
- 10000 まん ou いちまん
- 1 million ひゃくまん
- Une centaine de millions いちおく
# À la maison
## Vocabulaire
いえ。
: Maison.
へや。
: Pièce (ou chambre d'une personne).
いま。
: Salon.
だいどころ。
: Cuisine.
れいぞうこう。
: Réfrigérateur.
おてあらい。
: Toilette (poli).
トイレ。
: Toilette.
ながしだい。
: Évier/lavabo.
おふろ。
: Baignoire.
おふろば。
: Salle de bain.
やね。
: Toit.
てんじょう。
: Plafond.
かべ。
: Mur.
ゆか。
: Sol (en bois).
どあ。
: Porte.
まど。
: Fenêtre.
ほんだな。
: Étagère.
いす。
: Chaise.
ベッド。
: Lit.
たたみ。
: Tatami.
しょうじ。
: Porte coulissante en papier.
ふとん。
: Futon.
テレビ。
: TV.
ラジオ。
: Radio.
とけい。
: Montre/horloge.
エアコン。
: Climatisation.
# Ceci, cela, de près ou de loin, …
これ は ~ です。
: Ceci est ~ à cote.
それ は~です。
: En montrant de près.
あね は~です。
: En montrant au loin.
この。
: Ce/cette à cote.
その。
: ... Près.
あの。
: ... Loin.
だれ。
: Qui ?
だれの。
: À qui ?
わたしの。
: Mon/Ma.
あなたの。
: Ton/Ta.
かれの。
: Son/Sa.
かのじょの。
: Son/Sa (À elle).
なんですか。
: Qu'es-ce que c'est ?
どれですか。
: Lequel(le) ?
> これはだれのかさですか。
> À qui est ce parapluie ?
> それはレオのかさです。
> C'est le parapluie de Léo.
> それはレオです。 (Pas obligé de redire le sujet /objet)
> あなたのくるまどれですか。
> C'est laquelle ta voiture ?
# Mots se ressemblant
## ちょうおん - 長音 Ajout de voyelles pour « allonger ».
おばさん:おばあさん
Tante : Grand-mère
おじさん:おしいさん
Oncle : Grand-père
ゆき:ゆうき
Neige : Courage
え:ええ
Photo : D'accord (Oui, OK, …)
とる:とおる
Prendre : Passer (devant quelque chose)
ここ:こうこう
Ici : Lycée
へや:へいや
Pièce : Plaine (Montagne, champ, …)
カード Carte
タクシー Taxi
スーパー Super
エスカレーター Escalator
ノート Cahier de note (Death note :p)
## はつおん 撥音 Ajout du n.
はんたい Opposée / Contre
うんどう Exercice / Sport
せんろ Rail de chemin de fer
みんな Tout le monde
しんぶん Journal papier
えんぴつ Crayon de papier
うんめい Destin
てんき Temps au sens météo
けんがく Étude
そくおん 促音 Ajout du tsu.
ぶか:ぶっか
Subordonnée : Prix
かさい:かっさい
Incendie : Applaudir
おと:おっと : つま
Son : Mon mariMa femme
にっき Journal (de type intime / notes)
ざっし Magazine périodique
きって Timbre postal
いっぱい Plein / Beaucoup
コップ Verre / Tasse
ベッド Lit
## ようおん拗音 Ajout de ya yu yo (Diphtongue)
ひやく:ひゃく
Développement (activité) : 100
じゆう:じゅう
Liberté : 10
びよういん:びょういん
Coiffeur : Hôpital
シャツ Chemise
おちゃ Thé
ぎゅうにゅう Lait (de vache)
きょう Aujourd'hui
ぶちょう Directeur / Chef de section
りょこう Voyage
# Adjectifs
## Adjectifs en i
かわいい
: Mignon
おおきい
: Grand
ちいさい
: Petit
やさしい
: Gentil
おいしい
: Bon (nourriture)
いい / よ
: Bien / Bon
ふるい
: Vieux / Ancien (objet)
あたらしい
: Nouveau / Neuf (objet)
おもい
: Lourd
かるい
: Léger
つよい
: Fort
やすい
: Pas cher
うれしい
: (Être) content
さむい
: Froid (météo)
つめたい
: Avoir froid
むずかしい
: Difficile
たかい
: Grand (objet, chose) / Cher (argent)
Négation avec くない.
## Exemples
> かわいいこどもがいます。
> Un petit enfant.
> あのこどもはおおきくないです。
> Cet enfant n'est pas grand.
> なにも かいません でした。
> Qu'est-ce que tu as acheté ?
> わたしは あたらしい フィグや を かいました。
> J'ai acheté une nouvelle figurine.
## Adjectifs en na
ふあんな
: Inquiétant
きれいな
: Beau / Belle
しんせつな
: Gentil
しずかな
: Calme
かんたんな
: Facile
にぎやかな
: Animé / Bruyant
ゆめいな
: Connu
げんきな
: Vif / Énergique
ひまな
: Libre (avoir du temps)
べんりな
: Pratique / Commode
## Exemples
> あのやまは  たかい です。
> Cette montagne est grande.
> これは きれいな はなです。
> Ce sont de belles fleurs.
> かれは しんせつな ひとです。
> C'est une gentille personne.
> カリナ さんは きれい です。
> Mme Karina est jolie.
> カリナ さんは きれい じゃありません。
> Mme Karina n'est pas jolie.
> きょとは しずか です。
> Kyoto est calme.
> きれいな ひと。
> Cette personne est belle.
> にぎやかじゃありません。
> Ce n'est pas animé.
> こんばん ひま ですか。
> Ce soir tu est libre ?
# つずく・・・
À suivre…
# Draft / TODO / A réorganiser / À corriger / Notes brutes…
> わたしは パソコンで えいがを みます。
> Je regarde un film sur mon ordinateur.
> わたしは きむらさんに はなを あげます。
> Je donne des fleurs à Mr. Kimura.
> わたしは カリナさんに チョコレートを もらいました。
> Mme. Karina m'a offert des chocolats.
> わたしは もう メールを おくりました。
> J'ai aussi envoyé un email.
> テレビで にほんごを べんきょうしましたか。
> As-tu étudié le Japonais en regardant la TV ?
> いいえ、 ラジオで べんきょうしました。
> Non, j'ai étudié avec le radio.
> にほんごで レポートを かきますか。
> Est-ce que vous écrivez un rapport en Japonais ?
> いいえ、 えいごで かきます。
> Non, je l'écris en Anglais.
# Kanjis
## Les nombres
Kanji
くんよみ façon japonaise
おん よみ façon chinoise
一 ひとつ
いち
二 
ふたつ
三 
みっつ
さん
...が わかります
Comprendre ... (Qqch)

23
docs/Various/Mullvad.md Normal file
View file

@ -0,0 +1,23 @@
# Mullvad
## IP address in Japan with WG+Socks
```
for i in {6..13}; do curl ipinfo.io/ip --socks5-host jp${i}-wg.socks5.mullvad.net:1080; curl ifconfig.co --socks5-host jp${i}-wg.socks5.mullvad.net:1080; done
217.138.252.227
2001:ac8:40:b6::a06d
217.138.252.243
2001:ac8:40:b7::a07d
91.193.7.3
2001:ac8:40:b8::a08d
91.193.7.19
2001:ac8:40:b9::a09d
91.193.7.35
2001:ac8:40:ba::a10d
91.193.7.51
2001:ac8:40:bb::a11d
91.193.7.67
2001:ac8:40:bc::a12d
91.193.7.83
2001:ac8:40:bd::a13d
```

View file

@ -0,0 +1,27 @@
# Paiement en euros
- N26 : Pas de frais
- Revolut : Pas de frais
- Boursorama Ultim : Pas de frais
- Coinbase : 2,49% + 0,30%
# Paiement en devises
- N26 : Pas de frais + Taux de change Mastercard
- Revolut : Pas de frais + Taux de change interbancaire
- Boursorama Ultim : Pas de frais + Taux de change inconnu
- Coinbase : 2,49% + 3% + Taux de change inconnu
# Retrait en euros
- N26 : 5 retraits par mois, puis 2€ par retrait (plafond 2500€/j)
- Revolut : Gratuit jusqu'à 200€/mois puis 2% par retrait (plafond 5000€/mois)
- Boursorama Ultim : Pas de frais (plafond 3000€/mois)
- Coinbase : 200€/mois avec 2,49%, puis 3,49% (plafond 500€/j)
# Retrait en devises
- N26 : 5 retraits par mois, puis 2% par retrait (plafond 2500€/j)
- Revolut : 1.7% par retrait (plafond 5000€/mois)
- Boursorama Ultim : Pas de frais (plafond 3000€/mois)
- Coinbase : 200€/mois avec 2,49%, puis 4.49% (plafond 500€/j)

67
docs/index.md Normal file
View file

@ -0,0 +1,67 @@
---
format: Markdown
toc: no
title: Benpro.fr
...
Welcome here! This is a tiny website (based on gitit wiki), used to inventory some of my works/contribs/contents.
Im Benoît S. a.k.a Benpro, Geek/Hacker/Sysadmin, living in Japan. Im passionate about the world of free software and Japanese culture.
If you want to contact me, go ahead, my mail is benoitbenpro⊙fr. You can also find me on Freenode IRC Network, idling somewhere on multiple channels (/whois benpro).
If you are not seeing emojis on this website, you could try [this method](https://archive.benpro.fr/sysadmin-bookmarks/archive/1606349483/index.html).
# About Me
- :page_facing_up: [Resume/CV](CV)
# Find me on
- :pencil: [Blog](https://blog.benpro.fr)
- :elephant: [Mastodon](https://toots.benpro.fr/@benoit)
- :camera: [Photos](https://pix.benpro.fr/benoit)
- :file_folder: [Gitea](https://git.benpro.fr/benoit)
- :octopus: [Github](https://github.com/benpro)
# Services
- [Services status](https://uptime.benpro.fr/)
- [Services status bis](https://status.benpro.fr/)
![Uptime of this website](https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2Fbenpro%2Fstatus%2Fmaster%2Fapi%2Fwww-benpro-fr%2Fuptime.json)
##### Public
- :camera: [Lutim instance / pictures hosting](https://pics.benpro.fr) Pictures are stored encrypted for 90d maximum.
- :floppy_disk: [PrivateBin instance / pastebin-like](https://paste.benpro.fr) Pastes are stored encrypted for no limit.
- :memo: [Etherpad-lite instance / real-time collaborative document editor](https://pad.benpro.fr) Pads are stored unencrypted for no limit.
- :package: [Linx-server instance / files sharing](https://share.benpro.fr) Files are stored unencrypted for no limit. Maximum file size in 100MB.
- :bird: [Nitter instance / Alternative Twitter front-end](https://twt.benpro.fr)
##### Restricted access
Want an access to one of my service? Jusk ask me.
- :books: [Miniflux instance / RSS Reader](https://flux.benpro.fr)
- :elephant: [Mastodon instance / alternative to Twitter](https://toots.benpro.fr)
- :movie_camera: [PeerTube instance / alternative to YouTube](https://videos.benpro.fr)
- :floppy_disk: [Archivebox instance / archive.org-like](https://archive.benpro.fr)
- :camera: [Pixelfed / alternative to Instagram](https://pix.benpro.fr)
- :computer: [The Lounge / IRC web client](https://irc.benpro.fr)
- :file_folder: [Gitea instance / alternative to GitHub](https://git.benpro.fr)
- :link: [YOURLS instance / Link shortener, alternative to bit.ly](https://lnk.benpro.fr/admin/index.php)
- :watch: [Kimai instance / Time tracking](https://time.benpro.fr)
##### Semi-private (family and friends).
- :tv: [Jellyfin instance / own VOD system](https://play.benpro.fr)
- :cloud: [NextCloud instance / alternative to DropBox/OneDrive](https://cloud.benpro.fr)
- :e-mail: [Mailcow instance / own mail server](https://mail.benpro.fr)
- :dollar: [AdGuard home instance / own DNS server with heavy filtering on ads](https://dns.benpro.fr)
- :closed_lock_with_key: [Bitwarden instance / own password vault](https://pwd.benpro.fr)
# Other
- [Sysadmin Tips](SysadminTips)
- [Encoding Tips](EncodingTips)
- [Basic CPU Benchmark on GCP/Vultr/Hetzner/Scaleway](CPUBenchmark)
> ~~If you're a bot, feel free to send mail to bot@benpro.fr~~