Archivo

Archive for the ‘Herramientas’ Category

Apuntes de GIT

git config –global user.[name|email] “<nombre|correo@>”

WorkDir -> Staging Area -> Local Repo [ -> RemoteRepo]
\                                                    /
Rama -> rama v1 -> ramav2

  • git init Crea la carpeta .git en la carpeta donde se este (directorio de trabajo)
  • git add [-A|”file”]
    • Añade todos los archivos del proyecto (A) o file al staging area (area intermedia donde se analizan los
      cambios) salvo los archivos contenidos en .gitignore
  • git commit -m “<mensaje>”
    Añade los archivos que están marcados en el staging area como modificados al repositorio local
    git rm [“file”]
    Elimina file de la zona de staging
    git checkout [id]
    Regresa a la versión identificada por id o cambia a la rama id
    git status Lee el estado de los cambios de archivos
    git log Lee los commits hechos hasta el momento.
    git reset [soft|mixed|hard]
    Regresa a la versión anterior
    soft: solo cambia el commit
    mixed: cambia el commit y staging area
    hard: cambia el directorio de trabajo, el staging area y el commit.
    git branch [-d][rama]
    crea una nueva rama. Usar con git checkout rama
    -d borra la rama

git merge [rama]
fusiona la rama con master. Hacer esto desde master.

git remote [add alias [url|ssh]]
vincula repositorio local con el remoto

git fetch
bajar cambios del repositorio remoto

git push [alias][rama]
subimos cambios del repositorio local

git clone
clona un repositorio

Anuncios

Mi Media Center

Mi media center consiste en un dispositivo silencioso, y disponible en cualquier momento (no hay que encenderlo cada vez que se quiera usar), así como con capacidad suficiente para reproducir cualquier película (por su formato, o tamaño) además de otros tipos de archivos multimedia.

Para ello he seleccionado una raspberry pi 2/3 modelo B, ya que no tiene ventilador (silencioso) y con su procesador es capaz de reproducir películas incluso en HD. Pero como en un pequeño ordenador todo no es el hardware, he decidido instalar; tras diversas investigaciones sobre velocidad y rendimiento; OpenElec. Este software es una distribución linux preparada y optimizada para ejecutar kodi (antiguo xbmc) como escritorio. Tiene algunas limitaciones como no poder cambiar la versión de kodi a voluntad, pero entre nosotros…no hace falta. Bien, pues vamos a ello….

Openelec

Lo primero es descargar Openelec desde aqui. Debemos seleccionar la opción de Raspberry 2/3 builds y dentro de esta sección el fichero “DiskImage” (img.gz). El fichero “update” se usa cuando solo queremos actualizar nuestro Openelec ya instalado (se copia la imagen en la carpeta Update y se reinicia).

Una vez descargada la imagen hay que copiarla a una microSD (cuanto más rápida mejor class10 p.e y al menos de 16Gb, aunque 8 también valen). Para realizar esta copia, se puede seguir las instrucciones de esta wiki, claro que a mi desde linux no me funciono


gunzip -d imagen.img.gz

parted -l (para saber donde está la SD, normamente /dev/mmcblk0)

sudo umount /dev/mmcblk0

sudo dd if=imagen.img of=/dev/mmcblk0 bs=4M

sudo sync

y desde windows es más simple (descoprimir la imagen gz con 7zip y usar Win32diskimager para “copiar” la imagen a la microSD).

Una vez realizado todo este proceso, conectar la Rpi a la tele por HDMI, a la red por ethernet (recomendable por velocidad) y por último a la corriente (recomendado cargador de al menos 2A, pero mejor 3A). Openelec arracará con un asistente. Para controlar la Rpi podemos instalar la app “kore” en nuestro móvil (no se si estará en el apple store) que nos encontrará el kodi muy rápido; o usar un teclado inalámbrico por USB (muy recomendable, al menos de respaldo, porque hay opciones que no funcionan con el kore). No olvidarse de activar SSH y samba en nuestro kodi, lo cual nos proporcionará funcionalidades adicionales. Además otro detalle es usar una IP fija desde el asistente, para que cada vez que se reinicie el kore no tenga problemas de encontrar la Rpi, aunque también se puede lograr mediante consola . Y una vez hecho todo esto….pasamos a configurar Kodi.

Kodi

La configuración de Kodi en mi caso es muy simplista, y se basa sobre todo en algunos addons (plugins) que extienden la funcionalidad de kodi.

Lo primero es ponerlo en español, hora, fecha y ajustar el skin. todo esto se hace desde System -> Appareance:

  • -> International: para el idioma, teclado y formato de fecha/hora
  • ->Skin->ajustes->pantalla principal y addon: configurar la pantalla ppal

Addon Pelis a la carta (link)

Este es el addon estrella, (sobre todo si no tenemos contenido offline) nos permite ver muchísimo contenido online y lo que es más importante…¡en castellano!. Para ello usa diversas páginas (que él llama canales). Algunas páginas usan un registro y en los ajustes de pelis a la carta se podrá añadir este para acceder a nuestro contenido personalizado. También el addon cuenta con numerosos servidores donde se aloja el contenido online, a los cuales se accede a través de los canales.

Para instalarlo se descarga y se puede copiar a la carpeta de descargas de kodi (mediante samba) y luego ya en kodi:

Sistema-> Ajustes->Addons -> Instalar desde zip ->Directorio de inicio->Descargas-> seleccionar addon y listo!

Como explicamos antes los canales basan su contenido en los servidores donde se aloja el contenido, pero a veces la conexión con estos servidores cambia y da un error de “fallo en el conector”, veremos como arreglarlo en el anexo 1.

Addon youtube

Este addon…sin comentarios..

Los addons se pueden instalar desde ficheros zip (como pelis a la carta) o desde repositorios. Los respositorios son urls que contienen otros respositorios y/o addons.

Vamos a añadir el repositorio SuperRepo…

Sistema->Gestor de archivos->Añadir fuente->

  • En nombre pondremos lo que querramos (SuperRepo)
  • y en dirección: http://srp.nu

Sistema->Ajustes->Addons->Instalar desde zip->SuperRepo-><version_kodi(jarvis>->all->instalar el fichero zip

Con esto hemos instalado todos los recursos de SuperRepo (addons, repos…)

Ahora vamos a instalar KaosBox repo, que es donde se encuentra el addon de youtube actualizado (el original de los repositorios de kodi no funciona!)

Sistema->Ajustes->Addons->Instalar desde repositorio->SuperRepo All..->Repositorio de Addons->KAOSbox repo

Sistema->Ajustes->Addons->Instalar desde repositorio->KAOSbox->Youtube

SuperFavourites Repo

Este addon sirve para guardar accesos directos a prácticamente cualquier rincón del programa.

Sistema->Ajustes->Addons->Instalar desde repositorio->Kodi addon repo..->Addons de programa->Super Favourites

Quasar

Este addon es nuevo antes se llamaba Pulsar y se usa para ver torrents online. Se descarga desde el github de su creador  y al instalarlo crea su propio repo conectado a github directamente para las actualizaciones…una maravilla vamos!

Se instala como cualquier zip (descarga e instalar desde zip). Para elegir la versión mirar en:

Sistema->Info del sistema->Hardware->CPU

Anexo 1: reparar servidores de pelis a la carta.

Son muchos los canales y conectores que fallan (el más habitual openload). Para comprobar los fallos podemos:

  • consultar el foro para ver los problemas y en muchos casos obtener las nuevas versiones, aunque es lioso porque hay que navegar por todos los hilos.
  • Acudir al github de desarrollo del plugin donde están las ultimas versiones de todo! (canales, servidores, librerías…). Hay que tener en cuenta la versión de nuestro “kodi” (kodi, mediaplex, boxee, xbmc..) en nuestro caso es el classic (basado en Python)

Una vez obtenidas las versiones adecuadas, hay que copiarlas a su carpeta correspondiente:

  • Para servidores:
    • /storage/.kodi/addons/plugin.video.pelisalacarta/servers
  • Para librerias:
    • /storage/.kodi/addons/plugin.video.pelisalacarta/lib
  • Para canales
    • /storage/.kodi/addons/plugin.video.pelisalacarta/channels

Yo los copio a la carpeta general downloads (accesible por samba) y luego por SSH los copio a su carpeta correcta.

Anexo 2: Servidores

Hay servidores que hay que incluir en la lista negra porque desde españa no se pueden ver:

Allmyvideos

Vidspot

 

Uso indebido de WGET

Extraído de  http://www.linuxtotal.com.mx/?cont=info_admon_017

wget es una herramienta que puede ser usado en multiples  plataformas, en entornos *nix suele venir integrado y en entornos windows hay que descargarla a parte. Es un dowloader con multitud de opciones,  soporta http, https y ftp.

Ejemplos básicos

La forma más básica es descargar un archivo o varios escribiendo las direcciones separadas por espacios, independientemente de los protocolos:

wget http://ejemplo.com/programa.ext [protocolo://servidor.ext/programa.ext] [] []

Incluso podemos usar comodines para descargar un determinado tipo de archivos de un sitio:

wget http://ejemplo.com/*.pdf

También podemos automatizar las descargas guardando en un archivo las direcciones (linea/archivo) a descargar y luego pasándole a wget dicho archivo

(creamos una lista en archivos.txt que serán descargados)
http://ejemplo.com/programa.tar.gz
http://ejemplo.com/rpm/paquete.rpm
ftp://otrositio.com/descargas/distro.iso

(descargamos todos indicando el archivo)
wget -i archivos.txt

Un problema común en las descargas, sobretodo cuando son grandes, es que se interrumpan. Pero estamos de suerte wget lo resuelve con la opción -c:

wget -c http://ejemplo.com/distro.iso
wget -i -c archivos.txt

Otro detalle de wget es que las descargas usan el nombre de la dirección dada. Para solventar esto usamos la opción  -o para darle el nombre que queramos al archivo descargado:

wget -o reporte.txt http://ejemplo.com/programa.tar.gz

También podemos limitar el ancho de banda utilizado por wget:

wget -o /reporte.log --limit-rate=50k ftp://ftp.centos.org/download/centos5-dvd.iso

Si el sitio requiere de usuario/contraseña:

wget –http-user=admin –http-password=contraseña http://ejemplo.com/archivo.mp3

wget realiza 20 intentos de conexión, por defecto, para iniciar la descarga pero podemos varias este comportamiento con -t <num> (si num = inf se entiende infinito)

wget -t 50 http://ejemplo.com/pelicula.mpg
wget -t inf http://ejemplo.com/pelicula.mpg

Ejemplos avanzados

Descargar un sitio web completo:

wget www.sitioweb.ext

Con la opción -p se descargan además todos los elementos externos de la página (CSS, IMGs…)

wget -p www.sitioweb.ext

Para llegar a todos los niveles del sitio hacemos una descarga recursiva -r :

wget -r www.ejemplo.com -o reporte.log

Para indicar el número de niveles de recursividad añadimos la opción <em>-l</em> indicando el número de niveles ('inf' = infinito):

wget -r -l10 www.ejemplo.com -o reporte.log

Uno de los problemas que surgen al descargar un sitio es que los enlaces apuntan a una dirección de internet. Wget lo resuelve con la opción convert-links ó -k  que convertirá los enlaces en locales:

wget --convert-links -r http://www.sitio.com/ (o también) wget -k -r http://www.sitio.com/

Por defecto, el sitio se descarga en el mismo directorio donde se ejecute wget con la opción –P(MAYS) se puede indicar otro directorio:

wget -r -l3 -P/tmp/sitio ftp://www.unsitio.com/

Todas éstas opciones se agrupan en la opción –mirror ó -m equivalente a -r -linf -N (-N obtiene la marca de tiempo original de cada archivo descargado):

wget --mirror http://www.linuxtotal.com.mx/
(o también)
wget -m http://www.linuxtotal.com.mx/

Cuando descargas un sitio completo los archivos de código (.cgi, .asp o .php) pasarán desapercibidos a wget, salvo que se use la opción E o –html-extension que convierta estos archivos a .html:

wget --mirror --convert-links --html-extension http://www.linuxtotal.com.mx
(o tambíen)
wget -m -k -E http://www.linuxtotal.com.mx

La opción H extiende la recursividad a sitios externos a la dirección original:

 wget -H -r -l3 -k -E -p http://miblog.sitiodeblogs.com</span>

Un ejemplo extremo de la potencia de wget

Busca archivos mp3 desde una lista definida, recuerda, un renglón por cada sitio.

wget -r -l1 -H -t1 -nd -N -np -A.mp3 -erobots=off -i sitiosmp3.txt

Detalle de las opciones:

  • [-r -l1] recursivo en solo un nivel, solo buscará un nivel en cada subdirectorio que encuentre por sitio.
  • [-H] seguir enlaces externos.
  • [-t1] -t es igual –tries, solo hará un intento de conexión.
  • [-nd] indica no crear subdirectorios para cada archivo descargado
  • [-N] conserva la fecha y hora (timestamp) del archivo original que se descargue
  • [-np] no parent, no seguir enlaces a directorios superiores desde el actual
  • [-A.mp3] -A indica el tipo de archivo a descargar
  • [-erobots=off] evita los archivos ‘robots.txt’, ya que podrían dificultar la búsqueda
  • [-i sitiosmp3.txt] el archivo con la lista de los sitios desde donde buscar.

PD: http://musik.antville.org/stories/676094/ contiene una lista de blogs donde descargar MP3 😉

Apuntes Office

Formularios en Word

Estos formularios permiten introducir datos en un documento y que éstos se repitan a lo largo del mismo sin necesidad del meterlos una y otra vez.

Hay que bajar el nivel de seguridad de las macros, esto se graba en la plantilla normal.dot por lo que sólo se hace una vez y es necesario para la ejecución de una macro a la apertura del documento;

  1. Haz clic en Herramientas -> Macro -> Seguridad.
  2. Activa la opción “Medio”, y acepta el cuadro de diálogo.

Partimos de la plantilla del documento hecha y terminada, es decir, sólo tenemos que insertar los campos donde se insertará el texto automáticamente.

Pulsamos Control + Inicio. para situarnos en la primera variable si existiera. (OJO para ver donde están los campos de petición y los de inserción pulsar ALT+F9)

Vamos situándonos donde queremos poner la/s variables del documento y pulsamos Control + F9 aparecerá un campo delimitado por llaves entre las cuales escribiremos:

  • { ASK slug “Nombre a mostrar” } y se pulsa F9
    Esto creará un cuadro de diálogo para asignar un valor a la variable “slug”, mostrando como titulo del diálogo “Nombre a mostrar” .

Luego situarse en las partes del documento donde vaya ese dato y pulse nuevamente Control + F9 donde se escribirá:

  •  { slug }
    Si pulsa F9, se sustituirá el valor que hayamos introducido en el diálogo anterior.

Hay que repetir este proceso con tantas variables como tenga el documento. Es independiente introducir los valores de todas las variables y luego las variables que viceversa o incluso combinando los procesos (como se ha explicado).

Para automatizar el proceso al abrir el fichero se hará lo siguiente:

Vamos al editor de VBA (Herramientas/Macro/Editor de VBA) y vamos explorador de proyectos donde se verá una estructura jerárquica parecida a la lista de carpetas del Explorador de Windows.

Se abre el objeto “Project (TuDocumento)” – Microsot Word Objetos – ThisDocument (doble click) y en el editor se pega el siguiente código:

Private Sub Document_Open()
   Selection.WholeStory
   Selection.Fields.Update
End Sub

Grabar y salir.

Abre nuevamente tu documento. Debería preguntar por el nombre de las variables y su valor.

OJO: Esta automatización da un error cuando se lanza con un formulario bloqueado (candadito en la barra de herramientas de formularios). Para proteger el formulario después de la automatización agregar estas líneas al script anterior:

If ActiveDocument.ProtectionType = wdNoProtection Then
   ActiveDocument.Protect Type:=wdAllowOnlyFormFields, _
   NoReset:=True
Else
   ActiveDocument.Unprotect Password:=&amp;amp;amp;quot;&amp;amp;amp;quot;
End If

Extraído de:
http://www.compartir-tecnologias.es/como-repetir-campos-formularios-automaticamente-ayuda-205353932.html

http://support.microsoft.com/kb/191028/es

Password de un excel protegido:

Presiona ALT + F8 para acceder a las macros, le damos un nombre y crear.Una vez en el editor escribimos:

Sub breakit() 

Dim i As Integer, j As Integer, k As Integer 
Dim l As Integer, m As Integer, n As Integer 
On Error Resume Next 
For i = 65 To 66 
For j = 65 To 66 
For k = 65 To 66 
For l = 65 To 66 
For m = 65 To 66 
For i1 = 65 To 66 
For i2 = 65 To 66 
For i3 = 65 To 66 
For i4 = 65 To 66 
For i5 = 65 To 66 
For i6 = 65 To 66 
For n = 32 To 126 
ActiveSheet.Unprotect Chr(i) & Chr(j) & Chr(k) & _ 
Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _ 
Chr(i4) & Chr(i5) & Chr(i6) & Chr(n) 
If ActiveSheet.ProtectContents = False Then 
MsgBox "One usable password is " & Chr(i) & Chr(j) & _ 
Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) _ 
& Chr(i4) & Chr(i5) & Chr(i6) & Chr(n) 
Exit Sub 
End If 
Next 
Next 
Next 
Next 
Next 
Next 
Next 
Next 
Next 
Next 
Next 
Next 
End Sub 
</pre>

Guardas y ejecutas el macro ( flechita de play en el VB ) tarda un poco pero al rato aparece una ventana con la clave interna de exel

Mas info:

http://www.hackplayers.com/2014/03/como-desproteger-un-excel-con-password.html
http://exceltrabajaporti.com/romper-contrasenas-de-excel-2007-y-2010-hacking-excel/

Categorías:Herramientas Etiquetas: , ,

Acceder a un servidor de correo por telnet

La conexión a un servidor de correo mediante telnet es muy útil para comprobar el funcionamiento de un servidor.Para conectarnos a un servidor mediante telnet:

telnet servidor puerto

Para el protocolo SMTP será el puerto 25 y para el POP3 el 110.

NOTA: Hay que escribir, SIN EQUIVOCARSE puesto que el cliente transmite todas las pulsaciones de teclado al servidor.

Servidor POP3.

user nuestro_usuario[@nuestrodominio.ext]
pass nuestra_pass 

Una vez autenticados, podemos enviar comandos al servidor como:

list

El servidor devolverá una lista con los mensajes que hay en el buzón, con un número identificando cada mensaje y otro numero indicando su tamaño

retr <num_mensaje>

Lee el mensaje solicitado mediante el identificador anterior

dele <num_mensaje>

Marca el mensaje indicado por el identificador, para ser borrado.

quit

Desconecta el servidor y sincroniza los archivos borrados

Servidor SMTP

NOTA: Omitir la parte desde “auth login” hasta “mail from”, si el servidor no requiere autenticación.

helo
auth login

Ahora debemos introducir el nombre de usuario de correo y luego  la contraseña, ambos codificados en base64.Una vez autenticados se procede al envio del correo:

mail from:usuario@dominio.ext
rcpt to:alguien@otrodominio.ext
data
mensaje que se quiera enviar.
.

POR CIERTO, no es casualidad el punto después de “enviar” y el punto siguiente, son necesarios para decirle que se ha acabado el mensaje.

Categorías:Herramientas