jueves, 22 de diciembre de 2016

Hacer ping con HTML y JavaScript

Navegando en internet en encontrado extractos de código HTML y JAVASCRIPT para hacer una aplicación que hace ping (como en la consola de comandos /CMD)  a una IP, un nombre de equipo (Hostname) o a una URL. Lo he modificado para que parezca mas una consola de comandos y le he cambiado algo de código a mi gusto, además de ponerlo en español.

>> MIRA EL EJEMPLO <<

1. Este es el código HTML
<html>
<head>
<script>

 //código javascript

</script>
</head>
<body>
<div id="cuerpo">
<p><br/> Introduce una IP, nombre de equipo o URL.
</p>
<form id="direccion">
  <input type="text" id="ip" value=""/>
  <input type="button" value="Ping" onClick="comprobar()"/>
</form>
<div id="result"></div>
</div>
</body>
</html>

2. Este es el código JAVASCRIPT
function comprobar(){
 if(document.getElementById('ip').value == "" || document.getElementById('ip').value.length == 0){
  alert("Introduce IP/HOSTNAME/URL.");
  document.getElementById('ip').focus;
 }else{ http_ping() }
}
function http_ping() {

var fqdn = document.getElementById('ip').value;
var NB_ITERATIONS = 4; // numero de loops
var MAX_ITERATIONS = 5; // XMLHttpRequest esta limitado según el navegador
var TIME_PERIOD = 1000; // 1000 ms entre cada ping
var i = 0;
var over_flag = 0;
var time_cumul = 0;
var REQUEST_TIMEOUT = 9000;
var TIMEOUT_ERROR = 0;

document.getElementById('result').innerHTML = " Haciendo ping a " + fqdn + " con 32 bytes de datos:";

var ping_loop = setInterval(function() {


        // para evitar URLs inexistentes
        url = "http://" + fqdn + "/a30Fkezt_77" + Math.random().toString(36).substring(7);

        if (i < MAX_ITERATIONS) {

            var ping = new XMLHttpRequest();

            i++;
            ping.seq = i;
            over_flag++;

            ping.date1 = Date.now();

            ping.timeout = REQUEST_TIMEOUT; 

            ping.onreadystatechange = function() { 

                if (ping.readyState == 4 && TIMEOUT_ERROR == 0) {

                    over_flag--;
 
                    if (ping.seq > 1) {
                        delta_time = Date.now() - ping.date1;
                        time_cumul += delta_time;
                        document.getElementById('result').innerHTML += " Respuesta desde " + fqdn + "  bytes=32 secuencia_http=" + (ping.seq-1) + " tiempo=" + delta_time + " ms";
                    }
                }
            }


            ping.ontimeout = function() {
                TIMEOUT_ERROR = 1;
            }

            ping.open("GET", url, true);
            ping.send();

        }

        if ((i > NB_ITERATIONS) && (over_flag < 1)) { 

            clearInterval(ping_loop);
            var avg_time = Math.round(time_cumul / (i - 1));
     
            document.getElementById('result').innerHTML += "  Estadísticas de ping para " + fqdn + ":    Paquetes: enviados = " + (i-1) + ", recibidos = " + (i-1) + ", perdidos = 0 
    Tiempo aproximado de ida y vuelta en milisegundos: " + avg_time + "ms ";
     alert(tiempoTotal);

        }

        if (TIMEOUT_ERROR == 1) { 

            clearInterval(ping_loop);
            document.getElementById('result').innerHTML += "
 Respuesta desde " + fqdn + ": Host de destino inaccesible. 
";
            return;

        }

    }, TIME_PERIOD);
}

Un saludo.

lunes, 12 de diciembre de 2016

Deshabilitar click derecho del ratón en tu web

Simplemente para deshabilitar el click derecho o botón derecho del ratón en tu página web (aunque no es recomendable puesto que puede molestar al visitante) solo hay que poner este código de javascript en un script:
<script>
document.addEventListener('contextmenu', event => event.preventDefault());
</script>
Espero que os sirva. Un saludo.

jueves, 17 de noviembre de 2016

Cambiar nombre del equipo (hostname) en Ubuntu, Linux Mint, Opensuse, Fedora...

A continuación os dejo una entrada para cambiar sencillamente el nombre del equipo o hostname en distribuciones Linux.

Para Ubuntu (+derivados) y Linux Mint:

1. Abrir Terminal en menú o presionar Ctrl+Alt+T.

2. Escribir:
sudo pico /etc/hosts
(si pide contraseña sudo escribir y presionar enter).

3. Aparecerá una pantalla como la siguiente:

Donde pone linux realmente pone el nombre actual de tu equipo

4. Hay que sustituir donde pone linux o tu nombre de equipo por el nombre que quieras.

5. Presionar Ctrl+O para guardar, enter, y Ctrl+X para salir.

6. Escribir:
sudo pico /etc/hostname
(presionar enter).

7. Aparecerá una pantalla como la siguiente:

Donde pone linux realmente pone el nombre actual de tu equipo

8. Hay que sustituir donde pone linux o tu nombre de quipo por el nombre que has puesto antes en el archivos hosts (el nuevo nombre).

9. Presionar Ctrl+O para guardar, enter, y Ctrl+X para salir.

10. Finalmente hay que hacer un reinicio:
sudo reboot



Para cambiar el nombre de equipo de otras distribuciones os dejo varios enlaces que personalmente he verificado:

1. OpenSUSE: http://ubunlog.com/cambiando-el-nombre-del-equipo-en-opensuse/
2. Fedora: http://geekland.eu/que-es-para-que-sirve-nombre-del-equipo/
3. RedHat: http://k4ch0.org/cambiar-hostname-en-red-hat/
4. CentOS: http://www.cadilinea.com/blog/centos-2/cambiar-nombre-del-host-sin-reiniciar-en-centos-6-4/

Generalmente en casi todas las distribuciones es parecidos.
Un saludo.

lunes, 7 de noviembre de 2016

Poner Ofris en Español y en Euskera

Poner Ofris (congelador para Linux) en español o euskera es bien sencillo. Para ello tenemos que tener previamente instalado Ofris en nuestro sistema, si no lo tienes instalado abre la terminal y ejecuta esto:

sudo if [ $(uname -m) == "x86_64" ]; then deb="http://goo.gl/DleLl"; else deb="http://goo.gl/V94Qs"; fi && wget -q $deb -O ofris.deb && sudo dpkg -i ofris.deb && rm ofris.deb




Una vez tenemos instalado Ofris, podemos ponerlo en español o en euskera ya que me he tomado la libertad de traducirlo.

1. Poner Ofris en Español:


Abrimos la terminal y escribimos:
cd /usr/bin
sudo pico ofris-en

*sustituimos todo el texto por el que voy a poner mas abajo (español)
*Ctrl+O para guardar, presionar enter y Ctrl+X para salir
sudo mv /usr/bin/ofris-en /usr/bin/ofris-es


Ya tenemos Ofris en Español, y para ejecutarlo a partir de ahora será:
sudo ofris-es


2. Poner Ofris en Euskera:


Abrimos la terminal y escribimos:
cd /usr/bin
sudo pico ofris-en

*sustituimos todo el texto por el que voy a poner mas abajo (euskera)
*Ctrl+O para guardar, presionar enter y Ctrl+X para salir
sudo mv /usr/bin/ofris-en /usr/bin/ofris-eu


Ya tenemos Ofris en Euskera, y para ejecutarlo a partir de ahora será:
sudo ofris-eu



*Texto en Español para sustituir en el archivo ofris-en:

 
#!/bin/bash

# =============================================
#  Dafturn Ofris Erdana - Locking your Systems
# =============================================
# Version         : 1.9.05-eu
# Created by      : Dafturn Group Software
#                   The Mad Transition
# Author          : Muhammad Faruq Nuruddinsyah
# E-Mail          : faruq_dafturn@yahoo.co.id
# Date Creating   : October, 12th 2008
# Translator      : Eneko Bernaldo de Quirós Royo
# Date Translating: Novembre, 7th 2016
# =============================================
# An Open Source from Indonesia
# =============================================


#----- Starting ----
echo
echo "==================================================="
echo "    Dafturn Ofris Erdana - Locking your Systems"
echo "         By : Muhammad Faruq Nuruddinsyah"
echo "     Translated by: Eneko Bernaldo de Quirós Royo"
echo "          Lenguage: Spanish (Español)"
echo "==================================================="
echo
echo "Elija una opción :"
echo "  1. Congelar el sistema para este usuario"
echo "  2. Congela el sistema para un usuario específico"
echo "  3. Congelar el sistema para todos los usuarios"
echo "  4. Descongelar el sistema"
echo "  5. Ver estado"
echo "  6. Salir"
echo
#-------------------

#----- Mendeklarasikan variabel -----
is_opt=false
is_success=true
ofris_n=6
ofris_tmp_co=1
is_cho=false
#------------------------------------

#----- Awal script untuk menentukan pilihan -----
while [ $is_opt = false ]; do
echo -n "Presiona el número de la opción por favor : "
read ofris_opt

if [[ $ofris_opt = 1 ]]; then
is_opt=true
ofris_tmp_co=1
elif [[ $ofris_opt = 2 ]]; then
is_opt=true
ofris_tmp_co=2
elif [[ $ofris_opt = 3 ]]; then
is_opt=true
ofris_tmp_co=3
elif [[ $ofris_opt = 4 ]]; then
is_opt=true
elif [[ $ofris_opt = 5 ]]; then
is_opt=true
elif [[ $ofris_opt = 6 ]]; then
is_opt=true
echo
exit
else
echo "Disculpa, tu opción no es correcta. Intentalo de nuevo por favor..."
echo
is_opt=false
fi

done
#------------------------------------------------

#----- Script utama -----------------------------
if [[ $ofris_tmp_co = 1 ]]; then
ofris_user="${HOME:$ofris_n}"
elif [[ $ofris_tmp_co = 3 ]]; then
ofris_user=""
elif [[ $ofris_tmp_co = 2 ]]; then
is_cho=true
ofris_user=""
fi

grep -v "sudo rsync -a --delete /etc/" /etc/rc.local > ofris_tmp
set $(wc -l ofris_tmp)
ofris_orig=$1
set $(wc -l /etc/rc.local)
ofris_recnt=$1
ofris_rst=$[$ofris_recnt-$ofris_orig]
rm ofris_tmp

if [[ $ofris_opt = '1' || $ofris_opt = '2' || $ofris_opt = '3' ]]; then
#----- Mengunci sistem -----
echo
echo "===== Freeze the System ====="
echo
echo "Espera por favor..."
echo

if [[ $is_cho = true ]]; then
is_cho_suc=false
while [ $is_cho_suc = false ]; do
is_cho_suc=false
echo -n "Introduce el nombre del usuario a congelar : "
read ofris_cho
if [ -d "/home/$ofris_cho" ]; then
echo
is_cho_suc=true
ofris_user=$ofris_cho
else
echo "Disculpa, el nombre de usuario es erróneo. Intentalo de nuevo por favor..."
echo
fi
done
fi

if [ $ofris_rst = 1 ]; then
echo "Error : El sistema ha sido bloqueado, elige la cuarta opción para descongelar el sistema..."
echo
is_success=false
else
grep -v "exit 0" /etc/rc.local > ofris_tmp
echo "sudo rsync -a --delete /etc/.ofris/$ofris_user/ /home/$ofris_user/" >> ofris_tmp
echo "exit 0" >> ofris_tmp
sudo rm /etc/rc.local
sudo cp ofris_tmp /etc/rc.local
rm ofris_tmp
fi

if [ $is_success = true ]; then
if [ -d /etc/.ofris ]; then
sudo rm -r /etc/.ofris
fi
if [ -d /etc/.ofris ]; then
sudo rsync -a --delete /home/$ofris_user /etc/.ofris/
else
sudo mkdir /etc/.ofris/
if [[ $ofris_user != "" ]]; then
sudo mkdir /etc/.ofris/$ofris_user
fi
sudo rsync -a --delete /home/$ofris_user /etc/.ofris/
fi
sudo chmod +x /etc/rc.local
fi

if [ $is_success = true ]; then
echo "El sistema se ha congelado correctamente, reinicia el sistema por favor..."
echo
fi

elif [ $ofris_opt = '4' ]; then
#----- Membuka sistem -----
echo
echo "===== Descongelar sistema  ====="
echo
echo "Espera por favor..."
grep -v "sudo rsync -a --delete /etc/" /etc/rc.local > ofris_tmp_b
sudo rm /etc/rc.local
sudo cp ofris_tmp_b /etc/rc.local
rm ofris_tmp_b
if [ -d /etc/.ofris ]; then
sudo rm -r /etc/.ofris
fi
echo
echo "El sistema se ha descongelado correctamente..."
echo

elif [ $ofris_opt = '5' ]; then
#----- Menampilkan status -----
if [ $ofris_rst = 1 ]; then
echo
echo "===== Estado ====="
echo " El sistema está congelado..."
echo
else
echo
echo "===== Estado ====="
echo " El sistema está descongelado..."
echo
fi
fi

#----- Ending session -----
echo -n "[Presiona cualquier tecla para salir...] "
read -s -n 1
echo
echo

#========== Selesai ===================================================================


*Texto en Euskera para sustituir en el archivo ofris-en:

#!/bin/bash

# =============================================
#  Dafturn Ofris Erdana - Locking your Systems
# =============================================
# Version         : 1.9.05-eu
# Created by      : Dafturn Group Software
#                   The Mad Transition
# Author          : Muhammad Faruq Nuruddinsyah
# E-Mail          : faruq_dafturn@yahoo.co.id
# Date Creating   : October, 12th 2008
# Translator      : Eneko Bernaldo de Quirós Royo
# Date Translating: Novembre, 7th 2016
# =============================================
# An Open Source from Indonesia
# =============================================


#----- Starting ----
echo
echo "==================================================="
echo "    Dafturn Ofris Erdana - Locking your Systems"
echo "         By : Muhammad Faruq Nuruddinsyah"
echo "     Translated by: Eneko Bernaldo de Quirós Royo"
echo "          Lenguage: Basque (Basque Country)"
echo "==================================================="
echo
echo "Zure aukera :"
echo "  1. Erabiltzaile honentzako sistema izoztu"
echo "  2. Beste erabiltzaile batentzako sistema izoztu"
echo "  3. Erabiltzale guztientzako sistema izoztu"
echo "  4. Desizoztu sistema"
echo "  5. Egoera ikusi"
echo "  6. Atera"
echo
#-------------------

#----- Mendeklarasikan variabel -----
is_opt=false
is_success=true
ofris_n=6
ofris_tmp_co=1
is_cho=false
#------------------------------------

#----- Awal script untuk menentukan pilihan -----
while [ $is_opt = false ]; do
echo -n "Sakatu nahi duzun aukeraren zenbakia mesedez : "
read ofris_opt

if [[ $ofris_opt = 1 ]]; then
is_opt=true
ofris_tmp_co=1
elif [[ $ofris_opt = 2 ]]; then
is_opt=true
ofris_tmp_co=2
elif [[ $ofris_opt = 3 ]]; then
is_opt=true
ofris_tmp_co=3
elif [[ $ofris_opt = 4 ]]; then
is_opt=true
elif [[ $ofris_opt = 5 ]]; then
is_opt=true
elif [[ $ofris_opt = 6 ]]; then
is_opt=true
echo
exit
else
echo "Barkatu, zure aukera ez da zuzena. Sahiatu berriro mesedez..."
echo
is_opt=false
fi

done
#------------------------------------------------

#----- Script utama -----------------------------
if [[ $ofris_tmp_co = 1 ]]; then
ofris_user="${HOME:$ofris_n}"
elif [[ $ofris_tmp_co = 3 ]]; then
ofris_user=""
elif [[ $ofris_tmp_co = 2 ]]; then
is_cho=true
ofris_user=""
fi

grep -v "sudo rsync -a --delete /etc/" /etc/rc.local > ofris_tmp
set $(wc -l ofris_tmp)
ofris_orig=$1
set $(wc -l /etc/rc.local)
ofris_recnt=$1
ofris_rst=$[$ofris_recnt-$ofris_orig]
rm ofris_tmp

if [[ $ofris_opt = '1' || $ofris_opt = '2' || $ofris_opt = '3' ]]; then
#----- Mengunci sistem -----
echo
echo "===== Freeze the System ====="
echo
echo "Itxaron mesedez..."
echo

if [[ $is_cho = true ]]; then
is_cho_suc=false
while [ $is_cho_suc = false ]; do
is_cho_suc=false
echo -n "Sartu izoztu nahi duzun erabiltzailearen izena mesedez : "
read ofris_cho
if [ -d "/home/$ofris_cho" ]; then
echo
is_cho_suc=true
ofris_user=$ofris_cho
else
echo "Barkatu, erabiltzailearen izan gaizki dago. Sahiatu berriro mesedez..."
echo
fi
done
fi

if [ $ofris_rst = 1 ]; then
echo "Akatsa : Sistema blokeatuta izan da, sakatu laugarren aukera sistema desizozteko mesedez..."
echo
is_success=false
else
grep -v "exit 0" /etc/rc.local > ofris_tmp
echo "sudo rsync -a --delete /etc/.ofris/$ofris_user/ /home/$ofris_user/" >> ofris_tmp
echo "exit 0" >> ofris_tmp
sudo rm /etc/rc.local
sudo cp ofris_tmp /etc/rc.local
rm ofris_tmp
fi

if [ $is_success = true ]; then
if [ -d /etc/.ofris ]; then
sudo rm -r /etc/.ofris
fi
if [ -d /etc/.ofris ]; then
sudo rsync -a --delete /home/$ofris_user /etc/.ofris/
else
sudo mkdir /etc/.ofris/
if [[ $ofris_user != "" ]]; then
sudo mkdir /etc/.ofris/$ofris_user
fi
sudo rsync -a --delete /home/$ofris_user /etc/.ofris/
fi
sudo chmod +x /etc/rc.local
fi

if [ $is_success = true ]; then
echo "Sistema ondo izoztu da, berrabiarazi sistema mesedez..."
echo
fi

elif [ $ofris_opt = '4' ]; then
#----- Membuka sistem -----
echo
echo "===== Sistema desizoztu  ====="
echo
echo "Itxaron mesedez..."
grep -v "sudo rsync -a --delete /etc/" /etc/rc.local > ofris_tmp_b
sudo rm /etc/rc.local
sudo cp ofris_tmp_b /etc/rc.local
rm ofris_tmp_b
if [ -d /etc/.ofris ]; then
sudo rm -r /etc/.ofris
fi
echo
echo "Sistema ondo desizoztu da..."
echo

elif [ $ofris_opt = '5' ]; then
#----- Menampilkan status -----
if [ $ofris_rst = 1 ]; then
echo
echo "===== Egoera ====="
echo " Sistema blokeatu da..."
echo
else
echo
echo "===== Egoera ====="
echo " Sistema ez da blokeatu oraindik..."
echo
fi
fi

#----- Ending session -----
echo -n "[Sakatu edozein tekla ateratzeko...] "
read -s -n 1
echo
echo

#========== Selesai ===================================================================