martes, 26 de febrero de 2013

Hackers & Developers Magazine Nº 4 disponible

Ya esta disponible la revista numero 4 de HDMagazine de Codename Narciso



una revista muy buena que se las recomiendo y me la recomiendo ya que las tengo todas :D


Y trata temas avanzados(algunos) otros como instrucción a dicha materia y porque hacking no es lo que la mayoría de las personas piensan que es y esta revista lo demuestra:

Los temas de este numero son:


En especial me ha gustado la segunda parte de Perl

Descarga 
hdmagazine.org
Leer más...

sábado, 23 de febrero de 2013

Uso avanzado de print python 3 (I/II)

Como venimos aprendiendo en los últimos tutoriales de programación de scripting de Tiempo de Tux hemos hablado algo de python 3 y en esta ocasión aprenderemos a usar el comando con el que hacemos "Hola Mundo" de forma avanzada para crear script's para Unix(consola) mas útiles y usarlos para hacer algo de administración en el sistema:

Como sabemos la sintaxis de print en python 3 es:

print ("Hola")
Como mostraba en mi otro blog,y bien me decian es similar a la de lua 5.2,pero bueno ahora vamos a lo que venimos:

En python existen tipos de datos y estos los podemos manipular y convertir,los cuales los tres mas importantes a demas de los boleanos son:

string = "Cadena de texto encomillada"

integer = 33 # Numero entero

float = 3.14 # Numero de punto flotante

Y con print podemos hacer una conversion a la hora de usarlo,por ejemplo en este caso podemos convertir un entero a string

Porque un entero es así:

33 y una cadena seria asi "33"


Abran una consola y entren a la consola de python3


python3

Y escriban :


3 + 3

Y el resultado sera

6

Pero si lo sumamos como una cadena de texto :


"Hola " + "Mundo"


Y como podemos ver nos junta las dos cadenas(las concatena) solo por las dos comillas(pero estas no se veran en un script)

Aquí el ejemplo:

Podemos sumar dos numeros(enteros) pero convertilos a cadena :

Con el operador de conversión str()


str(3) + str(3)

Y el resultado que nos da es el mismo que se hicieramos:


"3" + "3"
Y esto para que sirve?

La concatenacion de cadenas de texto es algo que podemos usar mucho ya haciendo uso de scripting,ya que por ejemplo si queremos unir dos cadenas de texto desde dos variables podemos hacer esto:

Salimos de la consola de python(ctrl+d,o exit()) y abrimos un editor de texto(en mi caso joe) pueden usar nano,vi,vim

Y escribimos este script


#!/usr/bin/env python3

nombre = str(input("Como de llamas : "))
edad = str(input("Que edad tienes : "))

print ("Te llamas : " + nombre + " y tienes " + edad )



Ejecutamos



Y como vemos concatena todos los datos con un solo print en una sola linea, también implemente lo que acabamos de ver,convertir los dos valores a string,fuese string o entero y de esta manera lo concateno muy bien

Aqui el codigo bueno es este:


#!/usr/bin/env python3

nombre = str(input("Como de llamas : "))
edad = input("Que edad tienes : ")

print ("Te llamas : " + nombre + " y tienes " + str(edad) )


Ya que no le daremos valor a la edad hasta que necesitemos usarlo ya sea a cadena con str() o entero con int()

Solo que hay que tener en cuenta que,para concatenar cadenas esta es la sintaxis:

print ("Cadena" + "Otra Cadena")

Y números es :

print (numero, numero , otro_numero)

Aquí un ejemplo de un script donde tenemos que convertir un entero a sting y a entero

#!/usr/bin/env python3

nombre = str(input("Como de llamas : "))
edad = input("Que edad tienes : ")

print ("Te llamas : " + nombre + " y tienes " + str(edad))
print ("Tienes ", int(edad) * 365, "Dias")

# Tenemos que tener en cuenta que el resto del script usara el 
# tipo de dato que se le de al final
# Podemos verificarlo con type

print (type(edad))

Con la función type nos dira que tipo de dato es,puede ser int,tuple,str,list,etc

También cabe destacar que podemos usar esta sintaxis también en strings:


print (numero, string, otro_numero)

Ahora sabiendo como sumar(concatenar) nuestros strings, podemos pasar a algo mas avanzado que es el formateo de strings:

Si han usado alguna vez o usan mucho shell scripting con bash o perl sabran que podemos introducir una variable que contenga una string con el simbolo $, o en el caso de perl con el simbolo @ o %  pero esto como se puede hacer en python?

Por ejemplo en bash:


#!/bin/bash

var1="ola "
var2="Mundo!!!"

echo "H$var1 $var2"

Y el resultado es:

Y en perl es:

#!/usr/bin/env perl

my $var1 = "ola";

my $var2 = "Mundo!!!";

print "H$var1 $var2\n";

Y el resultado es:


Incluso en ruby:


#!/usr/bin/env ruby

var1 = "ola"
var2 = "Mundo"

puts "H#{var1} #{var2}"

Y bueno en otros lenguajes tambien,pero el hecho es que en python como hacemos eso ?

El problema en python es que no usa identificadores de datos,ya que si hacemos esto:


#!/usr/bin/env python3

var1 = "ola"
var2 = "Mundo"

print ("Hvar1 var2")

El resultado es:

:\ y ese no es el resultado que esperábamos,aunque sabiendo concatenar strings nos funciona asi:

#!/usr/bin/env python3

var1 = "ola"
var2 = "Mundo"


print ("H"+var1+" "+var2)




Pero otra forma es el formateo,esta es la sintaxis:

print ("Texto %s" %(variable))
Lo de rojo es lo importante,en la parte de %s estamos llamando nuestra variable que definimos en %() y estas se llamaran de izquierda a derecha,por ejemplo la primera %s es la primera variable dentro de %() y así sucesivamente:

 Por ejemplo


#!/usr/bin/env python3

var1 = "ola"
var2 = "Mundo"


print ("H%s %s!!!" %(var1,var2))

Y el resultado es:



También lo podemos hacer con datos de números con %d

Ejemplo:


#!/usr/bin/env python3

var1 = 1
var2 = 2

print ("La variable1 tiene un valor de %d y la variable2 tiene un valor de %d" %(var1,var2))
print ("Sumadas es un total de", var1 + var2)



Es es el formato de strings eso es todo por ahora,intentare mostrar lo mas importante de este tema en la parte 2 de este tutorial, así que eso es todo por ahora.


Leer más...

martes, 19 de febrero de 2013

Cambiar numero de espacios de tabs en vim

Las tabs o tabulaciones para la identacion de un código no en si son un numero de espacios como lo menciono en el titulo,ya que es un solo espacio(algo grande) y es muy pero muy molesto este tipo de cosas, en Python por ejemplo que tiene que ir nuestro código identado para funcionar bien y es algo de lo que mas me molesta de python(en serio odio esta tonteria de identar) y bueno en ocaciones he duplicado el tiempo de codificar por estar buscando los espacios o tabulaciones que no están bien hechas,pero lo bueno es que este "dolor de muelas" lo podemos evitar  remplazando los espacios que usamos en las tabulaciones por espacios reales,que reconozca sea vim,nano,joe,eclipse,gedit,geany,etc sin que haya problemas por las diferentes tabulaciones que usa y en esta ocasión lo haremos en vim,para que nuestros codigos python funcionen correctamente y el código de otros lenguajes como Perl o javascript se vea mas bien:

Tutorial

Primero necesitas vim y un ~/vimrc en tu home

Como somos unixeros o usamos Linux/BSD/etc nuestro vimrc debe ir en nuestro $HOME asi que verificamos con este comando


clear; cat ~/.vimrc 2>> /dev/null >> /dev/null; if [ $? == 0 ]; then echo "Si tienes vimrc :D"; else echo -e "No lo tienes :(\nSigue el tutorial de Tiempo de Tux :D"; fi
Bien si no lo tenemos solo debemos copiar la configuración de ejemplo

Con este comando :

 cp /usr/share/vim/vim73/vimrc_example.vim ~/.vimrc
Y listo :D

Ahora a lo bueno,para cambiar la tabulacion por espacios solo basta con añadir esto hasta abajo del .vimrc

Editamos :

vim ~.vimrc

Y añadimos :

Para cambiar espacios por tabulaciones:

set expandtab
set tabstop=4

En 4 es el numero de espacios en vez del tab(a mi me gustan 4)

También para cambiar el numero de espacios que se crean automaticamente a la hora de hacer una funcion,un bucle o una estructura selectiva,añadan :

set shiftwidth=4

Y si no tenían .vimrc les recomiendo activar la numeración y la sintaxis y el plugin para identacion:

Abajo de esta estructura selectiva:
if &t_Co > 2 || has("gui_running")
Añadan:

syntax on
filetype indent plugin on
set number
Y listo :D

Antes:

Con tabulaciones predefinidas:



Después de cambiar tabs por espacios definidos por nosotros:

Creo que se veía mejor antes :P

Bueno,el hecho es que podemos definir cuantos espacios queremos :D

Referencia : wiki.python.org/moin/Vim
Leer más...

domingo, 17 de febrero de 2013

Tutorial Diccionarios python3

Los diccionarios son un tipo de dato que almacena otros tipos de datos y estan relacionados entre si,por ejemplo los logins,de inicio de sesion de "algo" puede ser un sistema operativo o una cuenta,estos datos estan relacionados con lo que en python podriamos hacer con un diccionario,por ejemplo:

user : contraseña_user
user2 : contraseña_user2

O lo que se nos ocurra donde queramos relacionar datos:

nombre : apellido
otro_nombre : otro_apellido
etc

Bien como en los ejemplos de arriba la sintaxis de los diccionarios es asi:

llave : valor

Y puede ser algun tipo de dato,cadena,entero,real:

'llave' : "valor",
'entero' : 10,
'cadena' : "String",
'real' : 3.23

Deben ir encerrados en {} y separdos por cama cada valor:

ejemplo = {
'llave' : "valor",
'entero' : 10,
'cadena' : "String",
'real' : 3.23
}

Ese es el ejemplo de definicion de un diccionario,pero aun no sabemos como llamarlo,para llamar un diccionario solo se debe llamar el nombre del diccionario y la llave encerrada en [] ejemplo:

print (ejemplo['llave'])

Y nuestro codigo queda asi :





Bueno,en este caso solo hemos llamado una llave de nuestro diccionario y podemos llamar el que queramos cada que queramos,pero podemos recorrer todas nuestras llaves para ver el valor con el bucle for:

El bucle for se usa no solo para diccionarios sino tambien para listas y otros tipos de datos y esta es la sintaxis:

for algo in lo_que_queremos_recorrer:

Aqui lo importante es "algo" y "lo que queremos recorrer":

algo sera el identificador de los datos que estamos trabajando y lo debemos usar adentro del bucle.

lo_que_queramos_recorrer es lo que queramos recorrer,listas,diccionarios,tuplas

Asi que en este caso es valido este ejemplo:

for e in ejemplo:
De este modo e seran las llaves de el diccionario ejemplo:

Ejemplo





De esta manera podremos saber cuales son las llaves de nuestro diccionario y tambien podemos recorrer el valor,ya que para ver el valor necesitamos la llave y ya la tenemos:

Sintaxis

print (ejempo[e])



Bien ahora ya sabemos como llamarcada valor de nuestras llaves por separado y todas juntas y ya sabemos como definir un diccionario,pero aun faltan algunas cosas,ya que en los diciorarios tambien podemos usar listas o tuplas como un valor para una llave:

Por ejemplo esta es una llave de un diccionario con el valor de una lista

'Linux' : ["Ubuntu","Arch","Gentoo"]

Vamos a ver como llamarlas

Primero creamos un bucle for sobre la lista,basta con

for i in mi_dic['Linux']:
Con esto estamos recorriendo la lista que es la llave de Linux para nuestro diccionario:




Resultado:



Y bien asi podemos acceder a tada una lista de un valor y si se preguntan como acceder a solo Arch(por ejemplo) esta es la sintaxis

print (mi_dic['Linux'][0])
Recuerden que se cuenta del 0 para la derecha

Ya sabemos como acceder a una lista y definirla dentro de un diccionario,pero tambien falta aprender como cambiar el valor de una,borrala y crear un diccionario vacio:

Para cambiar el valor de una llave de un diccionario solo vasta con usar esta sintaxis:

mi_dic['Darwin'] = 'MacOS X'

Y en este ejemplo ya cambiamos el valor de iOS por MacOS X


Veamos un ejemplo:





Y asi se cambia el valor de una llave de nuestro diccionario,sea un valor entero,cadena,real,o lista

Ahora solo falta ver como eliminar una llave de nuestra lista

Para ello se usa esta sintaxis:

Por ejemplo si quiero eliminar Linux del diccionario junto con todas las distros :

del mi_dic['Linux']
Ejemplo:





Y listo se nos borra linux :D

Por ultimo hacerlo a la inversa:


Un diccionario puede ser definido con un valor nulo de esta manera:

mi_dic = {}

Y no hay problema lo podemos ir llenando,con la sintaxis de agregar

mi_dic['Darwin'] = "MacOS X"

 Veamos un ultimo ejemplo de como definimos un diccionario vacio y lo llenamos desde definiciones

Enlace

Eso es todo :D

Si tienen dudas o aportes comenten

Leer más...

sábado, 16 de febrero de 2013

Como acceder al directorio root de iOS desde Gentoo

Como saben en Linux tambien se puede acceder al iPhone,ipod,ipad con ifuse,y en Gentoo no es la  exepcion,bueno el hecho es que por ejemplo en Ubuntu podemos acceder a nuestro idevice desde nautilus por ejemplo y es muy facil(automatico) y en gentoo no,es un poco mas complejo el proceso,pero nos da mas libertad,no dudo que esto se pueda hacer en Ubuntu(ya que tambien es una distribucion de linux como gentoo) y si tienen ubuntu y un iphone hagan la prueba y comenten.

Bueno cuando digo libertad es que podemos hacer no solo en nautilus,si no que en pcmanfm,dolphin,thunar o desde la consola y no solo podemos acceder a la carpeta que nos monta por defecto en Ubuntu,openSUSE o Arch en nautilus(/var/mobile/Media) si no que podemos acceder a root (/) de nuestro iphone,ipod,ipad :D

Asi que comenzemos

Nota: Esto es para testearse asi que puede que no funcione,como debe

A mi me funciono bien en:

ipod touch 1g 3.1.3
ipod touch 2g 4.2.1
ipod touch 3g 5.1.1
ipod touch 4g 5.1.1
iphone 2g 3.1.3
iphone 4g 5.1.1

Con jailbreak

Tutorial


Primero entramos en modo root

su
Ahora emergemos las librerias necesarias:

emerge -av app-pda/libimobiledevice
Agregamos ios a nuestro USE de make.conf

nano -w /etc/portage/make.conf

USE="algo algo ios algo"

Emergemos gigolo

emerge -av gigolo
 y ifuse

emerge -av ifuse

 Tenemos que añadir nuestro usuario al grupo de plugdev

gpasswd -a tu_usuario_comun plugdev

 Ahora creamos un directorio para entrar al iphone,ipod,ipad

En mi ejemplo

cd /media

mkdir ipod #Para entrar a media(como en ubuntu)

Y si quieren entrar a root

mkdir ipod-root # Es un ejemplo pueden ponerle el nombre que desen

Ahora cambiamos chown con root:plugdev para que los usuarios de plugdev puedan acceder a la carpeta ipod,osea que nuestro usuario comun pueda acceder tambien ademas de root gentoo


chown root:plugdev /media/ipod*

 # ipod es el nombre de la carpeta que creaste
 # si creaste tambien una para root has lo mismo

chown root:plugdev /media/ipod-root*

Tambien le damos permisos 775

chmod 775 /media/ipod*

chmod 775 /media/ipod-root*

 Reiniciamos nuestra pc

Y despues de reiniciada conectamos el idevice y escribimos en terminal

ideviceinfo # Veremos la informacion de nuestro idevice



Para montar la carpeta /var/mobile/Media/ de iOS en gentoo


ifuse /media/ipod

Para montar el root de iOS en gentoo

ifuse --root /media/ipod-root

Y listo :D

Solo abran su explorador de archivos y escriban esta direccion

/media/ipod

o

/media/ipod-root
 

Y pueden copiar lo que desen de su Pc con Gentoo a cualquier carpeta de iOS

Solo que antes de desconectarlo,deben desmontarlo:

sudo umount /media/ipod-root

Y recuerden lo de ipod-root es un nombre de ejemplo y lo mas recomendable es montar root en vez de media ya que desde root puedes acceder a var/mobile/Media,pero como dije montar root esta para testearse y puedes tener errores,asi que para un uso rapido monta Media en vez de root.

Eso es todo :D

Si desean tambien se puede transferir musica y instalar apps desde Gentoo,pero yo con acceder al root soy feliz :P

Referencia,mas info sobre apps y musica:

Enlace

Leer más...

miércoles, 13 de febrero de 2013

Juego piedra papel o tijeras python3

Hace poco escribi este juego en Perl y como muchos son entusiastas de python les dejo el codigo que realize,no esta comentado porque lo escribi rapido porque ultimamente no he tenido tiempo,y lo tube que hacer en el descanso del trabajo y bueno aqui el codigo:


Enlace

Solo metan el texto del enlace en un archivo de texto con extension .py y lo ejecutan desde terminal

python3 juego.py

Leer más...

domingo, 10 de febrero de 2013

Cambiar safari como navegador por defecto en iOS

Esto es solo para iOS 5 y iOS 6 con Jailbreak

En los sistemas operativos de escritorio cuando instalamos un programa automáticamente nos pregunta si quiere que sea nuestro programa por defecto,esto se basa en dos puntos:

1: En que se puede elegir desde el sistema operativo como un programa por defecto para ciertas funciones.

2: En que el desarrollador del software añade esta función sin la necesidad de que lo configure el sistema operativo.

En el caso de los Navegadores Web es muy comun ver como al terminar de instalarlos nos pregunta si quire que sea nuestro navegador por defecto y este nos abrira todas los url  que es esten en el sistema en distintos lugares,en el caso de windows hasta en accesos directos para url



start http://www.itimetux.com 
.bat


o en links de otros programas, en links de Pdf's,etc y en el caso de Unix también desde links de otros programas hasta programas que son accesos directos como amazon de ubuntu 12.10 por ejemplo.

En el caso de los sistemas móviles por ejemplo en Android al ser un sistema abierto podemos remplazar las apps nativas con otro tipo de apps y incluso nos pregunta,por ejemplos abrir un link en opera o en skyfire(por ejemplo).


En el caso de iOS al ser un sistema muy cerrado no se puede hacer esto,amenos de que este hackeado,lo que se puede es abrir un archivo en otra app,pero son apps que vienen listas para esto y el sistema no es el que lo hace(como dije al principio) así que vamos a ver como se elige un navegador perdefinido para abrir los links que esten en iOS,sea que estén en notas,en un acceso en el springboard o en cualquier otro lado,si lo abría safari ahora lo abrirá por ejemplo chrome.


Tutorial


1.Entramos a cydia y añadimos esta repo:

ihacksrepo.com


2.Ahora buscamos

BrowserChosser

Y instalamos,hacemos un respring


3.Entramos a ajustes y BrowserChosser




Y elegimos nuestro navegador


Ahora al abrir un link,acceso o cualquier cosa que abría safari,lo abrira el navegador que elegimos.


Leer más...

sábado, 9 de febrero de 2013

Juego piedra papel o tijeras perl

Estaba viendo que en distintos lenguajes de programación existen algoritmos básicos para el aprendizaje,y ya lo había hablado,en esta ocasión les dejo este juego que es el conocido juego de piedra papel o tijera escrito en Perl:

Y también lo uso como ejemplo de lo que vimos en la entrada pasada de switching, y me equivoque dije que necesitabamos usar 5.10 para poder hacer switching en Perl 5.16 y no,se puede usando 


feature qw{ switch };

Y bueno les dejo el juego para que se diviertan un rato,jugando,modificandolo, entendiéndolo, arreglándolo,etc:





Enlace

Eso es todo :D


Si tienes problemas o un aporte comenta :D

Leer más...

viernes, 8 de febrero de 2013

Switching en perl con 5.10

Hace tiempo de que no colocaba nada de perl en el sitio y en esta ocasion coloco algo que se usa mucho en C por ejemplo o incluso en bash,que es el switching,pero que es el switching,es por ejemplo cuando necesitamos verificar un valor, podríamos decir que es como una estructura selectiva pero que podemos usar mas rápidamente sin crear otras,por ejemplo un switching es el equivalente a un if,else y varios elsif pero en una sola estructura,si conocen C es por ejemplo esto

Enlace

Si conocen bash, es esto:


read numero

case $numero in

1)

echo "Es uno" ;;

2)

echo "Es dos" ;;

*)

echo "Es otro" ;;

Y bien ahora veamos como es en perl


Primero que nada veremos el ejemplo de como se puede usar en vez de if/else

Enlace

Ese es el algoritmo básico de selección usando estructuras selectivas,que incluso hemos visto en python,bien como se hace esto en perl fácilmente usando switching,la respuesta es given,given es una función de perl que crea un switching,lo malo es que esta en la versión 5.10 así que necesitamos añadir esto a los use o dará errores:


use v5.10.0;
Y la sintaxis es la siguiente

given($variable) {

switchers

}


En donde dice switchers yo le puse así :P,para ver que ahí van los switch's

Y la sintaxis de los switchers es la siguiente

when('comprobador') { comandos a ejecutar }


En donde dice comprobador va el texto/numero/o expresión a comprobar y en donde dice comandos a ejecutar es lo que se ejecutara cuando se encuentre el switching,si se preguntan si hay un comprobador como else,o como *) de bash si si hay y se llama default:


given($variable) {

   when('comprobador') { comandos a ejecutar }
   default { comandos a ejecutar }

}


Ahora que ya sabemos esto,vamos a hacer el algoritmo de arriba con switching:

Enlace

Y al ejecutar verán el mismo resultado que con el código de arriba


Y eso no es todo,como dije se pueden comprobar expresiones regulares y cadenas de texto

Enlace

También podemos usar listas,subrutinas y expresiones regulares como he dicho

Enlace

Eso es todo :D
Leer más...

martes, 5 de febrero de 2013

Como instalar conky-lua Archlinux/Gentoo

Conky lua es una de las cosas que me gustan mas de Linux y hace poco que lo conosco,el hecho es que lua es uno de los lenguajes que me gustan y poder usarlo para personificar el escritorio de mi sistema operativo es como un sueño,pero en fin ni lo he hecho :P

No he programado nada desde 0 que sea para conky,solo he modificado los scripts ya hechos como los de ring, y bueno en esta ocacion veremos como instalarlos en Archlinux y Gentoo que son las distribuciones que tengo y he tenido algunos problemas, básicos, pero puede que a mas de uno ayude.

Archlinux

Para Archlinux conky lua esta en Aur así que necesitan yaourt:

Tutorial instalar yaourt


Editamos el archivo pacman.conf

sudo nano /etc/pacman.conf

Y añadimos esto al final 


Para i686:

    [archlinuxfr]
    Server = http://repo.archlinux.fr/i686

Para x86_64:

    [archlinuxfr]
    Server = http://repo.archlinux.fr/x86_64


Guardamos


Instalamos

sudo pacman -Sy yaourt

Luego borramos lo que añadimos


sudo nano /etc/pacman.conf

Para i686:

    [archlinuxfr]
    Server = http://repo.archlinux.fr/i686

Para x86_64:

    [archlinuxfr]
    Server = http://repo.archlinux.fr/x86_64

Ahora editamos el /etc/yaourtrc


sudo nano /etc/yaourtrc

Descomentamos (#)

Lo que dice PACMAN="pacman"


# Command
PACMAN="pacman"
#DIFFEDITCMD="vimdiff"


Instalamos conky-lua


yaourt -S conky-lua

Con soporte para nvidia

yaourt -S conky-lua-nv

 Y listo :D, solo guarden su archivo de configuración como .conkyrc en su home

Para ejecutar en terminal:

conky & exit

Y dependiendo de su entorno,añadan conky a ejecutar al inicar sesion





En Gentoo

Necesitamos esto en nuestro make.conf


X imlib iostats lua lua-cairo lua-imlib wiifi
Con soporte de nvidia también:

nvidia


Así que:

nano /etc/portage/make.conf

Y añadimos o vemos si tenemos eso en nuestra variable USE

Y instalamos

sudo emerge -av conky
Así de fácil bueno es lo que yo uso,por ejemplo yo uso rings con la tipografia de ubuntu así que la instalo

sudo emerge -av media-fonts/ubuntu-font-family

Y si quieren por ejemplo conkyguayadeque

Necesitan añadir este overlay

sunrise

 Bueno,yo modifique el ring que vimos en este tutorial 

Y quedo así:

Hay muchos conky's(configuraciones)

Enlace

Eso es todo


Referencia github.com/tuxtor
Leer más...

lunes, 4 de febrero de 2013

Llego el jailbreak iOS 6 descarga

Por fin despues de esperar unos meses llego el jailbreak para iOS 6,para todos los dispositivos que corran este :D



No solo eso,si no que llego para las tres plataformas mas importanes Windows/Linux/MacOS :D

Todo esto gracias al equipo de evasi0n, el quipo de hackers compusto por @pimskeks @planetbeing @pod2g y @MuscleNerd.

Lo unico que necesitamos es:

5 minutos

Win Xp(minimo)/OS X(10.5 minimo)/Linux(x86,x_64)

iOS 6 o iOS 6.1

Cable usb

Descarga

Viene en un comprimido,descomprimimos y vemos el README.txt


En linux cabe destacar que viene en tar.lzma,asi que instalen xz-utils

En mi caso(por ejemplo)

Gentoo

sudo emerge -av xz-utils

Ubuntu

sudo apt-get install xz-utils

 No se cual comando es para otras,googlen

Para descomprimir

Primero pasamos el tar.lzma a tar


xz --format=lzma --decompress evasi0n-linux-*.tar.lzma


Y luego el tar a carpeta


tar xvf evasi0n-linux-*.tar
Y por ultimo

cd evasi0n-linux-*

 Y vean las instrucciones:

cat README.txt | more

Y ejecuten con terminal

Les recomiendo que hagan el jailbreak con un explorador de archivos(nautilus,etc) solo abranlo una vez con terminal,para ver si abre,porque puede necesitar dependencias


./evasion.arcquitectura





Necesitan openssl

sudo emerge -av openssl

sudo apt-get install openssl

En MacOS X y Windows solo descomprimen y ejecutan el programa




Y un video de porque realizarlo



Eso es todo :D
Leer más...

sábado, 2 de febrero de 2013

Logo ASCII de tu distro Linux en terminal

En Linux tenemos distintos scripts para poder mostrar nuestro logo de Linux de nuestra distro,no solo eso si no que tambien muestra informacion del sistema,hemos visto para Arch, para ubuntu y este ultimo es el script que vamos a usar hoy,pero para cualquier distro linux,bsd y OS X,tambien windows(creo) y bueno vamos a iniciar :D

En cualquier distro necesitamos wget:

Para ver si lo tienen teclen en terminal


which wget; if [ $? -eq 0 ] ; then clear; echo -e "\nSi lo tienes :D\n"; else clear; echo -e "\nNo no lo tienes :(\n"; fi
Si no lo tenemos,para instalar 


En las distros que uso:

Gentoo

sudo emerge -av wget

Ubuntu/Debian/Debs

sudo apt-get install wget

openSUSE

sudo zypper in wget

Archlinux

sudo pacman -S wget

En BSD

FreeBSD

sudo pkg_ad -rv wget
Para otras distribuciones googlen(pero lo mas seguro es que lo tengas)


Bien ahora ejecutamos este comando (descarga le da permisos de ejecución y le pone nombre) :

cd /usr/bin/; sudo wget https://raw.github.com/KittyKatt/screenFetch/master/screenfetch-dev -O screenfetch && sudo chmod +x screenfetch 
Y listo :D

Ejecutamos

screenfetch
Este es gentoo en un entorno enjaulado desde ubuntu

Aqui unos trucos:

1.Verlo en verbose(esto ahara que se vea como busca la informacion de la distro):

screenfetch -v
2.Ver otros logos(por ejemplo Arch)

screenfetch -D "Arch"
El antiguo logo de Arch

screenfetch -D "Arch Linux - Old"


 Fedora

screenfetch -D "Fedora" # etc
3.Bien,ahora abrirlo cada vez que abramos la terminal,esto mas que nada recomiendo usar el verbose:

echo "screenfetch -v" >> ~/.bashrc
4.Eliminar errores,no quiero cuestionar el script ni el programador que lo hizo pero por por X o Y razón aveces da errores, y esto lo solucionamos solo mandando a devnull los errores:

screenfetch 2>> /dev/null
Si queremos podemos crear un alias para que no tenga errores:

echo 'alias screenfetch_sin_errores="screenfetch 2>> /dev/null"' >> ~/.bashrc && source ~/.bashrc
5.Eso es todo :P

Para mas información

screenfetch -h

Yo mostré gentoo en chroot porque uso linux-logo,en Arch alsi y en los demás screenfetch:






 Eso es todo
Leer más...

viernes, 1 de febrero de 2013

Ver estado de batería desde Terminal Linux

Ya no había escrito últimamente bueno 3 días pero no había hecho eso nunca así que aquí un pequeño tutorial de como ver la hora desde la terminal de nuestro sistema Linux o FreeBSD, también les mostrare como añadirlo a nuestro PS1 para ver el estado siempre que usemos la terminal :D

Bien el programa que usaremos se llama acpi

Así que lo instalamos,en terminal

En mi caso Gentoo

emerge acpi

En ubuntu/derivados

sudo apt-get install acpi
Y para otras distribuciones googlen,como instalar

Bien ahora para ver el estado de la batería:

acpi -b

o

acpi

Para ver la temperatura

acpi -t
Eso es todo,ahora para añadirlo a la terminal solo hay que usar el PS1

Así que le damos una ojeada al tutorial de PS1 de Tiempo de Tux como yo en esta imagen







Tutorial
En ese tutorial no mostré como usar comandos del sistema pero solo se usa esta sintaxis:

\$(comando)

Por ejemplo:

En el ~/.bashrc,al final escribe:

nano ~/.bashrc # Para escribir en el bashrc

PS1="\$(acpi -b)\n\h \w \$ " # Escribe esto

source ~/.bashrc # Para recargar la configuración

O en un solo comando:

echo 'PS1="\$(acpi -b)\n\h \w \$ "'  >> ~/.bashrc && source ~/.bashrc

Y tendrán un resultado como este:


En este caso no le estamos dando colores(el que se muestra es el que tengas configurado para terminal)

Si queremos algo mejor podemos usar colores y pipes:

Y dejar algo como esto



PS1 :


PS1="\[\033[35m\]Carga \$(acpi -b |  cut -d, -f2) \[\033[36m\] \$(acpi -b |  cut -d, -f3) \[\033[39m\]Path \[\033[32m\]\w\n\[\033[31m\]\h \$ \[\033[39m\]"
También se puede cambiar lo que dice en ingles por Restante,cargando o lo que se nos ocurra,pero se tienen que añadir estructuras selectivas y queda muy largo el código,si tienen una idea comenten,por ejemplo con sed:

 sed 's/until charged/Cargando/g'

Eso es todo,de todas formas se ve bien en ingles :D


Leer más...