SnakeNET

Utilisateur principal de ce site web.

Jan 292020
 

Sur le PC sur lequel je veux donner accès , je lance ceci :  (j’ai mis le script dans un fichier bat pour qu’il essaie de se recréer constamment)

:debut
  plink.exe -ssh -pw VPNPASS -batch -R 3390:127.0.0.1:3389 VPNUSER@VPN.SERVERNAME.COM
goto debut

Ca veut dire qu’il va créer un port 3390 sur le serveur VPN.SERVERNAME.COM qui pointera directement sur mon PC sur le port 3389.
Je me connecte avec l’utilisateur VPNUSER et le mot de passe VPNPASS

Attention, je n’ai JAMAIS dit que cétait recommandé/sécurisé !

Jan 282020
 

Pour info, la gestion du POE sur un OS6465 est super bizarre…
Voici les étapes que j’ai utilisées pour le faire fonctionner.

R35-ParkingLancierGauche> show lanpower slot 1/1
Port Maximum(mW) Actual Used(mW)   Status    Priority   On/Off   Class   Type
----+-----------+---------------+-----------+---------+--------+-------+----------
  1     30000            0       Powered Off    Low      OFF       .
  2     30000            0       Powered Off    Low      OFF       .
  3     60000            0       Powered Off    Low      OFF       .
  4     30000            0       Powered Off    Low      OFF       .
  5     60000            0       Powered Off    Low      OFF       .
  6     30000            0       Powered Off    Low      OFF       .
  7     60000            0       Powered Off    Low      OFF       .
  8     30000            0       Powered Off    Low      OFF       .

ChassisId 1 Slot 1 Max Watts 0
0 Watts Actual Power Consumed
0 Watts Total Power Budget Used
0 Watts Total Power Budget Available
0 Power Supply Available
'*' appending port maxpower indicates 4pair port operating in 2pair mode

Par défaut, il n’y a pas de source de courant disponible.

R35-ParkingLancierGauche> show powersupply total 
Total Power (watts):   0

Donc, il faut créer une source de courant (je l’ai appelée « integrated »):

no powersupply 1 name "integrated" chassis-id 1
powersupply 1 name "integrated" type ale 24vdc
powersupply enable 1

Activer la source de courant

powersupply enable chassis-id 1 1

Démarrer la function POE

lanpower slot 1/1 service start
Avr 082019
 

Si vous avez détruit les associations des fichiers .JAR en installant un logiciel de type winzip, pas de panique.

La méthode la plus rapide et simple est de lancer les deux commandes suivantes en tant qu’administrateur :

ftype jarfile="C:\Program Files (x86)\Java\jre1.8.0_201\bin\javaw.exe" -jar "%1" %*
assoc .jar=jarfile

Pensez à adapter le chemin de java 🙂

 

Mar 202019
 

Vous l’avez certainement remarqué, si vous fermez votre fenêtre WSL, toutes les tâches (y compris nohup et crontab) s’arrêtent.
L’idée est de démarrer cron au démarrage de votre session Windows (ou pc via tache plannifiée)

D’abord autoriser de lancer cron en root sans mot de passe :

sudo visudo
et ajouter :
%sudo ALL=NOPASSWD: /etc/init.d/cron start

Ensuite, dans le dossier « démarrage » de Windows, rajouter le démarrage de cron via un nouveau shortcut:

C:\Windows\System32\wsl.exe sudo /etc/init.d/cron start

voila..

Mar 062019
 

Si vous lancer une commande graphique avec sudo, vous pourriez avoir cette erreur et ça ne fonctionne pas:

Gtk-WARNING **: cannot open display: :10.0

La solution, ajouter cette ligne à la fin du fichier de configuration de sudo (avec la commande « visudo », je rappelle)

Defaults env_keep="XAUTHORIZATION XAUTHORITY TZ PS2 PS1 PATH LS_COLORS KRB5CCNAME HOSTNAME HOME DISPLAY COLORS"

 

Jan 082019
 

J’ai créé un service similaire à dweet.io
Je m’en sers pour logguer des infos (capteur de temperature, uptime,…)

J’ai des Raspberry, CHIP, Omega, Arduino (esp8266) qui ont besoin de remonter facilement ce genre d’infos. Comment?

Comme ceci dans un « crontab -e « :

* * * * * wget --user-agent=arduino "http://www.snakenet.be/dweet/?key=ONION&freemem=`grep "MemFree" /proc/meminfo | awk '{print $2}'`&uptime=`cat /proc/uptime |awk '{print $2}'`" -O /dev/null &

Faut aussi penser à activer crontab (sous Omega)

/etc/init.d/cron start
/etc/init.d/cron enable

et on visionne le résultat avec cette page :

Exemple d’analyse de la vitesse d’upload de ma connexion internet :

#!/bin/bash
upload=`./speedtest-cli --no-pre-allocate --no-download --simple | grep "Upload" | cut -f 2 -d ':' | cut -d ' ' -f 2`
wget --user-agent=arduino "http://www.snakenet.be/dweet/?key=VOO&upload=$upload" -O /dev/null

 

Mai 142018
 

Source : https://github.com/foosel/OctoPrint/wiki/Setup-on-a-Raspberry-Pi-running-Raspbian

apt-get install python2.7 git gcc python-pip python-dev python-setuptools python-virtualenv git libyaml-dev build-essential

# a ne PAS faire en root !!!
cd ~
git clone https://github.com/foosel/OctoPrint.git
cd OctoPrint
virtualenv venv
./venv/bin/pip install pip --upgrade
./venv/bin/python setup.py install
mkdir ~/.octoprint

Tester si ca démarre :

~/OctoPrint/venv/bin/octoprint

Si ça démarre sans problème, alors corriger la suite :

edit ~/OctoPrint/scripts/octoprint.init and ~/OctoPrint/scripts/octoprint.default and change DAEMON to this : 
DAEMON=/root/OctoPrint/venv/bin/octoprint

sudo cp ~/OctoPrint/scripts/octoprint.init /etc/init.d/octoprint
sudo chmod +x /etc/init.d/octoprint
sudo cp ~/OctoPrint/scripts/octoprint.default /etc/default/octoprint

sudo update-rc.d octoprint defaults

sudo service octoprint start

Et voilà, c’est finit…

Déc 222017
 
#!/bin/sh
# This program gets the battery info from PMU
# Voltage and current charging/discharging
#
# Nota : temperature can be more than real because of self heating
#######################################################################
# Copyright (c) 2014 by RzBo, Bellesserre, France
#
# Permission is granted to use the source code within this
# file in whole or in part for any use, personal or commercial,
# without restriction or limitation.
#
# No warranties, either explicit or implied, are made as to the
# suitability of this code for any purpose. Use at your own risk.
#######################################################################

# force ADC enable for battery voltage and current
#i2cset -y -f 0 0x34 0x82 0xC3
i2cset -y -f 0 0x34 0x82 0xff

################################
#read Power status register @00h
POWER_STATUS=$(i2cget -y -f 0 0x34 0x00)
#echo $POWER_STATUS

BAT_STATUS=$(($(($POWER_STATUS&0x02))/2)) # divide by 2 is like shifting rigth 1 times
#echo $(($POWER_STATUS&0x02))
echo "BAT_STATUS="$BAT_STATUS
# echo $BAT_STATUS

################################
#read Power OPERATING MODE register @01h
POWER_OP_MODE=$(i2cget -y -f 0 0x34 0x01)
#echo $POWER_OP_MODE

CHARG_IND=$(($(($POWER_OP_MODE&0x40))/64)) # divide by 64 is like shifting rigth 6 times
#echo $(($POWER_OP_MODE&0x40))
echo "CHARG_IND="$CHARG_IND
# echo $CHARG_IND

[ $(($POWER_STATUS & 0x80)) -ne 0 ] && {
 echo "ACIN Present"
 ACIN_VOLT_MSB=$(i2cget -y -f 0 0x34 0x56)
 ACIN_VOLT_LSB=$(i2cget -y -f 0 0x34 0x57)
 ACIN_BIN=$(( $(($ACIN_VOLT_MSB << 4)) | $(($(($ACIN_VOLT_LSB & 0x0F)) )) ))
 ACIN_VOLT=$(echo "($ACIN_BIN*1.7)"|bc)
 echo " ACIN voltage = "$ACIN_VOLT"mV"

ACIN_I_MSB=$(i2cget -y -f 0 0x34 0x58)
 ACIN_I_LSB=$(i2cget -y -f 0 0x34 0x59)
 ACIN_I_BIN=$(( $(($ACIN_I_MSB << 4)) | $(($(($ACIN_I_LSB & 0x0F)) )) ))
 ACIN_I=$(echo "($ACIN_I_BIN*0.625)"|bc)
 echo " ACIN current = "$ACIN_I"mA"
}
[ $(($POWER_STATUS & 0x20)) -ne 0 ] && {
 echo "VBUS Present"
 VBIN_VOLT_MSB=$(i2cget -y -f 0 0x34 0x5a)
 VBIN_VOLT_LSB=$(i2cget -y -f 0 0x34 0x5b)
 VBIN_BIN=$(( $(($VBIN_VOLT_MSB << 4)) | $(($(($VBIN_VOLT_LSB & 0x0F)) )) ))
 VBIN_VOLT=$(echo "($VBIN_BIN*1.7)"|bc)
 echo " VBUS voltage = "$VBIN_VOLT"mV"

VBIN_I_MSB=$(i2cget -y -f 0 0x34 0x5c)
 VBIN_I_LSB=$(i2cget -y -f 0 0x34 0x5d)
 VBIN_I_BIN=$(( $(($VBIN_I_MSB << 4)) | $(($(($VBIN_I_LSB & 0x0F)) )) ))
 VBIN_I=$(echo "($VBIN_I_BIN*0.375)"|bc)
 echo " VBUS current = "$VBIN_I"mA"
}

################################
#read Charge control register @33h
CHARGE_CTL=$(i2cget -y -f 0 0x34 0x33)
echo "CHARGE_CTL="$CHARGE_CTL
# echo $CHARGE_CTL


################################
#read Charge control register @34h
CHARGE_CTL2=$(i2cget -y -f 0 0x34 0x34)
echo "CHARGE_CTL2="$CHARGE_CTL2
# echo $CHARGE_CTL2

###################
#read internal temperature 5eh, 5fh -144.7c -> 000h, 0.1c/bitFFFh -> 264.8c
TEMP_MSB=$(i2cget -y -f 0 0x34 0x5e)
TEMP_LSB=$(i2cget -y -f 0 0x34 0x5f)

# bash math -- converts hex to decimal so `bc` won't complain later...
# MSB is 8 bits, LSB is lower 4 bits
TEMP_BIN=$(( $(($TEMP_MSB << 4)) | $(($(($TEMP_LSB & 0x0F)) )) ))

TEMP_C=$(echo "($TEMP_BIN*0.1-144.7)"|bc)
echo "Internal temperature = "$TEMP_C"c"

BAT_EXIST=$(($(($POWER_OP_MODE&0x20))/32)) # divide by 32 is like shifting rigth 5 times
#echo $(($POWER_OP_MODE&0x20))
echo "BAT_EXIST="$BAT_EXIST
# echo $BAT_EXIST

[ $BAT_EXIST -ne 0 ] && {
################################
#read battery voltage 79h, 78h 0 mV -> 000h, 1.1 mV/bit FFFh -> 4.5045 V
BAT_VOLT_MSB=$(i2cget -y -f 0 0x34 0x78)
BAT_VOLT_LSB=$(i2cget -y -f 0 0x34 0x79)

#echo $BAT_VOLT_MSB $BAT_VOLT_LSB
# bash math -- converts hex to decimal so `bc` won't complain later...
# MSB is 8 bits, LSB is lower 4 bits
BAT_BIN=$(( $(($BAT_VOLT_MSB << 4)) | $(($(($BAT_VOLT_LSB & 0x0F)) )) ))

BAT_VOLT=$(echo "($BAT_BIN*1.1)"|bc)
echo " Battery voltage = "$BAT_VOLT"mV"


###################
#read Battery Discharge Current 7Ch, 7Dh 0 mV -> 000h, 0.5 mA/bit 1FFFh -> 1800 mA
#AXP209 datasheet is wrong, discharge current is in registers 7Ch 7Dh
#13 bits
BAT_IDISCHG_MSB=$(i2cget -y -f 0 0x34 0x7C)
BAT_IDISCHG_LSB=$(i2cget -y -f 0 0x34 0x7D)

#echo $BAT_IDISCHG_MSB $BAT_IDISCHG_LSB

BAT_IDISCHG_BIN=$(( $(($BAT_IDISCHG_MSB << 5)) | $(($(($BAT_IDISCHG_LSB & 0x1F)) )) ))

BAT_IDISCHG=$(echo "($BAT_IDISCHG_BIN*0.5)"|bc)
echo " Battery discharge current = "$BAT_IDISCHG"mA"

###################
#read Battery Charge Current 7Ah, 7Bh 0 mV -> 000h, 0.5 mA/bit FFFh -> 1800 mA
#AXP209 datasheet is wrong, charge current is in registers 7Ah 7Bh
#(12 bits)
BAT_ICHG_MSB=$(i2cget -y -f 0 0x34 0x7A)
BAT_ICHG_LSB=$(i2cget -y -f 0 0x34 0x7B)

#echo $BAT_ICHG_MSB $BAT_ICHG_LSB

BAT_ICHG_BIN=$(( $(($BAT_ICHG_MSB << 4)) | $(($(($BAT_ICHG_LSB & 0x0F)) )) ))

BAT_ICHG=$(echo "($BAT_ICHG_BIN*0.5)"|bc)
echo " Battery charge current = "$BAT_ICHG"mA"

FUEL_GAUGE=$(i2cget -y -f 0 0x34 0x0b9)
 FUEL_GAUGE=$(($FUEL_GAUGE&0x7f))
 echo " Fuel Gauge=$FUEL_GAUGE%"
}
Oct 072017
 

Analogie avec le déplacement physique classique

Pour se déplacer dans le monde physique, on applique une force sur le monde physique par rapport à nous même.

Exemple : quand on marche, on appuie sur nos jambes qui sont fixées sur le sol: on se déplace

Pour se déplacer dans le temps, c’est la même idée. Il faut appliquer une force sur le temps.

1ère question: qu’est ce qui peut manipuler le temps.

Einstein nous l’a expliqué, le temps est déformé par la gravitation. Elle permet au temps de s’écouler plus ou moins vite. (Astronautes dans l’espace n’ont pas vu le même temps s’écouler)

2ème question: comment manipuler la gravitation.

Ce serait sympa de savoir car ça permettrait aussi de faire des voitures volantes 🙂

-> je ne sais pas encore… mais je cherche

Sep 062017
 

Avec ça, vous aurez les dernières erreurs et leurs causes possibles.

 

$NpsServers=('DC01','DC02')
$ReturnArray=@()

$NPS_Filter="<QueryList>
 <Query Id=`"0`" Path=`"System`">
 <Select Path=`"System`">*[System[Provider[@Name='NPS']]]</Select>
 <Select Path=`"System`">*[System[Provider[@Name='HRA']]]</Select>
 <Select Path=`"System`">*[System[Provider[@Name='Microsoft-Windows-HCAP']]]</Select>
 <Select Path=`"Security`">*[System[Provider[@Name='Microsoft-Windows-Security-Auditing'] and Task = 12552]]</Select>
 </Query>
</QueryList>"

foreach ( $NpsServer in $NpsServers ) {
 foreach ( $Event in (Get-WinEvent -MaxEvents 800 -ComputerName $NpsServer -FilterXml ([xml]$NPS_Filter) | where {$_.message -like "*denied*"} ) ){
 $Message=$Event.Message.Split("`n")

$Retour = [PSCustomObject]@{
 TimeCreated =$Event.TimeCreated
 MachineName =$Event.MachineName
 AccountName =((($Message |Select-String -Pattern "Account Name" -CaseSensitive)[0]).ToString().split(':')[1]).trim()
 AuthType =((($Message |Select-String -Pattern "Authentication Type" -CaseSensitive)[0]).ToString().split(':')[1]).trim()
 Reason =''
 }
 if ($Message |Select-String -Pattern "Reason" ){
 $Retour.Reason =((($Message |Select-String -Pattern "Reason:" -CaseSensitive)[0]).ToString().split(':')[1]).trim()
 }

$ReturnArray+=$Retour
 }
}
$ReturnArray| ft -autosize