Commit 0d880231 authored by kyodev's avatar kyodev

maj

parent 3ed613b7
This diff is collapsed.
# getInfo
![version: 4.8.1](https://img.shields.io/badge/version-4.8.1-blue.svg?longCache=true&style=for-the-badge)
![version: 4.9.0](https://img.shields.io/badge/version-4.9.0-blue.svg?longCache=true&style=for-the-badge)
![bash langage](https://img.shields.io/badge/bash-4-brightgreen.svg?longCache=true&style=for-the-badge)
![license LPRAB / WTFPL](https://img.shields.io/badge/license-LPRAB%20%2F%20WTFPL-blue.svg?longCache=true&style=for-the-badge)
......@@ -37,8 +37,8 @@ chmod +x getInfo
__ _ ___| |_|_ _|_ __ / _| ___
/ _' |/ _ \ __|| || '_ \| |_ / _ \
| (_| | __/ |_ | || | | | _| (_) |
\__, |\___|\__|___|_| |_|_| \___/
|___/ version 4.7.0 - 16/06/2018
\__, |\___|\__|___|_| |_|_| \___/ -h
|___/ version 4.9.0 - 20/06/2018
•ø••••••••••••••••◇◇◇•••••
......@@ -77,9 +77,9 @@ chmod +x getInfo
**getInfo_rapport.md**
* ultérieurement, le rapport est consultable avec la commande `./getInfo -l`
* ultérieurement, le rapport peut être (re)exporté avec la commande `./getInfo -p`
* la durée du paste peut être configurée avec l'option supplémentaire `-tn` (n=nombre de jours), par exemple:
* `./getInfo -p -t14` pour exporter un rapport existant pour une période de 14 jours
* `./getInfo -t21` pour former et exporter un rapport pour une période de 21 jours
* la durée du paste peut être configurée avec l'option supplémentaire `-t n` (n=nombre de jours), par exemple:
* `./getInfo -p -t 14` pour exporter un rapport existant pour une période de 14 jours
* `./getInfo -t 21` pour former et exporter un rapport pour une période de 21 jours
## alertes / informations
......@@ -146,14 +146,14 @@ chmod +x getInfo
/ _' |/ _ \ __|| || '_ \| |_ / _ \
| (_| | __/ |_ | || | | | _| (_) |
\__, |\___|\__|___|_| |_|_| \___/ -h
|___/ version 4.7.0 - 16/06/2018
|___/ version 4.9.0 - 20/06/2018
./getInfo : exécution script
getInfo : exécution script installé dans le système
-----------------------------------------------------------------------
getInfo -c : (catégorie) menu sélection catégorie d'analyse
getInfo -cs : catégorie système -cs : catégorie configuration
getInfo -cr : catégorie réseau -ca : catégorie analyse
getInfo -cs : catégorie système -cc : catégorie configuration -csc : système&configuration
getInfo -cr : catégorie réseau -ca : catégorie analyse -cscra: toutes les 4 catégories
getInfo -j : (journaux) analyse démarrage système, log Xorg, kernel et système, catégorie -ca
getInfo -l : (list) afficher le rapport markdown existant
getInfo -p : (paste) exporte le rapport markdown existant, durée standard du paste 7 jours
......@@ -164,9 +164,10 @@ chmod +x getInfo
getInfo --serial : affiche n° série disques, batterie et châssis, pas de rapport markdown
getInfo --ssid : affiche configurations ssid, pas de rapport markdown, root & NetworkManager requis
--debug-paste : affichage retour json de de l'export sur pastebin
--debug : messages d'erreur (stderr) logués et exportés avec le rapport
--dev : une version de dev du script (si existante) est recherchée
-tn : durée de conservation du paste de n jour(s)
-t n, --time n : temps de conservation du paste, par défaut 7 jours
-----------------------------------------------------------------------
./getInfo -i : installation du script dans le système (root)
getInfo -h, --help : affichage aide
......
......@@ -12,8 +12,8 @@ de téléchargement) seront alors sous la forme `getInfo ...`.
__ _ ___| |_|_ _|_ __ / _| ___
/ _' |/ _ \ __|| || '_ \| |_ / _ \
| (_| | __/ |_ | || | | | _| (_) |
\__, |\___|\__|___|_| |_|_| \___/
|___/ version 4.7.0 - 16/06/2018
\__, |\___|\__|___|_| |_|_| \___/ -c
|___/ version 4.9.0 - 20/06/2018
getInfo -h : afficher l'aide
......@@ -40,8 +40,8 @@ de téléchargement) seront alors sous la forme `getInfo ...`.
ou `dmesg`) ne seront pas extraits
* `getInfo -l` affiche un rapport _getInfo_rapport.md_ existant
* `getInfo -p` exporte un rapport _getInfo_rapport.md_ existant sur le pastebin
* l'option supplémentaire `-tn` permet de remplacer la durée de conservation **standard de 7 jours** par
**n** jours (par exemple -t1: le paste sera effacé au bout de 1 jour)
* l'option supplémentaire `-t n` permet de remplacer la durée de conservation **standard de 7 jours** par
**n** jours (par exemple -t 1: le paste sera effacé au bout de 1 jour)
* `getInfo -us` (update spécial), le script est mis à jour là où il est, sans installation pré-requise
* `gfetch` lanceur sur `getInfo --rc` ( si script installé )
......
# ipupdate
![version: 1.3.0](https://img.shields.io/badge/version-1.3.0-blue.svg?longCache=true&style=for-the-badge)
![version: 1.4.0](https://img.shields.io/badge/version-1.4.0-blue.svg?longCache=true&style=for-the-badge)
![bash langage](https://img.shields.io/badge/bash-version4-brightgreen.svg)
![status](https://img.shields.io/badge/status-release-green.svg)
![license LPRAB / WTFPL](https://img.shields.io/badge/license-LPRAB%20%2F%20WTFPL-blue.svg)
......@@ -77,7 +76,7 @@ cp ipupdate.conf.sample ipupdate.conf
| | '_ \| | | | '_ \ / _' |/ _' | __/ _ \
| | |_) | |_| | |_) | (_| | (_| | || __/
|_| .__/ \__,_| .__/ \__,_|\__,_|\__\___| -h
|_| |_| 1.2.0 16/06/2018
|_| |_| 1.4.0 20/06/2018
usage : ipupdate [options] ( les options et les arguments doivent etre séparés par 1 espace )
......@@ -110,7 +109,7 @@ cp ipupdate.conf.sample ipupdate.conf
toto.hn.org (hn) : 99.111.255.44
toto.freemyip.com (freemyip): 99.111.255.44
Ip publique:
99.111.255.44 2001:db8:0:0:1::1
99.111.255.44 2001:db8:0:0:1::1
plus d'infos: https://framaclic.org/h/doc-ipupdate
......@@ -292,7 +291,7 @@ si l'envoi de mails est configuré, voir `ipupdate.conf` et activé `envoi_mail=
## sources
[framagit (gitlab) (framasoft service)](https://framagit.org/sdeb/ipupdate/tree/master#ipupdate)
[framagit (gitlab) (framasoft service)](https://framagit.org/sdeb/ipupdate/tree/master/ipupdate)
## license
......
# nstest
![version: 1.6.5](https://img.shields.io/badge/version-1.6.5-blue.svg?longCache=true&style=for-the-badge)
![version: 1.8.0](https://img.shields.io/badge/version-1.8.0-blue.svg?longCache=true&style=for-the-badge)
![bash langage](https://img.shields.io/badge/bash-4-brightgreen.svg?longCache=true&style=for-the-badge)
![license LPRAB / WTFPL](https://img.shields.io/badge/license-LPRAB%20%2F%20WTFPL-blue.svg?longCache=true&style=for-the-badge)
......@@ -20,32 +20,35 @@ It can be exported the report on a pastebin for easy exchange.
## usage
```shell
./nstest -h
```
```text
_ _
_ __ ___| |_ ___ ___| |_
| '_ \/ __| __/ _ \/ __| __|
| | | \__ \ || __/\__ \ |_
|_| |_|___/\__\___||___/\__| -h
version: 1.6 02/06/2018
version: 1.8.0 20/06/2018
usage: nstest [options] ( options and arguments must be SEPARATED by one space )
-4, -6, -46 : protocols to use: ipv4, ipv6, ipv4 & ipv6. by default, the protocol(s) used in the net layer
--bench : run with all lists of domains to test
--dev : use dev branch for update or for version number
--drill : drill is forced if existing, otherwise dig has priority
-e, --export : export on a pastebin
-c, --compress: no extended report, only time averages
-d, --domains : choice between 3 test domain lists: base (defaut), alt, atld, or easy
-f, --file : the ip in <file> are tested, replace /etc/resolv.conf. format: ip[ # name] per line
--nodns : only the nameservers in /etc/resolv.conf or in <file> are tested, no other dns servers used
--noresolv: the file /etc/resolv.conf is not read, implied with --file
--nosort : no sorted report on average column
--opt : print list of dns servers and domains used for tests
-h, --help : this help
-s, --sort : sort on domain number
-u, --upgrade : load and replace the script in place
-v, --version : version of the script online and in place
-4, -6, -46 : protocols to use: ipv4, ipv6, ipv4 & ipv6. by default, the protocol(s) used in the net layer
--bench : run with all lists of domains to test
--dev : use dev branch for update or for version number
--drill : drill is forced if existing, otherwise dig has priority (or host if existing)
-e, --export : export on a pastebin, the file nstest_report.md created for that
-c, --compress : no extended report, only time averages
-d, --domains : choice between 3 test domain lists: base (defaut), alt, atld, or easy
-f, --file : the ip in <file> are tested, replace /etc/resolv.conf. format: ip[ # name] per line
--nodns : only the nameservers in /etc/resolv.conf or in <file> are tested, no other dns servers used
--noresolv : the file /etc/resolv.conf is not read, implied with --file
--nosort : no sorted report on average column
--opt : print list of dns servers and domains used for tests
-h, --help : this help
-s, --sort : sort on domain number
-u, --upgrade : load and replace the script in place
-v, --version : version of the script online and in place
examples:
./ntest : full report, with nameservers in /etc/resolv.conf and few open DNS servers
......@@ -141,7 +144,7 @@ some servers, outside OpenNic, resolve alternative domain names, today: level3 &
## sources
[framagit (gitlab) (framasoft service)](https://framagit.org/sdeb/nstest/blob/master/README.md#nstest)
[framagit (gitlab) (framasoft service)](https://framagit.org/sdeb/nstest/blob/master/nstest)
## license
......
......@@ -5,8 +5,8 @@
# SC2016 Expressions don't expand in single quotes
# SC2009 Consider using pgrep instead of grepping ps output
version=4.8.1
date="18/06/2018"
version=4.9.0
date="20/06/2018"
script="getInfo"
contact="IRC freenode.net ##sdeb@freenode.net ou https://framagit.org/sdeb/getInfo/issues"
......@@ -567,7 +567,7 @@ f_grep_file(){ # 18/06/2018
echo -en "$display"
}
f_help(){ # 16/06/2018
f_help(){ # 19/06/2018
tput cuu1 # une ligne plus haut
cat <<- end
......@@ -576,8 +576,8 @@ f_help(){ # 16/06/2018
${GREEN}getInfo :$STD exécution script installé dans le système
-----------------------------------------------------------------------
$BLUE$script -c :$STD (catégorie) menu sélection catégorie d'analyse
$BLUE$script -cs :$STD catégorie système $BLUE-cs$STD : catégorie configuration
$BLUE$script -cr :$STD catégorie réseau $BLUE-ca$STD : catégorie analyse
$BLUE$script -cs :$STD catégorie système $BLUE-cc$STD : catégorie configuration $BLUE-csc$STD : système&configuration
$BLUE$script -cr :$STD catégorie réseau $BLUE-ca$STD : catégorie analyse $BLUE-cscra$STD: toutes les 4 catégories
$BLUE$script -j :$STD (journaux) analyse démarrage système, log Xorg, kernel et système, catégorie -ca
$BLUE$script -l :$STD (list) afficher le rapport markdown existant
$BLUE$script -p :$STD (paste) exporte le rapport markdown existant, durée standard du paste 7 jours
......@@ -588,9 +588,10 @@ f_help(){ # 16/06/2018
$BLUE$script --serial :$STD affiche n° série disques, batterie et châssis, pas de rapport markdown
$BLUE$script --ssid :$STD affiche configurations ssid, pas de rapport markdown,$RED root & NetworkManager$STD requis
$GREEN --debug-paste :$STD affichage retour json de de l'export sur pastebin
$GREEN --debug :$STD messages d'erreur (stderr) logués et exportés avec le rapport
$GREEN --dev :$STD une version de dev du script (si existante) est recherchée
$GREEN -tn :$STD durée de conservation du paste de$GREEN n$STD jour(s)
$GREEN -t n, --time n :${STD} temps de conservation du paste, par défaut 7 jours
-----------------------------------------------------------------------
$BLUE./$script -i$STD : installation du script dans le système $RED(root)$STD
$BLUE$script -h$STD, --help : affichage aide
......@@ -4446,7 +4447,8 @@ figet_wm(){ # 06/03/2018 base départ neofetch
}
# aiguillage export paste, insertion fichier log (debug script)
fipaste(){ # 15/06/2018
fipaste(){ # 20/06/2018
if ! f__requis "curl"; then
f__info "une fois Curl installé, inutile de relancer la détection" \
"$GREEN $DIRNAME""getInfo -p" "pour exporter le rapport existant"
......@@ -4461,37 +4463,8 @@ fipaste(){ # 15/06/2018
} >> "$file_output"
rm -f "$debug_output"
fi
fipaste_curl_pastery "$file_output" "$pasteDuration" "$optDebug"
# à tester fipaste_curl_markdownshare "$file_output"
}
# $1=fichier à exporter, $2 durée de conservation en jour; $3 debug
fipaste_curl_pastery(){ # 06/03/2018
local curl id pluriel
[ -e "$1" ] || f__error "fichier $1 inexistant"
# curl -X POST "https://www.pastery.net/api/paste/?title=getInfo&language=markdown" -F file=@$1
# un fichier simple curl https://www.pastery.net/api/paste/ -F file=@data.txt
curl=$( curl --silent -X POST "https://www.pastery.net/api/paste/?title=getInfo_$version&language=markdown&duration=$(( $2*1440 ))" --data-binary @"$1" )
if grep -q '"result": "error' <<< "$curl" ;then
f__info "${RED}Erreur critique export rapport:"
f__info "$curl"
else
id=$( echo "$curl" | cut -d '"' -f 4 )
if [ $(( pasteDuration )) -gt 1 ]; then pluriel="s"; else unset pluriel; fi
f__info "votre paste:$GREEN https://www.pastery.net/$id/" \
"(valide pendant $RED$pasteDuration jour$pluriel)"
echo -e "exporté sur https://www.pastery.net/$id/ \n\n" >> "$file_output"
fi
[ "$3" == "debugPaste" ] && f__info "$curl"
# UTF-8
# ?api_key=<api_key>
# &duration=<duration> en mn, 1 jour par défaut
# &language=autodetect possible
# &max_views=<max_views>
# 100ko max
#{"id": "kddgar", "title": "getInfo_2.5.0", "url": "https://www.pastery.net/kddgar/", "language": "markdown", "duration": 1439}
#{"result": "error", "error_msg": "Your request body was not valid UTF-8."}
fipaste_pastery "$file_output" 'markdown' "$optDebug"
# à tester fipaste_curl_markdownshare "$file_output" 'markdown' "$optDebug"
}
fipaste_curl_markdownshare(){ # à tester/finir
......@@ -4502,6 +4475,40 @@ fipaste_curl_markdownshare(){ # à tester/finir
#expire=Nh Expire in N hours.
#expire=Nd Expire in N days.
#-d expire ? ou --data expire
}
# $1 file to paste, $2 language, [$3="debugPaste" afficher retour paste], requires $pasteDuration
fipaste_pastery(){ # 20/06/2018-2
local title language="$2" pasted csv id pastebin='pastery.net'
type -t f__info &>/dev/null && c_echo="f__info" || c_echo="echo -e" # f__info existe? sinon echo
[ ! -e "$1" ] && c_echo "fichier $1 inexistant"
type -t f__basedirname &>/dev/null && f__basedirname "$1"
basename=${basename:""}
[ "$basename" ] && title="$basename-${script}_$version" || title="${script}_$version"
[ "$language" == 'auto' ] && language='autodetect'
# un fichier simple curl https://www.pastery.net/api/paste/ -F file=@data.txt
pasted="$( curl --silent "https://www.pastery.net/api/paste/?title=$title&language=$language&duration=$(( pasteDuration*1440 ))" -F file=@"$1" )"
if [[ $pasted =~ \<title\>(.*5[0-9].*error.*)\</title\> ]]; then
$c_echo "$RED"" Erreur export sur $pastebin:$STD \\n ${BASH_REMATCH[1]}"
elif [[ $pasted =~ \"result\":\ \"error ]]; then
$c_echo "$RED"" Erreur export sur $pastebin:$STD \\n $pasted"
else
IFS=', ' read -r -a csv <<< "$pasted"
id=${csv[1]%\"}
id=${id#\"}
if (( pasteDuration > 1 )); then pluriel="s"; else unset pluriel; fi
$c_echo " lien paste: ${GREEN} https://www.pastery.net/$id/ $STD(valide pendant $RED$pasteDuration jour$pluriel)$STD"
fi
[ "$3" == "debugPaste" ] && c_echo "$pasted"
# UTF-8
# ?api_key=<api_key>
# &duration=<duration> en mn, 1 jour par défaut
# &language=autodetect possible
# &max_views=<max_views>
# 100ko max ??
# {"id": "dntzpd", "title": "LICENSE.md-pastit_0.3.0a", "url": "https://www.pastery.net/dntzpd/", "language": "markdown", "duration": 10079}
# {"result": "error", "error_msg": "Your request body was not valid UTF-8."}
}
# fonction spécifique à l'installation
......@@ -4781,10 +4788,10 @@ prg_1(){ # 16/06/2018d début
echo -e "$ligneRapport \\n" >> "$file_output"
echo -e "--- \\n" >> "$file_output"
}
prg_2(){ # 08/03/2018 traitements principaux
prg_2(){ # 19/06/2018 traitements principaux
if [[ "$1" == all || "$1" =~ s ]]; then #systeme, matériel -cs
echo -e "# Système" >> "$file_output"
echo -e "# Système" >> "$file_output"
for i in fi_system fi_cpu fi_mem fi_hw fi_batt fi_gpu fi_net fi_audio fi_touchpad fi_bluez fi_usb fi_disk ; do
echo -n "•"
[ "$debugScript" == "ok" ] && echo -e "\n$i : " 1>&2
......@@ -4792,7 +4799,7 @@ prg_2(){ # 08/03/2018 traitements principaux
done
fi
if [[ "$1" == all || "$1" =~ c ]]; then #configuration #debian, packages -cc
echo -e "# Configuration" >> "$file_output"
echo -e "# Configuration" >> "$file_output"
for i in fi_efi fi_locale fi_conf fi_vrms fi_packagers ; do
echo -n "•"
[ "$debugScript" == "ok" ] && echo -e "\n$i : " 1>&2
......@@ -4800,7 +4807,7 @@ prg_2(){ # 08/03/2018 traitements principaux
done
fi
if [[ "$1" == all || "$1" =~ r ]]; then #reseau -cr
echo -e "# Réseau" >> "$file_output"
echo -e "# Réseau" >> "$file_output"
for i in fi_reseau fi_nm ; do
echo -n "•"
[ "$debugScript" == "ok" ] && echo -e "\n$i : " 1>&2
......@@ -4808,7 +4815,7 @@ prg_2(){ # 08/03/2018 traitements principaux
done
fi
if [[ "$1" == all || "$1" =~ a ]]; then #analyse -ca
echo -e "# Analyse" >> "$file_output"
echo -e "# Analyse" >> "$file_output"
for i in fi_system_analyse fi_journal_xorg fi_journal ; do
echo -n "•"
[ "$debugScript" == "ok" ] && echo -e "\n$i : " 1>&2
......@@ -4883,7 +4890,7 @@ script_install="/opt/bin/$script"
script_logs="/var/log/sdeb_$script.log"
url_script="https://framagit.org/sdeb/getInfo/raw/master/getInfo"
url_notice="https://framaclic.org/h/doc-getinfo"
pasteDuration=7 # durée de conservation standard du paste en jours
default_duration=7 # durée de conservation du paste par défaut
spc5=$'\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0'
ligneRapport="Rapport du $(date '+%d/%m/%Y %H:%M %z')$spc5$spc5$0 $*$spc5${spc5}[$script $version]($url_notice)"
......@@ -4908,14 +4915,15 @@ while (( $# )) ; do
exec 2> "$debug_output" # redirection
echo -e "$ligneRapport \\n" 1>&2 ;;
--dev ) url_script=${url_script//\/master\///dev/} ;;
-t ) options+=( "$1" ) ;;
-t* ) # durée de conservation standard du paste en jours
pasteDuration=$(( ${1#-t} ))
(( pasteDuration == 0 )) && pasteDuration=1 ;;
-t ) # durée de conservation standard du paste en jours
pasteDuration="$2"
shift ;;
-t* ) pasteDuration="${1#-t}" ;; # durée de conservation standard du paste en jours
* ) options+=( "$1" ) ;;
esac
shift
done
(( pasteDuration == 0 )) && pasteDuration="$default_duration" # par défaut
[ "$categorie" ] && options+=( -c"$categorie" )
(( ${#options[@]} == 0 )) && options=( all )
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment