domingo, 1 de marzo de 2015

Trasteando con Mps-youtube in Archlinux

Mps-youtube es una excelente herramienta en modo texto que busca y reproduce vídeos de YouTube en el acto. Aparte de eso podemos crear nuestras propia lista de reproducción local y sobre todo descargar vídeos o audios de una manera fácil y sencilla.
Con su gran abanico de utilidades; podemos hasta configurar nuestro reproductor de vídeo favorito para streaming que por defecto viene configurado con Mplayer.

El paquete en cuestión está en Aur, así que sólo basta con un:
$ yaourt mps-youtube
Para otras distribuciones, buscar en sus respectivos repositorios.
Rulamos el programa con:
$ mpsyt
Esté programa es muy intuitivo; "help" es nuestro amigo ;-)
 Con "Set" podemos entrar a configurar.
Por defecto viene desactivada la opción para visualizar los vídeos, sólo hay que activar la opción con "True" y sí queremos sólo reproducir el audio "False"

Con "help search" vamos a las opciones de busqueda. Así que:
/acdc

domingo, 11 de enero de 2015

Chromecast & Castnow en Archlinux

¿Que es chromecast?


Chromecast es un dispositivo de Google de pequeño tamaño que se conecta directamente al puerto HDMI de nuestra TV para reproducir contenido multimedia que recibe vía inalámbrica. Tan sólo necesitamos una sencilla aplicación para móviles, Android, tablet, iPhone®, iPad®, Mac Windows y Gnu/linux  que nos permita enviar la música o películas al dispositivo para comenzar su reproducción. También podremos enviar al dispositivo Chromecast el contenido YouTube, Wuaki.tv, Google Play Movies, Google Play Music y Google Chrome para disfrutarlo en nuestra tv.
¿Que es Castnow?
Castnow es una excelente utilidad mediante línea de comandos que se puede utilizar para reproducir archivos multimedia en su dispositivo Chromecast. Soporta la reproducción de archivos de vídeo locales, vídeos de YouTube, vídeos en la web y torrentes. También puede volver a conectar una sesión de reproducción corriendo.
Para instalarlo en Archlinux tan sólo necesitamos 2 paquetes:
# pacman -S nodejs ffmpeg
Luego lo instalamos con nmp:
nmp es el gestor de paquetes para Node, fue creado para atender las necesidades de instalación de librerías y framework que trabajan en conjunto con nodejs.
# npm install castnow -g 
También se puede utilizar para verificar actualizaciones:
 Pues ya está!
Ahora a reproducir películas a saco :D

Más claro agua Manual Castnow
See you soon!

viernes, 21 de febrero de 2014

IRSSIPROXY configuración full!





Mis apunte...
El irssi es desde mi punto de vista el mejor y más potente cliente IRC que hay despues de BitchX; en su día fue el cliente numero 1, ahora lo están volviendo a resucitar... Mola!  
Bueno, al grano!

Para configurar nuestro IRSSIPROXY lo primero que necesitamos es una shell remota o una VPS. Una vez ahí procederemos alojar nuestro irssi. La ventaja que tiene esto son:

1. Nuestro cliente siempre estará rulando en segundo plano gracias a screen o tmux que son 2 potentes programas.

2. Podemos salvar nuestras secciones utilizando cualquier cliente IRC. (Y)

3. En ocasiones resulta tedioso y lento pilotar nuestro irssi entrando por ssh a nuestra shell o servidor. Con IRSSIPROXY va mucho más fluido, ¿porque? ya lo veremos:

Entramos a la shell remota, lanzamos screen/tmux posteriormente el irssi (libre de configuraciones, vamos hacerlo desde cero).
Crearemos las redes y configuraremos los server's a los que solemos entrar.

Ejemplo:
/network add freenode
/network add redirc
/network add chathispano
 procedemos con los server's:
/server add -auto -ssl -network freenode irc.freenode.net 6697 password-nick
/server add -auto -ssl -network redirc irc.redirc.org 6697 password-nick
/server add -auto -network chathispano irc.chathispano.com 6667 password-nick
Acto seguido a cargar el modulo proxy:
/load proxy
       podemos crear un archivo de texto en el ~/.irssi con el nombre
       de startup y añadiremos load proxy guardamos y cerramos, así no tendrán
       que cargarlo siempre que reinicien el irssi.
/set irssiproxy_password 1234567890   "nos creamos una contraseña"
/set irssiproxy_port  freenode=1111 redirc=1112 chathispano=1113 
        "añadimos un puerto por cada red" tener que ir buscando que puertos
          pueden estar disponibles; es posible que a la primera BINGO!! o puede
          que no.

guardamos todo y conectamos:
/save
/connect freenode
/connect redirc
/connect chathispano
Y ya está!
Dejamos rulando nuestro IRSSIPROXY; salimos de tmux/screen y posteriormente de la shell remota.

Ahora nos vamos a nuestro equipo y lanzamos nuestro querido irssi O CUALQUIER OTRO CLIENTE!!!
Lanzamos nuestro querido irssi (libre de configuraciones,
desde cero)
/network add freenode
/network add redirc
/network add chathispano
/server add -auto -network freenode shell_remota 1111 1234567890
/server add -auto -network redirc shell_remota 1112 1234567890
/server add -auto -network chathispano shell_remota 1113 1234567890
añadiremos los respectivos canales de cada red para que se conecten automaticamente:
ejemplo:
/channel add -auto #archlinux-es freenode.
scripts:

Hay 2 scripts a tener encuenta:

1. fnotify.pl La función de este script es mencionarte por medio de correo electrónico quien te está solicitando en el IRSSI y aparte de eso se crea un documento .txt en el ~/.irssi y lo salva. Para esto debemos tener instalado y configurado nuestro SSMTP y lo debemos hacer como root en nuestro shell remota o hablar con el administrador del server para que haga los respetivos ajustes.
Este es el script con algunos cambios para que rule cómo Dios manda en el IRSSI. Lo cargaremos en el irssi remoto ~/.irssi/scripts/autorun.

# todo: grap topic changes

use strict;
use vars qw($VERSION %IRSSI);

use Irssi;
$VERSION = '0.0.3';
%IRSSI = (
        authors     => 'Thorsten Leemhuis',
        contact     => 'fedora@leemhuis.info',
        name        => 'fnotify',
        description => 'Write a notification to a file that shows who is talking to you in which channel.',
        url         => 'http://www.leemhuis.info/files/fnotify/',
        license     => 'GNU General Public License',
        changed     => '$Date: 2007-01-13 12:00:00 +0100 (Sat, 13 Jan 2007) $'
);

#--------------------------------------------------------------------
# In parts based on knotify.pl 0.1.1 by Hugo Haas
# http://larve.net/people/hugo/2005/01/knotify.pl
# which is based on osd.pl 0.3.3 by Jeroen Coekaerts, Koenraad Heijlen
# http://www.irssi.org/scripts/scripts/osd.pl
#
# Other parts based on notify.pl from Luke Macken
# http://fedora.feedjack.org/user/918/
#
#--------------------------------------------------------------------

# Please set the variables (don't forget to escape "\" the "@" symbol like the example)
my $EMAIL = "tu_correo_electronico\@xxxxx.com";
my $SSMTP = "/usr/sbin/ssmtp";

#--------------------------------------------------------------------
# Private message parsing
#--------------------------------------------------------------------

sub priv_msg {
        my ($server,$msg,$nick,$address,$target) = @_;
        filewrite($nick." " .$msg );
}

#--------------------------------------------------------------------
# Printing hilight's
#--------------------------------------------------------------------

sub hilight {
    my ($dest, $text, $stripped) = @_;
    if ($dest->{level} & MSGLEVEL_HILIGHT) {
        filewrite($dest->{target}. " " .$stripped );
    }
}
#--------------------------------------------------------------------
# The actual printing
#--------------------------------------------------------------------

sub filewrite {
        my ($text) = @_;
        # FIXME: there is probably a better way to get the irssi-dir...
        open(FILE,">>$ENV{HOME}/.irssi/fnotify");
        print FILE "\n" . $text . "\n";
        close (FILE);
        my $mail=`echo "Subject: IRSSI"|cat - $ENV{HOME}/.irssi/fnotify|$SSMTP $EMAIL`;
}

#--------------------------------------------------------------------
# Irssi::signal_add_last / Irssi::command_bind
#--------------------------------------------------------------------

Irssi::signal_add_last("message private", "priv_msg");
Irssi::signal_add_last("print text", "hilight");

#- end

y está es mi configuración /etc/ssmtp/ssmtp.conf

#
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
root=xxxxxxxxxxxxxx@gmail.com
fzeta=xxxxxxxxxxxxx@gmail.com

# The place where the mail goes. The actual machine name is required no
# MX records are consulted. Commonly mailhosts are named mail.domain.com
mailhub=smtp.gmail.com:587

AuthUser=xxxxxxxxxx@gmail.com
AuthPass=xxxxxxxxxxxxxxxxx
UseSTARTTLS=YES
UseTLS=YES

# Where will the mail seem to come from?
rewriteDomain=

# The full hostname
hostname=xxxxxxxx.xxxxx.xxxx.com

# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
FromLineOverride=YES

Estas configuraciones me costaron pero a la final lo conseguí (Y)

2. proxy_backlog.pl La función de esté script es salvar el buffer cuándo lancemos el irssi en nuestra máquina local.
Lo cargaremos previamente en el ~/.irssi/scripts/autorun en el irssi remoto y cuándo estemos en el irssi local sólo queda lanzar el comando:
/ctcp -proxy- IRSSIPROXY BACKLOG SEND
o añadir -autosendcmd para que rule de forma automática en cada red.
Quedaría así:
ejemplo:
/network add -autosendcmd "/ctcp -proxy- IRSSIPROXY BACKLOG SEND" freenode
Obviamente hay más scripts interesantes por ahí pero estos 2 son los más importantes para que nuestro IRSSIPROXY rule cómo Dios manda.

Guardamos todo esté tinglado y listo:
/save
MI CONFIG LOCAL


servers = (
  {
    address = "SHELLREMOTA";
    chatnet = "server1";
    port = "XXXXXX";
    password = "XXXXXXXXXX";
    use_ssl = "no";
    ssl_verify = "no";
    autoconnect = "yes";
  },
  {
    address = "SHELLREMOTA";
    chatnet = "server2";
    port = "XXXXXX";
    password = "XXXXXXXXX";
    use_ssl = "no";
    ssl_verify = "no";
    autoconnect = "yes";
  },
  {
    address = "SHELLREMOTA";
    chatnet = "server3";
    port = "XXXXXXX";
    password = "XXXXXXXXX";
    use_ssl = "no";
    ssl_verify = "no";
    autoconnect = "yes";
  },
  {
    address = "SHELLREMOTA";
    chatnet = "server4";
    port = "XXXXXXX";
    password = "XXXXXXXXX";
    use_ssl = "no";
    ssl_verify = "no";
    autoconnect = "yes";
  },
  {
    address = "SHELLREMOTA";
    chatnet = "server5";
    port = "XXXXXXX";
    password = "XXXXXXXXXX";
    use_ssl = "no";
    ssl_verify = "no";
    autoconnect = "yes";
  }
    address = "SHELLREMOTA";
    chatnet = "server6";
    port = "XXXXXXX";
    password = "XXXXXXXXXX";
    use_ssl = "no";
    ssl_verify = "no";
    autoconnect = "yes";
  }
);

chatnets = {
  SILC = { type = "SILC"; };
  server1 = {
    type = "IRC";
    autosendcmd = "/ctcp -proxy- IRSSIPROXY BACKLOG SEND";
  };
  server2 = {
    type = "IRC";
    autosendcmd = "/ctcp -proxy- IRSSIPROXY BACKLOG SEND";
  };
  server3 = {
    type = "IRC";
    autosendcmd = "/ctcp -proxy- IRSSIPROXY BACKLOG SEND";
  };
  server4 = {
    type = "IRC";
    autosendcmd = "/ctcp -proxy- IRSSIPROXY BACKLOG SEND";
  };
   server5 = {
    type = "IRC";
    autosendcmd = "/ctcp -proxy- IRSSIPROXY BACKLOG SEND";
  };
   server6 = {
    type = "IRC";
    autosendcmd = "/ctcp -proxy- IRSSIPROXY BACKLOG SEND";
  };
};

channels = ( );
aliases = {
  J = "join";
  WJOIN = "join -window";
  WQUERY = "query -window";
  LEAVE = "part";
  BYE = "quit";
  EXIT = "quit";
  SIGNOFF = "quit";
  DESCRIBE = "action";
  DATE = "time";
  HOST = "userhost";
  LAST = "lastlog";
  SAY = "msg *";
  WI = "whois";
  WII = "whois $0 $0";
  WW = "whowas";
  W = "who";
  N = "names";
  M = "msg";
  T = "topic";
  C = "clear";
  CL = "clear";
  K = "kick";
  KB = "kickban";
  KN = "knockout";
  BANS = "ban";
  B = "ban";
  MUB = "unban *";
  UB = "unban";
  IG = "ignore";
  UNIG = "unignore";
  SB = "scrollback";
  UMODE = "mode $N";
  WC = "window close";
  WN = "window new hide";
  SV = "say Irssi $J ($V) - http://irssi.org/";
  GOTO = "sb goto";
  CHAT = "dcc chat";
  RUN = "SCRIPT LOAD";
  CALC = "exec - if command -v bc >/dev/null 2>&1\\; then printf '%s=' '$*'\\; echo '$*' | bc -l\\; else echo bc was not found\\; fi";
  SBAR = "STATUSBAR";
  INVITELIST = "mode $C +I";
  Q = "QUERY";
  "MANUAL-WINDOWS" = "set use_status_window off;set autocreate_windows off;set autocreate_query_level none;set autoclose_windows off;set reuse_unused_windows on;save";
  EXEMPTLIST = "mode $C +e";
  ATAG = "WINDOW SERVER";
  UNSET = "set -clear";
  RESET = "set -default";
  kickban = "ban $0 ; kick $0 $1- ;";
  ame = "foreach channel";
  onotice = "notice @$C (ops:#) $0-";
  deopme = "say fzeta@$C~# exit ; /mode $C +v-o fzeta fzeta;";
  deofme = "say fzeta~$C~# exit ; /mode $C -qo+v fzeta fzeta;";
  aop = "msg chan op $C fzeta";
  autoop = "msg chanserv op $C fzeta";
};

statusbar = {
  # formats:
  # when using {templates}, the template is shown only if it's argument isn't
  # empty unless no argument is given. for example {sb} is printed always,
  # but {sb $T} is printed only if $T isn't empty.

  items = {
    # start/end text in statusbars
    barstart = "{sbstart}";
    barend = "{sbend}";

    topicbarstart = "{topicsbstart}";
    topicbarend = "{topicsbend}";

    # treated "normally", you could change the time/user name to whatever
    time = "{sb $Z}";
    user = "{sb {sbnickmode $cumode}$N{sbmode $usermode}{sbaway $A}}";

    # treated specially .. window is printed with non-empty windows,
    # window_empty is printed with empty windows
    window = "{sb $winref:$tag/$itemname{sbmode $M}}";
    window_empty = "{sb $winref{sbservertag $tag}}";
    prompt = "{prompt $[.15]itemname}";
    prompt_empty = "{prompt $winname}";
    topic = " $topic";
    topic_empty = " Irssi v$J - http://www.irssi.org";

    # all of these treated specially, they're only displayed when needed
    lag = "{sb Lag: $0-}";
    act = "{sb Act: $0-}";
    more = "-- more --";
  };

  # there's two type of statusbars. root statusbars are either at the top
  # of the screen or at the bottom of the screen. window statusbars are at
  # the top/bottom of each split window in screen.
  default = {
    # the "default statusbar" to be displayed at the bottom of the window.
    # contains all the normal items.

    # statusbar to use in inactive split windows
    window_inact = {
      type = "window";
      placement = "bottom";
      position = "1";
      visible = "inactive";
      items = {
        barstart = { priority = "100"; };
        window = { };
        window_empty = { };
        more = { priority = "-1"; alignment = "right"; };
        barend = { priority = "100"; alignment = "right"; };
      };
    };
    # we treat input line as yet another statusbar :) It's possible to
    # add other items before or after the input line item.
    prompt = {
      type = "root";
      placement = "bottom";
      # we want to be at the bottom always
      position = "100";
      visible = "always";
      items = {
        prompt = { priority = "-1"; };
        prompt_empty = { priority = "-1"; };
        # treated specially, this is the real input line.
        input = { priority = "10"; };
      };
    };

    # topicbar
    topic = {
      type = "root";
      placement = "top";
      position = "1";
      visible = "always";
      items = {
        topicbarstart = { priority = "100"; };
        topic = { };
        topic_empty = { };
        topicbarend = { priority = "100"; alignment = "right"; };
      };
    };
    awl_0 = {
      items = {
        barstart = { priority = "100"; };
        awl_0 = { };
        barend = { priority = "100"; alignment = "right"; };
      };
    };
    awl_1 = {
      items = {
        barstart = { priority = "100"; };
        awl_1 = { };
        barend = { priority = "100"; alignment = "right"; };
      };
    };
  };
};
settings = {
  core = {
    real_name = "fzeta";
    user_name = "fzeta";
    nick = "fzeta";
    recode_out_default_charset = "ISO-8859-15";
    recode_autodetect_utf8 = "yes";
    recode_fallback = "CP1252";
    timestamp_format = "%H:%M:%S";
  };
  "fe-text" = { actlist_sort = "refnum"; };
  "fe-common/core" = {
    term_charset = "UTF-8";
    theme = "defacto.theme";
    beep_msg_level = "MSGS NOTICES INVITES DCC DCCMSGS HILIGHT";
    bell_beeps = "yes";
  };
  "perl/core/scripts" = {
    awl_shared_sbar = "OFF";
    awl_block = "-20";
    spell_dict = "es_ES";
    beep_cmd = "play -q ~/.irssi/scripts/beep-08b.wav -t alsa &";
  };
  "irc/core" = {
    ctcp_userinfo_reply = "Vete a la mierda!! Quieres joderme no? comete está 8=========D";
  };
};
hilights = (
  { text = "fzeta"; nick = "yes"; word = "yes"; }
);
keyboard = (
  { key = "meta2-P"; id = "command"; data = "nicklist scroll -1"; },
  { key = "meta2-Q"; id = "command"; data = "nicklist scroll +1"; },
  { key = "meta-p"; id = "change_window"; data = "20"; },
  { key = "meta-s"; id = "change_window"; data = "21"; },
  { key = "meta-d"; id = "change_window"; data = "22"; },
  { key = "meta-f"; id = "change_window"; data = "23"; },
  { key = "meta-g"; id = "change_window"; data = "24"; },
  { key = "meta-h"; id = "change_window"; data = "25"; },
  { key = "meta-j"; id = "change_window"; data = "26"; },
  { key = "meta-k"; id = "change_window"; data = "27"; },
  { key = "meta-l"; id = "change_window"; data = "28"; },
  { key = "meta-ñ"; id = "change_window"; data = "29"; },
  { key = "meta-z"; id = "change_window"; data = "30"; }
);
logs = { };
ignores = (
  { mask = "fractal"; level = "ALL"; },
  { level = "ALL"; channels = ( "#USA" ); }
);

Mis scripts locales                                     Mis scripts remotos
aspell_complete.pl                                        proxy_backlog.pl
awl.pl                                                               fnotify.pl
beep_beep.pl                                                 awayproxy.pl
hilightwin.pl                                                     screen_away.pl
showhilight.pl                                              
trackbar.pl                                                  

MI CONFIG REMOTO

servers = (
  {
    address = "server1";
    chatnet = "xxxxxxxxx";
    port = "xxxxxx";
    password = "xxxxxxx";
    use_ssl = "yes";
    ssl_verify = "no";
    autoconnect = "yes";
  },
  {
    address = "server2";
    chatnet = "xxxxxxx";
    port = "xxxxxx";
    password = "xxxxxxx";
    use_ssl = "yes";
    ssl_verify = "no";
    autoconnect = "yes";
  },
  {
    address = "server3";
    chatnet = "xxxxxxxx";
    port = "xxxxxxx";
    password = "xxxxxxxxxxx";
    use_ssl = "no";
    ssl_verify = "no";
    autoconnect = "yes";
  },
  {
    address = "server4";
    chatnet = "xxxxxxxxx";
    port = "xxxxxx";
    password = "xxxxxxxxxx";
    use_ssl = "yes";
    ssl_verify = "no";
    autoconnect = "yes";
  },
  {
    address = "server5";
    chatnet = "xxxxxxxxx";
    port = "xxxxxx";
    password = "xxxxxxxxxx";
    use_ssl = "no";
    ssl_verify = "no";
    autoconnect = "yes";
   },
  {
    address = "server6";
    chatnet = "xxxxxxxxx";
    port = "xxxxxx";
    password = "xxxxxxxxxx";
    use_ssl = "no";
    ssl_verify = "no";
    autoconnect = "yes";
  }
);

chatnets = {
  SILC = { type = "SILC"; };
  server1 = {
    type = "IRC";
    autosendcmd = "/msg NickServ IDENTIFY xxxxxxxxxx ;wait 2000";
  };
  server2 = {
    type = "IRC";
    autosendcmd = "/msg NickServ IDENTIFY xxxxxxxxxx ;wait 2000";
  };
  server3 = {
    type = "IRC";
    autosendcmd = "/msg NickServ IDENTIFY xxxxxxxxx ;wait 2000";
  };
  server4 = { type = "IRC"; };
  };
  server5 = { type = "IRC"; };
  };
  server6 = { type = "IRC"; };
};

channels = ( );

aliases = {
  J = "join";
  WJOIN = "join -window";
  WQUERY = "query -window";
  LEAVE = "part";
  BYE = "quit";
  EXIT = "quit";
  SIGNOFF = "quit";
  DESCRIBE = "action";
  DATE = "time";
  HOST = "userhost";
  LAST = "lastlog";
  SAY = "msg *";
  WI = "whois";
  WII = "whois $0 $0";
  WW = "whowas";
  W = "who";
  N = "names";
  M = "msg";
  T = "topic";
  C = "clear";
  CL = "clear";
  K = "kick";
  KB = "kickban";
  KN = "knockout";
  BANS = "ban";
  B = "ban";
  MUB = "unban *";
  UB = "unban";
  IG = "ignore";
  UNIG = "unignore";
  SB = "scrollback";
  UMODE = "mode $N";
  WC = "window close";
  WN = "window new hide";
  SV = "say Irssi $J ($V) - http://irssi.org/";
  GOTO = "sb goto";
  CHAT = "dcc chat";
  RUN = "SCRIPT LOAD";
  CALC = "exec - if command -v bc >/dev/null 2>&1\\; then printf '%s=' '$*'\\; echo '$*' | bc -l\\; else echo bc was not found\\; fi";
  SBAR = "STATUSBAR";
  INVITELIST = "mode $C +I";
  Q = "QUERY";
  "MANUAL-WINDOWS" = "set use_status_window off;set autocreate_windows off;set autocreate_query_level none;set autoclose_windows off;set reuse_unused_windows on;save";
  EXEMPTLIST = "mode $C +e";
  ATAG = "WINDOW SERVER";
  UNSET = "set -clear";
  RESET = "set -default";
  kickban = "ban $0 ; kick $0 $1- ;";
  ame = "foreach channel";
  onotice = "notice @$C (ops:#) $0-";
  deopme = "say fzeta@$C~# exit ; /mode $C +v-o fzeta fzeta;";
  deofme = "say fzeta~$C~# exit ; /mode $C -qo+v fzeta fzeta;";
  aop = "msg chan op $C fzeta";
  autoop = "msg chanserv op $C fzeta";
};

statusbar = {
  # formats:
  # when using {templates}, the template is shown only if it's argument isn't
  # empty unless no argument is given. for example {sb} is printed always,
  # but {sb $T} is printed only if $T isn't empty.

  items = {
    # start/end text in statusbars
    barstart = "{sbstart}";
    barend = "{sbend}";

    topicbarstart = "{topicsbstart}";
    topicbarend = "{topicsbend}";

    # treated "normally", you could change the time/user name to whatever
    time = "{sb $Z}";
    user = "{sb {sbnickmode $cumode}$N{sbmode $usermode}{sbaway $A}}";

    # treated specially .. window is printed with non-empty windows,
    # window_empty is printed with empty windows
    window = "{sb $winref:$tag/$itemname{sbmode $M}}";
    window_empty = "{sb $winref{sbservertag $tag}}";
    prompt = "{prompt $[.15]itemname}";
    prompt_empty = "{prompt $winname}";
    topic = " $topic";
    topic_empty = " Irssi v$J - http://www.irssi.org";

    # all of these treated specially, they're only displayed when needed
    lag = "{sb Lag: $0-}";
    act = "{sb Act: $0-}";
    more = "-- more --";
  };

  # there's two type of statusbars. root statusbars are either at the top
  # of the screen or at the bottom of the screen. window statusbars are at
  # the top/bottom of each split window in screen.
  default = {
    # the "default statusbar" to be displayed at the bottom of the window.
    # contains all the normal items.
    window = {
      disabled = "no";

      # window, root
      type = "window";
      # top, bottom
      placement = "bottom";
      # number
      position = "1";
      # active, inactive, always
      visible = "active";

      # list of items in statusbar in the display order
      items = {
        barstart = { priority = "100"; };
        time = { };
        user = { };
        window = { };
        window_empty = { };
        lag = { priority = "-1"; };
        act = { priority = "10"; };
        more = { priority = "-1"; alignment = "right"; };
        barend = { priority = "100"; alignment = "right"; };
      };
    };

    # statusbar to use in inactive split windows
    window_inact = {
      type = "window";
      placement = "bottom";
      position = "1";
      visible = "inactive";
      items = {
        barstart = { priority = "100"; };
        window = { };
        window_empty = { };
        more = { priority = "-1"; alignment = "right"; };
        barend = { priority = "100"; alignment = "right"; };
      };
    };

    # we treat input line as yet another statusbar :) It's possible to
    # add other items before or after the input line item.
    prompt = {
      type = "root";
      placement = "bottom";
      # we want to be at the bottom always
      position = "100";
      visible = "always";
      items = {
        prompt = { priority = "-1"; };
        prompt_empty = { priority = "-1"; };
        # treated specially, this is the real input line.
        input = { priority = "10"; };
      };
    };

    # topicbar
    topic = {
      type = "root";
      placement = "top";
      position = "1";
      visible = "always";
      items = {
        topicbarstart = { priority = "100"; };
        topic = { };
        topic_empty = { };
        topicbarend = { priority = "100"; alignment = "right"; };
      };
    };
  };
};
settings = {
  core = {
    real_name = "fzeta";
    user_name = "fzeta";
    nick = "fzeta";
    recode_fallback = "CP1252";
    recode_out_default_charset = "ISO-8859-15";
  };
  "fe-text" = { actlist_sort = "refnum"; };
  "irc/core" = { alternate_nick = "fzeta"; };
  "perl/core/scripts" = { spell_dict = "es_ES"; };
  "fe-common/core" = {
    theme = "defacto.theme";
    bell_beeps = "no";
    beep_msg_level = "MSGS DCC DCCMSGS HILIGHT NOTICES";
  };
  proxy = {
    irssiproxy_password = "XXXXXXXXXXX";
    irssiproxy_ports = "server1=xxxxxxxx server2=xxxxxxx server3=xxxxxxx server4=xxxxxxxx server5=xxxxxxxx server6=xxxxxxxx";
  };
};
keyboard = (
  { key = "meta2-P"; id = "command"; data = "nicklist scroll -1"; },
  { key = "meta2-Q"; id = "command"; data = "nicklist scroll +1"; },
  { key = "meta-p"; id = "change_window"; data = "20"; },
  { key = "meta-s"; id = "change_window"; data = "21"; },
  { key = "meta-d"; id = "change_window"; data = "22"; },
  { key = "meta-f"; id = "change_window"; data = "23"; },
  { key = "meta-g"; id = "change_window"; data = "24"; },
  { key = "meta-h"; id = "change_window"; data = "25"; },
  { key = "meta-j"; id = "change_window"; data = "26"; },
  { key = "meta-k"; id = "change_window"; data = "27"; },
  { key = "meta-l"; id = "change_window"; data = "28"; },
  { key = "meta-ñ"; id = "change_window"; data = "29"; },
  { key = "meta-z"; id = "change_window"; data = "30"; }
);
logs = { };
hilights = ( { text = "fzeta"; nick = "yes"; word = "yes"; } );
ignores = (
  { mask = "fractal"; level = "ALL"; },
  { level = "ALL"; channels = ( "#USA" ); }
);

Estupendo!
A partir de ahora ya podemos entrar desde nuestro querido (irssi-local) al nuestro (irssi-remoto).
O como ya había dicho antes, lo podemos hacer desde cualquier otro cliente IRC. (Y)

DESDE ANDRIOD USANDO ANDCHAT


See you later!













martes, 18 de febrero de 2014

BOUNCER + IRC

Mis apuntes...



BOUNCER

Un Bouncer o abreviado BNC es un software o programa que se utiliza para transmitir el tráfico y las conexiones en las redes de ordenadores, como un proxy.
El uso de un BNC permite a un usuario ocultar la fuente original de la conexión del usuario, proporcionando privacidad, así como la capacidad para en rutar el tráfico a través de un lugar específico. Un BNC también se puede utilizar para ocultar el objetivo real al que un usuario se conecta.(Wikipedia)

Hay muchas clases de Bouncers y cada uno tiene sus propias características.
  


BNC4FREE

Es un servicio totalmente gratuito, con la posibilidad  de tener nuestra cuenta siempre activa sin riesgo a que nos la eliminen sin protocolos de autenticación constantemente.


Para obtener este servicio entramos al:
server: irc.freenode.net 
canal: #bnc4free 
y nos registramos siguiendo las indicaciones del topic.

!request [vuestro nick][server][port][email]

Seria así:

!request fzeta irc.freenode.net 6697 fzeta@mail.com

Sucesivamente nos contestará el Bot del canal y al mismo tiempo nos llegará un email para que confirmemos la solicitud:

!verify [código de verificación]

el cual debemos copiar y pegar en el canal para proceder con la solicitud. Paso a seguir nos contestará el Bot del canal comunicándonos que nuestra solicitud se hará efectiva de 24 a 48 horas seguido de un código para verificar el proceso de la solicitud:

!Check[código]

Ahora solo queda esperar un email dónde nos comunicarán la manera y forma de configurar nuestro BOUNCER y cómo conectarnos. 


IRSSI

Es un cliente IRC en modo texto "Mi favorito"
Para conectarnos usando nuestra BNC obtenida es la siguiente:

* Lanzamos el irssi
* Conexión normal:
/server appel.bnc4free 1337

* Conexión segura:
/server -ssl appel.bnc4free 1339

* Nos identificamos
/quote pass fzeta:1234567890

Y ya estamos dentro. Para hacerlo de forma automática y evitar hacer todo este tinglado:

* Lanzamos el irssi

* ahora añadimos el servidor:
/server add -auto appel.bnc4free.com 1339 fzeta:1234567890

* guardamos:
/save

Cada vez que lancemos el irssi nos conectara de forma automática a nuestro bouncer y Sucesivamente a nuestros canales que hayamos configurado siguiendo los pasos del último email recibido. Y cuándo queramos salir "/quit" y nuestro nick se quedara rulando en segundo plano.


Desde Android

Yo uso "qicr lite IRC" podéis usar cualquier otro, pero este es muy práctico. (Y)              



see you later!








lunes, 10 de febrero de 2014

Trasteando con Openbox

Saludos perlas!

Mis apuntes...

He estado trasteando con Openbox modificando cosas, instalando, curioseando...(Y).
Mi gestor de ventana favorito es wmii pero Openbox me está empezando a molar un montón!



sábado, 31 de agosto de 2013

*ERROR* EDID checksum


Saludos!

El tema es que cuándo arrancaba la máquina me salía el error: [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is... vamos, lo que se muestra en el screenshot.
Dicho error intuyo que habrá sido durante la instalacion ( en otro pc ).

Solución:

NOMODESET!! Esa es fue mi solución. Despues de tanto leer y reeler la wiki de archlinux encontré esto Kernel Mode Setting   y de ahí me llamo mucho la atención las últimas lineas:

"Desactivación de modesetting
Es posible que desee desactivar KMS por diversas razones, tales como evitar una pantalla en blanco o un error de "no signal"" del monitor, cuándo se utiliza el driver Catalyst, etc. Para desactivar KMS, agregue nomodeset a los parámetros del kernel. Vea Parámetros del Kernel para más información."

EURECA!!!


Eh cambiado "quiet" por "nomodeset" Nomodeset reiniciamos y listo, arreglado!