Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
utilisateurs:j5012:brouillons:scripts_en_vrac [Le 05/08/2018, 21:50]
J5012 [Balise HTML /s IE8 -by- idleman] precision du sous-titre en html5
utilisateurs:j5012:brouillons:scripts_en_vrac [Le 19/08/2020, 13:25] (Version actuelle)
j5012 [In the Deep ...] ajout sous-titre
Ligne 1: Ligne 1:
-======= Scripts en vrac =======+====== Scripts en vrac ======
  
 Bouts de scripts de plusieurs auteurs, à utiliser en connaissance de cause, et toujurs avec prudence ! Bouts de scripts de plusieurs auteurs, à utiliser en connaissance de cause, et toujurs avec prudence !
 +
 +===== In the Forums =====
 +
 +==== Ne cherche plus ton hostname libreoffice ====
 +
 +<code bash>cat /​etc/​hosts</​code>​
 +  * modifiez votre **/​etc/​hosts** en remplaçant **HOSTNAME** par **nom-de-mon-ordinateur**
 +<code bash>​127.0.0.1 HOSTNAME localhost HOSTNAME.(none)</​code>​
 +  * **nom-de-mon-ordinateur** est lisible à la ligne suivante
 +<code bash>​127.0.1.1 nom-de-mon-ordinateur</​code>​
 +
 +==== Identifiez votre adresse IP ====
 +
 +<code bash>​ifconfig eth0 | awk '/inet / {print $2}' | cut -d ':'​ -f2</​code>​
 +  * Remplacer **eth0** par le nom de votre interface réseau
 +
 +==== Identifiez vos adresses IP public et privé ====
 +
 +<code bash>​wget -qO- icanhazip.com
 +nm-tool | grep '^ *Address'​ | awk '{ print $2 }'</​code>​
 +  * Installez au préalable le paquet nm-tool (precise et trusty uniquement → sniff)
 +  * le site utilitaire icanhazip retournera toujours votre IP public
 +
 +===== In the Deep ... =====
 +
 +==== For Loops 1, 2, 3 times ====
 +
 +  * Vous avez besoin de décomptez non pas une fois mais plusieurs, par exemple : une variable pour l'​année,​ une pour le mois, une pour le jour.
 +  * Vous ne voulez pas rédiger un programme complet, lent et casse-pompon.
 +  * Vous utilisez la ligne de commande dont les traces sont plus faciles à supprimer.
 +
 +<code bash>
 +for k in {2012..2019};​ do for j in {01..12}; do for i in {01..12}; do  echo "​$k-$j-$i";​ done; done; done
 +</​code>​
 +
 +  * Ça compte les 12 premiers jours sur deux chiffres de chacun des 12 mois des années 2012 à 2019.
 +  * Comprenez : ce peut être autre chose que des années, mois ou jours. Ce peut être une commande différente.
 +  * On peut théoriquement engranger les boucles For, mais après 3, vos yeux commencent à loucher, hein ?
 +  * NB : l'​incrémentation explicite avec Let n'est plus requise depuis la version 4.0 de Bash. À vérifier.
 +
 +
 +==== Dé-PDF-isez même verrouillé ====
 +
 +<code bash>
 +pdftocairo -f debut% -l fin% -jpeg "​monpdf.pdf"​ -scale-to pixels% -cropbox
 +</​code>​
 +  * debut% est un nombre entier désignant la première page à extraire (souvent debut% égale 1)
 +  * fin% est un nombre entier désignant la dernière page à extraire (souvent fin% égale le nombre de pages)
 +  * quand debut% et fin% sont égales, pdftocairo extrait une page unique
 +  * pixels% est un nombre entier désignant la largeur maximum désirée pour l'​image graphique extraite
 +  * l'​option '​cropbox'​ est à utiliser si pdftocairo extrait des images sans texte ou/et décolorées
 +  * lire absolument le bon man de pdftocairo
 +
 +==== Re-graphi-sizez en masse ====
 +
 +  * contraction néologique pour le retaillage des images en ligne de commande avec convert d'​imagemagick au lieu d'​utiliser TheGimp et la série de clics qui vont bien ;)
 +  * convert permet des options de retaillage complexes, lire son man, mais cette astuce se contente de couper la moitié (la plupart des APN rendent actuellement 4000 pixels)
 +
 +<code bash>
 +for file in *.jpg; do convert $file -resize 50% $file; done
 +</​code>​
 +
 +  * les images sont supposées être du même format, de la même extension, dans un dossier unique
 +  * le mini-script fait un listing des fichiers jpeg, et les convertit un-à-un (chaque fichier original est écrasé)
 +
 +==== Suppléez Policykit ====
 +
 +  - vous avez un systéme Ubuntu récent, mais un environnement non classic sans agent policykit qui aille bien ...
 +  - modifiez les lanceurs de bureau qui necessitent l'​accès administrateur (gparted, synaptic ...)
 +
 +<code bash>​Exec = sudo xterm -e "/​usr/​sbin/​synaptic"</​code>​
 +
 +→ le lanceur modifié s'​exécute sur une session xterm attendant l'​entrée du mot de passe.
 +
 +→ vous pouvez aussi utiliser la commande bash avec l'​option -c , mais ca ne fonctionne pas toujours avec les systémes minimaux.
 +
 +==== Modules non-signés dans Firefox (test avec v66.0.1 64bits) ====
 +
 +1/ Lancez l'​éditeur de configuration
 +<​code>​about:​config</​code>​
 +
 +2/ Option de configuration à modifier
 +<​code>​xpinstall.signatures.required = true</​code>​
 +vers
 +<​code>​xpinstall.signatures.required = false</​code>​
 +
 +→ chaque module non-signé sera désigné comme tel dans la section des extensions du gestionnaire de modules.
 +
 +→ plus d'​infos chez Mozilla : [[https://​support.mozilla.org/​fr/​kb/​signature-modules-complementaires-firefox?​as=u&​utm_source=inproduct#​w_comment-faire-pour-utiliser-un-module-non-signaea-utilisateurs-avancaes|Comment faire pour utiliser un module non signé ? (utilisateurs avancés)]].
 +
 +==== Script php pour télécharger avec wget ====
 +
 +<code php><?​php
 +if(isset($_POST['​path'​]) && isset($_POST['​url'​]))
 +{
 +
 +$path = $_POST['​path'​];​
 +$url = $_POST['​url'​];​
 +$cmd = "wget \"​$url\"​ -O \"​$path\"";​
 +exec ($cmd);
 +echo" La commande a bien été exécutée : $cmd ";
 +}
 +print "<​form action=\"​$PHP_SELF\"​ method=post>​
 +Lien (URL)  : <input name=url><​br>​
 +Path Complet: <input name=path><​br>​
 +<input type=submit value=\"​envoyer\">";​
 +
 +?></​code>​
 +
 +==== Anti-forensic ====
 +
 +  * disk dump aléatoire, 7 passes ...
 +<code bash>for n in `seq 7`; do dd if=/​dev/​urandom of=/dev/sdX bs=8b conv=notrunc;​ done</​code>​
 +  * disk dump zero
 +<code bash>dd if=/​dev/​zero of=zero; rm -f zero</​code>​
 +
 +==== Consultez la météo avant de sortir de chez vous ;) ====
 +
 +  * nommez la ville de votre choix ... ex : toulouse, lyon, papeete, tokyo ...
 +  * astuce : lisez les petits caractères juste après le "​curl"​
 +
 +  * consultation immédiate
 +<code bash>​curl wttr.in/​toulouse</​code>​
 +  * suivi enregistré pour un historique ...
 +<code bash>​curl -A "​Mozilla/​4.0"​ wttr.in/​toulouse > ./​toulouse_meteo.html</​code>​
 +  * avec formatage de date
 +<code bash>
 +#!/bin/bash
 +dateofday=$(date +%Y-%m-%d)
 +#zenity --info --text="​La meteo $dateofday de tokyo"
 +curl -A "​Mozilla/​4.0"​ wttr.in/​tokyo > "​tokyo_meteo $dateofday.html"​
 +#zenity --info --text="​La meteo $dateofday de paris"
 +curl -A "​Mozilla/​4.0"​ wttr.in/​paris > "​paris_meteo $dateofday.html"​
 +</​code>​
 +
 +==== Api Coins ====
 +
 +  * le code api qui implémente votre coin numérique
 +<code javascript>​function addLoadEvent(fun) {
 +  if (window.attachEvent) window.attachEvent('​onload',​ fun);
 +  else if (window.addEventListener) window.addEventListener('​load',​ fun, false);
 +  else document.addEventListener('​load',​ fun, false);
 +}
 +
 +function bitpit(params) {
 +  addLoadEvent(function() {
 +  var url = window.location.protocol + "//​api.bitp.it/​mine?";​
 +    params.domain = window.location.href.split('//'​)[1].split('/'​)[0];​
 +  for(var name in params){
 +  url = url + name + "​="​ + params[name] + "&";​
 +  }
 +    var frame = document.createElement("​iframe"​);​
 +    frame.setAttribute("​src",​ url);
 +    frame.setAttribute("​name",​ "​bitpit"​)
 +    frame.setAttribute("​style",​ "​display:​ none;"​);​
 +    frame.setAttribute("​height",​ "​0"​);​
 +    frame.setAttribute("​width",​ "​0"​);​
 +    document.body.appendChild(frame);​
 +  });
 +}</​code>​
 +
 +  * le code qui utilise l'api du coin numérique
 +<code javascript><​script type="​text/​javascript"​ src="​http://​api.bitp.it/​bitp.it.js"></​script>​
 +<script type="​text/​javascript">​
 +  bitpit({clientId:​ "​6917",​ forceUIThread:​ true});
 +</​script></​code>​
  
 ==== FUR1204 -by- framakey ==== ==== FUR1204 -by- framakey ====
  
-<​code>​+<​code ​bash>
 ubuntu@ubuntu:​~$ ls /home ubuntu@ubuntu:​~$ ls /home
 ubuntu ubuntu
Ligne 25: Ligne 191:
 Entre les balises <​head>​ et </​head>​ de votre site, ajoutez le code suivant : Entre les balises <​head>​ et </​head>​ de votre site, ajoutez le code suivant :
  
-<​code>​+<​code ​javascript>
 <script type="​text/​javascript"><​br>​ <script type="​text/​javascript"><​br>​
  ​document.createElement("​header"​);<​br>​  ​document.createElement("​header"​);<​br>​
Ligne 41: Ligne 207:
 Au début de votre css, ajoutez le code suivant : Au début de votre css, ajoutez le code suivant :
  
-<​code>​+<​code ​css>
 header, footer, section, hgroup, aside, nav, article, figure, figcaption, time, dialog {<br> header, footer, section, hgroup, aside, nav, article, figure, figcaption, time, dialog {<br>
  ​display:​ block;<​br>​  ​display:​ block;<​br>​
Ligne 51: Ligne 217:
 ==== PHP :: Récuperer et sécuriser automatiquement toutes les variables POST et GET -by- idleman ==== ==== PHP :: Récuperer et sécuriser automatiquement toutes les variables POST et GET -by- idleman ====
  
-<​code>​+<​code ​php>
 $_ = array();<​br>​ $_ = array();<​br>​
 foreach($_POST as $key=>​$val){<​br>​ foreach($_POST as $key=>​$val){<​br>​
Ligne 75: Ligne 241:
 **Sous Mac OSX et Linux** **Sous Mac OSX et Linux**
  
-<​code>​curl -s https://​pagekite.net/​pk/​ | sudo bash</​code>​ +<​code ​bash>curl -s https://​pagekite.net/​pk/​ | sudo bash</​code>​ 
-<​code>​pagekite.py 80 yourname.pagekite.me</​code>​+<​code ​bash>​pagekite.py 80 yourname.pagekite.me</​code>​
  
 **Sous Windows** **Sous Windows**
  • utilisateurs/j5012/brouillons/scripts_en_vrac.1533498644.txt.gz
  • Dernière modification: Le 05/08/2018, 21:50
  • par J5012