Menú principal
Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Menú Mostrar Mensajes

Temas - firecold

#1
Squid 2.7 & Squid 3.x / cpu_affinity_map
Agosto 12, 2016, 02:10:06 PM
cpu_affinity_map

Que tal amigos de Alterserv, antes que nada me disculpo por mi inactividad, pero ya estamos arrancando y probando cosas nuevas, como tambien haciendoselas saber, en esta ocasion les platicar de cpu_affinity_map que es? y como se implementa.

Como antes ya les habia hablado de SMP el cual nos ayuda a crear mas de un proceso de squid, ya que anteriormente solo se podia crear un solo proceso de Squid lo cual muchas veces provocaba un cuello de botella y al final para mitigar esto teníamos que hacer mucha configuración en squid como tambien, modificaciones en el sistema para optimizar la memoria y permitir un trabajo constante en squid.

Si leyeron el enlace se daran cuenta que esta opcion todavia estaba incompleta y muchas veces no funcionaba del todo o en algunos casos necesitabas un archivo de configuracion por cada instancia de squid, lo cual tambien era engorroso, ahora con las nuevas actualizaciones, en mi caso squid3.5.12 esta funcionando sin problemas con un solo archivo de configuracion por las instancias que vallas a utilizar.

Para esto lo primero que debes de saber es que esto depende de cuantos nucleos tenga tu procesador, si tu procesador solo tiene 2 nucleos solo puedes levantar 2 instancias nada mas, lo explico desde el principio para que no digan despues que no lo adverti, la configuracion es asi:

workers 4
cpu_affinity_map process_numbers=1 cores=1
cpu_affinity_map process_numbers=2 cores=2
cpu_affinity_map process_numbers=3 cores=3
cpu_affinity_map process_numbers=4 cores=4
cache_dir aufs /var/spool/squid/${process_number} 10000 16 256 min-size=1 max-size=838860800


En este caso primero activas workers diciéndole que levantaras cuatro instancias, con esto empiezas con cpu_affinity_map dandole un numero de proceso y asignándole en que núcleo trabajara, en mi caso tengo cuatro nucleos asigno cuatro nucleos y para que nuestro almacenamiento también se cree para cada núcleo.

Asignandole tambien un tamaño minimo de entrada en el cache y y un maximo tamaño de archivo. Acompañado con parametros que siempre relacionados con la canalizacion del cache.

cache_mem 2048 MB
maximum_object_size 800 MB
maximum_object_size_in_memory 50 MB
cache_swap_low 95
cache_swap_high 99


Reiniciamos servicios y revisamos nuestro cache.log y veremos cuatro instancias separadas por kid1, kid2, etc, Espero les guste, Saludos
#2
GNU/Linux / Como Instalar Sarg en Debian/Ubuntu
Agosto 10, 2016, 12:48:09 PM
¿Que es Sarg?

Sarg es un programa que analiza los logs de squid y de los mismo genera reportes, es la más completa y fácil de utilizar para la generación de reportes a partir de las bitácoras de Squid. Permite ver con detalle la actividad de todos los equipos y/o usuarios dentro de la red de área local, que permite saber dónde han estado navegando los usuarios en Internet, a través del análisis del fichero de log "access.log" del famoso proxy Squid.

El poder de esta herramienta es increíble, pudiendo saber qué usuarios accedieron a qué sitios,a qué horas, cuantos bytes han sido descargados, relación de sitios denegados, errores de autenticacion... entre otros.  La flexibilidad que puede obtener con Sarg es muy alta, principalmente para las empresas que quieren tener un control de accesos y ancho de banda de acceso a Internet.


Instalación de Sarg

Como en todos los sistemas basados en Debian/Ubuntu sera de la misma manera y misma sintaxis:

Código (bash) [Seleccionar]
apt-get install sarg

Como muchos sabrán sarg no trabaja si no hay logs de squid, específicamente el access.log el cual debe de estar declarado en la configuración de Squid en el archivo: /etc/squid/squid.conf de esta manera:

access_log stdio:/var/log/squid/access.log

Si ya tienes funcionando tu log no hay problema, pero si no después de agregar esta linea de configuración reinicias el servicio de squid, siempre toma en cuenta que para que sarg pueda ser visualizado tiene que tener apache2 instalada previamente en tu equipo.

Configuracion de Sarg

Como verán a continuación sarg no es muy difícil de configurar, es cuestión de como quieras configurar tus reportes, el unico archivo de configuracion de sar se encuentre en:

/etc/sarg/sarg.conf

Lo pueden editar con su editor de texto preferido, pasemos a la configuracion basica, dentro de este archivo busca el parametro:

access_log: este archivo te permite darle una direccion de archivo de donde se encuentra ubicado el log de squid a analizar:

access_log /var/log/squid/access.log

title: Especifica el titulo que tu quieres que muestre la pagina html de sarg.

title "Reportes de Acceso de Usuario"

output_dir: cuando sea ejecutado sarg, esta directiva te permite decidir donde quieres enviar los reportes de sarg.

output_dir /var/www/sarg

font_size |  header_font_size | title_font_size: Estos parametros te permiten escoger el tamaño de la fuente, fuente de la cabecera y titulo de los reportes de sarg, es a eleccion vuestra si lo quieren cambiar.

font_size 15px
header_font_size 15px
title_font_size 17px


date_format: este parametro nos permite configurar la fecha de tres formas:
Citare (European=dd/mm/yy), u (American=mm/dd/yy), w (Weekly=yy.ww)
date_format e

index: Este parametro nos permite generar un index.html al ejecutar sarg.

index yes

Con estos parametros podreis configurar Sarg sin ningun problema, por lo menos de forma basica, ya que hay sarg posee muchas opciones para que puedas agregar o quitar a los reportes.

Ejecucion de Sarg

La ejecucion de sarg es muy sencilla, solo con ejecutar en consola:

sarg

Obtendras los reportes de Sarg, si lo quieres en una fecha especifica asi:

sarg -d 10/08/2016

Sarg nos ayuda a no complicarnos, con el comando -d, ejemplo:

Código (bash) [Seleccionar]
sudo sarg -d day-n
sudo sarg -d week-n
sudo sarg -d month-n


Siendo n el numero de dia o semana o mes, en este caso en reversa, eso quiere decir que el dia 1 es ayer y 0 es hoy.
Pero para que esto funcione debes agregar todos los logs y en un script requiere un monton de lineas, pero siempre sarg nos ayuda con esta configuracion:

Código (bash) [Seleccionar]
sudo sarg -d day-n -l /var/log/squid3/access.log*
sudo sarg -d week-n -l /var/log/squid3/access.log*
sudo sarg -d month-n -l /var/log/squid3/access.log*


El parametro -l nos permite agregar cuantos logs queramos y mas con el termino *, esto nos hara mucho mas facil la vida, pero esto hara que nuestro archivo de logs se vea algo desordenado, asi que para ordenar nuestros logs le agregaremos:

Código (bash) [Seleccionar]
sudo sarg -d day-n -l /var/log/squid3/access.log* -o /var/www/sarg/dia
sudo sarg -d week-n -l /var/log/squid3/access.log* -o /var/www/sarg/semana
sudo sarg -d month-n -l /var/log/squid3/access.log* -o /var/www/sarg/mes


El parametro -o nos permitira agregarle un destino a dicho log, lo cual resultara muy conveniente, Espero les sea de ayuda, Saludos

#3
GNU/Linux / Como instalar Samba en Debian o Ubuntu
Julio 28, 2015, 12:31:33 AM
¿QUE ES SAMBA?
CitarSamba es una implementación libre del protocolo de archivos compartidos de Microsoft Windows (antiguamente llamado SMB, renombrado recientemente a CIFS) para sistemas de tipo UNIX. De esta forma, es posible que computadoras con GNU/Linux, Mac OS X o Unix en general se vean como servidores o actúen como clientes en redes de Windows. Samba también permite validar usuarios haciendo de Controlador Principal de Dominio (PDC), como miembro de dominio e incluso como un dominio Active Directory para redes basadas en Windows; aparte de ser capaz de servir colas de impresión, directorios compartidos y autentificar con su propio archivo de usuarios.

Entre los sistemas tipo Unix en los que se puede ejecutar Samba, están las distribuciones GNU/Linux, Solaris y las diferentes variantes BSD entre las que podemos encontrar el Mac OS X Server de Apple.

Samba nos permite compartir archivos, directorios e impresoras en red entre Windows, Gnu/Linux, Mac, Unix, esto es muy util cuando te encuentras en una red y deseas compartir entre equipos cierta informacion, como documentos, musica, etc.

Parametros de Configuracion

Estos son algunos parámetros de configuración normalmente vistos en smb.conf, pero hay muchos mas, lo que no los encuentren aqui los encontraran aca: Parametros Samba en Español, Smb.conf

Globales

  • check password script : permite definir un script que verificará la complejidad de la contraseña definida, retornando 0 si es aprobada por el programa indicado
  • debug uid : permite registrar los uid, gid, euid y egid del usuario que solicita un recurso en el log del servidor
  • domain master : habilita a nmbd con un nombre NetBios específico que lo identifica como maestro de dominio del grupo de trabajo indicado
  • guest account : usuario utilizado para acceder a los recursos que tienen definido "guest ok"
  • include : incluye otro archivo de configuración complementario
  • interfaces: El parámetro interfaces permite establecer desde que interfaces de red del sistema se escucharán peticiones.
  • debuglevel o log level : permite definir el nivel de detalle del log.
  • map to guest : le indica al servidor la acción a tomar cuando falla el inicio de sesión de un usuario. inútil en security = share o server.
    Estos tres valores son:
    Never - Significa que las solicitudes de conexión con una clave incorrecta se rechazan. Este es el valor por defecto.
    Bad User - Significa que las solicitudes de conexión con una clave incorrecta se rechazan, salvo que el nombre de usuario no exista, en cuyo caso se trata como una conexión de invitado y se aplica en guest account.
    Bad Password - Significa que las conexiones de usuarios con claves incorrectas se tratan como conexiones de invitados y se aplican en guest account. Observe que esto puede originar problemas en tanto que significa que cualquier usuario que se equivoque al teclear su clave será conectado como invitado de forma inadvertida sin ningún mensaje de que ha introducido una clave incorrecta.
  • max log size : tamaño máximo del log
  • message command : le indica al servidor la acción al recibir un mensaje tipo WinPopup
  • netbios name : nombre netbios del servidor samba
  • null passwords : permite el acceso a usuarios con contraseñas vacías
  • panic action : comando a realizar al caerse smbd o nmbd
  • prefered master o preferred master : indica si samba es preferencialmente maestro en el grupo de trabajo
  • security : determina cómo los clientes responden el logeo (usuario y contraseña) según el "security mode bit" enviado en las negociaciones de protocolo.
    share : clientes se registran al solicitar un recurso (permite ver la lista de recursos para visitas)
    user : clientes se registran al solicitar la lista de recursos o solicitar un recurso
    domain : idéntico al anterior, pero los datos de registro se consultan con controlador de dominio
    server : idéntico al anterior, pero los datos de registro se consultan con servidor SMB
  • server string : texto desplegado como nombre completo del servidor.
  • remote announce: se encarga de que el servicio nmbd se anuncie a si mismo de forma periódica hacia una red en particular y un grupo de trabajo específico.
  • workgroup: indica el nombre del grupo de trabajo (o dominio) en el que se quiere que funcione Samba.
  • wins support:  indica si se desea que el servidor Samba actue como un servidor WINS.
  • wins server : = <host>, indica que maquina actua como servidor WINS. Es decir, se supone que la maquina que ejecute Samba actuaria como cliente WINS.

Recursos

  • administrative share : recurso administrativo. creado por defecto en sistemas MS. Por Ejemplo: C$ , D$ , IPC$.
  • admin users : lista de usuarios con total permiso sobre los recursos (no aplica si secury = share).
  • browsable o browseable : define si el recurso es apreciable en la lista de recursos del servidor.
  • comment : permite definir un comentario aplicado al recurso, desplegable en los recursos de toda la red; a través de net view o de smbclient.
  • create mode o create mask : permite restringir los permisos de los archivos/directorios creados en un recurso a través de una máscara de permisos.
  • force create mode : permite aplicar permisos a los archivos/directorios creados en un recurso.
  • directory mode o directory mask : similar a create mode o create mask, aplicado a directorios.
  • force directory mode : similar a force create mode, aplicado a directorios
  • directory security mask : mascara de permisos aplicado a clientes Windows NT.
  • group o force group : grupo utilizado como gid del usuario conectado.
  • user o force user : usuario utilizado como uid del usuario conectado.
  • guest ok : permite acceder a un recurso sin identificarse.
  • only guest o guest only : permite acceder sólo a usuarios sin identificación. requiere el parámetro "guest ok".
  • allow hosts o hosts allow : lista de equipos permitidos de acceder al recurso. puede aplicar como global.
  • deny hosts o hosts deny : lista de equipos no permitidos de acceder al recurso. puede aplicar como global.
  • invalid users : lista de usuarios no permitidos de acceder al recurso.
  • only user : permite el acceso sólo a los usuarios en la lista user.
  • directory o path : ruta del recurso indicado.
  • read list : lista de usuarios que tienen acceso de sólo lectura.
  • read only o writeable : no se permite crear ni modificar los archivos/directorios del recurso.
  • user , users o username : usuarios con los cuales se probará la contraseña entregada.
  • valid users : lista de usuarios permitidos de acceder al recurso.
  • veto files: se utiliza para especificar la lista, separada por diagonales, de aquellas cadenas de texto que denegarán el acceso a los archivos cuyos nombres contengan estas cadenas.
  • delete veto files: con la opcion yes permite borrar los veto files y no la viceversa.
  • invalid users : lista de usuarios no permitidos de acceder al recurso.
  • writable o writeable : permite escribir/modificar en el recurso indicado

usershares
       Parámetros de configuración aplicables a las carpetas compartidas a través de nautilus ("Opciones de compartición"):

  • usershare allow guests : las carpetas compartidas serán accedidas por los usuarios sin registrarse.
  • usershare max shares : número máximo de carpetas compartidas por usuario.
  • usershare owner only : permite compartir sólo las carpetas pertenecientes al usuario.
  • usershare path : ruta donde se almacenan las carpetas compartidas por cada usuario (los permisos de la carpeta indicada controlan quienes pueden compartir a través de este medio).
  • usershare prefix allow list : lista separada por comas de las rutas absolutas permitidas para compartir (incluye directorios dentro de estas rutas).
  • usershare prefix deny list : lista separada por comas de las rutas absolutas no permitidas para compartir (incluye directorios dentro de estas rutas)

INSTALACION DE SAMBA

Para poder instalar Samba en Debian como en Ubuntu tendremos que instalar los paquetes correspondiente y lo haremos en consola con:

Código (bash) [Seleccionar]
apt-get install samba samba-client cifs-utils smbclient

Habiendo terminado la instalacion y sus dependencias podremos configurar Samba con el archivo /etc/samba/smb.conf, en mi caso mi archivo de configuracion no ha cambiado con los años, ya que samba a cambiado muy poco, pero sigue siendo igual de util, esta configuracion esta probada en WinXP/WinVista/Win7/Win8/Win8.1, compartiendo archivos sin ningun problema.

[global]
workgroup = proxy.os.com   # nombre del grupo de trabajo.
server string = Servidor de Archivos
        netbios name = PROXY
dns proxy = no
security = user                    # modo de seguridad.
passdb backend = tdbsam
cups options = raw
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192   # Parámetros de optimizacion.
usershare allow guests = yes
map to guest = Bad User
username map = /etc/samba/smbusers       # cuando falla el inicio debe de hacer esto.
guest ok = yes
log file = /var/log/samba/log.%m               # log de samba.
max log size = 100
syslog = 0
name resolve order = lmhosts host wins bcast
time server = yes                                      # si tienes un servidor de hora y lo quieres integrar.
interfaces = lo eth0 192.168.1.0/24            # interface y segmento de red que acepto, para vizualizar samba.
hosts allow = 127. 192.168.1.                    # segmentos de red que pueden vizualizar samba.
        veto files = /*.inf/*.bat/*.scr/*.lnk/*.cmd/  # vetar estos archivos por seguridad.
        delete veto files = yes
########## Printing ##########
load printers = yes                                    # Este segmento de Printing, incluye printers y print$ es para poder 
printing = cups                                         # compartir impresoras por medio de Samba y Cups, usándolo  como
printcap name = cups                               # servidor impresión.
usershare max shares = 100
encrypt passwords = true
guest account = nobody
[printers]
comment = All Printers
browseable = no
path = /var/spool/samba
printable = yes
guest ok = yes
read only = yes
use client driver = Yes
# Windows clients look for this share name as a source of downloadable
# printer drivers
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = yes
read only = yes
guest ok = yes

##################
#Carpetas compartidas     # Carpeta Publica Compartida, para que pueda ingresar todo mundo.
##################
[impresiones]
path = /home/servidor/Documentos/impresiones
writeable = yes
browseable = yes
guest ok = yes


Ahora bien esta configuracion es para poder usar de forma publica las carpetas compartidas, eso quiere decir que nadie tiene que ingresar usuario y contraseña,  pero si deseas que nadie entre a tus archivos puedes agregar recursos compartidos con autenticavion de esta manera.

Primero debo crear el usuario y adjuntarlo con el grupo de Sambashare asi:
Código (bash) [Seleccionar]
useradd -g sambashare erick
passwd erick


Despues crear una contraseña para samba y no habrá problema ya que el usuario ya existe:
Código (bash) [Seleccionar]
smbpasswd -a erick

Despues debes crear la carpeta y dar permisos a dicha carpeta:
Código (bash) [Seleccionar]
mkdir /home/servidor/Documentos/erick
chmod 777 /home/servidor/Documentos/erick


Ahora solo falta la configuración en smb.conf, la cual debe de ir en la parte final:
[erick]
comment = Cosas de Erick
path = /home/servidor/Documentos/erick
writeable = yes
browseable = yes
read only = no
create mask = 0774
directory mask = 0777
valid users = erick
admin users = erick


Las ultimas dos lineas es para que únicamente solo yo pueda entrar, como parte de configurar el servicio y el archivo de configuración de Samba, existe una herramienta muy importante que es:
Código (bash) [Seleccionar]
testparm

Con esto puedes saber si tu archivo de configuración se encuentra sintacticamente correcto, esto es muy importante, aunque debes de saber que puede estar sintacticamente correcto, pero también puede estar errada la configuracion.

Por ultimo reiniciamos servicios:
Código (bash) [Seleccionar]
service smbd restart

Como parte de este post agregue muchas de las opciones que uso, con su significado, para no explicar parámetro por parámetro, como también para que tengan conocimiento de lo que hacen, ya que hay muchos post sobre samba, que son de copiar y pegar, pero sin entender nada, esto les da la oportunidad de saber lo que hacen si asi lo quieren.










Espero les sea de utilidad, Saludos
#4
¿Como crear o comentar un tema?
Este es un tema que habia estado pensando y algunos usuarios de este foro me impulsaron a crearlo, ya que muchas veces al crea un tema debemos de dar una buena presentacion de el, para que sea atractivo a la vista, que sea entendible, ya que muchas veces nos faltan las palabras para expresarnos o no destacamos la idea principal de nuestro tema.

Normas del Foro


Pero antes que nada resaltare las reglas básicas para crea un tema en este foro:

Ya habiendo definido las reglas sobre crear temas o comentar temas, ya que muchas veces al comentar o crear temas pasa lo mismo, muchas veces toca borrar temas que el titulo no es descrptivo y menos su contenido, siempre comento que no somos adivinos necesitamos detalles específicos o información especifica para poder ayudar y aunque sepamos que es lo que quieren estamos obligados a que nos relaten bien las cosas, si no se crea una costumbre que con el tiempo pesa.

Nuevo Tema



Esta es una plantilla normal para poder crear un tema, aunque creo que tengo unas cuantas opciones extras, las cuales servirán para darle un mejor formato a su tema, las he numerado para poder tener un orden, como se darán cuenta que en cada sección hay varias casillas y las relatare de izquierda a derecha.

Seccion 1:



Titulo o Asunto del Tema: Es este describimos la razon, motivo o circunstancia del tema a crear, siempre recordándonos de las normas de este foro, que dicho titulo sea coherente y de acuerdo a el tema.

Seccion 2 y 3:
En el icono del mensaje, puedes cambiarlo de pendiendo del tipo de Post que deseas, ya sea una pregunta, exclamacion, standar etc, esto con el fin de que se vea diferente.


Seccion 4:

Estas opciones nos sirven para resaltar nuestro texto y diferenciarlo del resto, o crear atencion a un punto del tema.

  • Negrita: tiene los trazos más gruesos que la redonda y su aparición es relativamente reciente, de finales del siglo XIX. Se ha tendido a evitarla porque destruye la uniformidad del gris tipográfico y llama demasiado la atención.
  • Cursiva: es la letra cuyos terminales adoptan a menudo una forma curva, como si quisieran unirse a la letra siguiente o anterior al estilo de la escritura caligráfica.
  • Subrayado: consiste en poner una raya debajo de las ideas más importantes de un texto con el fin de destacarlas del resto, favoreciendo así su atención preferente por parte del lector, su mejor fijación en la memoria del mismo y un ahorro del tiempo invertido en repasar.
  • Tachado: Su funcion es tachar el texto que usemos con dicha funcion, se usa por muchas razones, algunas por errores.


Seccion 5:

Las siguientes opciones nos sirven para alinear el texto o imagenes hacia un punto en cuestion señalado a continuacion:

  • Alinear a la izquierda: Permite alinear texto respecto del margen izquierdo. Esta es la configuración que utiliza Word97 en la presentación de un texto.
  • Alinear a la derecha: Permite alinear texto respecto del margen derecho.
  • Centrar: Permite centrar el texto entre los márgenes izquierdo y derecho.
  • Justificar: Permite extender el texto entre los márgenes izquierdo y derecho al expandir o reducir el espacio entre palabras individuales.


Seccion 6:

Son opciones que nos ayudan a resaltar nuestro texto, variando desde el tipo de letra, tamaño de letra, color:

  • Tipo de Fuente: Puedes escoger entre 10 tipos de fuentes para que tu tema se vea diferente y hasta vistozo.
  • Tamaño de Fuente: Puedes escoger entre 7 tamaños de letra en los cuales puedes resaltar titulos.
  • Cambiar Color: Son 14 colores a escoger en los que puedes realzar con colores los puntos centrales, titulos, etc.
  • Codigo: Este nos ayuda a realzar codigo, ya sea de mysql, html, javascript, entre otros.


Seccion 7:

Estas son dos opciones que les ayuda a nuestros temas a aportar imagenes y enlaces a otras pagina sin mayor problemas:

  • Insertar Imagen: La funcion basica es insetar imagenes en nuestro tema o comentario, para ello debes tener la url de dicha imagen, y usando Insertar Imagen podras vizualizarla y no solo ver enlace hacia la imagen.
  • Insertar Hipervinculo: Esta Opcion nos permite visualizar un enlace de forma mas pequeña y con el titulo que deseas, para que no se vea el enlace como tal.


Seccion 8:

Tres opciones para poder ordenar tanto el codigo, como texto que deseas resaltar, como también comentarios de terceros:

  • Insertar Tabla: Esta nos permitira crea un tabla para poder ordenar el contenido deseado es algo complicada y por cierto muy pocas veces utilizada.
  • Insertar Codigo: Esta opcion no solo nos permite resaltar codigo si no tambien con pequeñas modificaciones cual quier tipo de lenguaje de programacion.
  • Insertar Cita: Cuando hay comentarios de terceros que deseas agregar o bien informacion o comentarios externos.


Seccion 9:

En esta seccion no ahondare ya que solo son caritas, con estados de animo que son utiles para expresar nuestro estado en ese momento.


Seccion 10:

En esta seccion 5 elementos que de verdad le daran una mejor vista y hasta presentar videos:

  • Insertar Lista con Viñetas: Nos permite insertar una lista de objetos con viñetas para poder presentar informacion de forma mas ordenada.
  • Insertar Lista Numerada: Nos permite insertar una lista de objetos pero en este caso numeradas para que podamos llevar una secuencia o un orden del contenido.
  • Linea Horizontal: Esta funcion nos permite colocar una linea horizontal para poder separar el contenido de la misma.
  • Videos Empotrados Youtube: Nos permite agregar un video de youtube a nuestro comentario o tema para poder hacer mas vistozo nuestro tema.
  • Videos Empotrados Vimeo:  Nos permite agregar un video de Vimeo a nuestro comentario o tema para poder hacer mas vistozo nuestro tema.


Seccion 11 y 12:

La opcion 11  nos permite adjuntar hasta 4 archivos adjuntos de 24KB cada uno, es muy util para subir scripts u otro tipo de archivos.

Y la opcion 12 para Previzualizar el mensaje que estas apunto de enviar antes de enviarlo y Publicar para guardar lo hecho y terminar la publicacion.



Ejemplos:

Tres Ejemplos 1, con diferentes colores, alineacion, tamaño de fuente y tipo de letra.

ejemplo 1:
[left][b][size=12pt][color=blue]ejemplo 1:[/color][/size][/b][/left]

ejemplo 1:
[center][u][size=14pt][color=red]ejemplo 1:[/color][/size][/u][/center]

ejemplo 1:
[right][i][size=18pt][color=green]ejemplo 1:[/color][/size][/i][/right]



ejemplo 2:

El codigo es muy importante tanto en plugins, como en script de bash, como codigo html.

Código (mysql) [Seleccionar]
mysql -uroot thunder -pthunder31

[code=mysql]mysql -uroot thunder -pthunder31

Código (bash) [Seleccionar]
sudo service squid3 restart && sudo service raptor restart && sudo service mysql restart
[code=bash]sudo service squid3 restart && sudo service raptor restart && sudo service mysql restart


ejemplo 3:

Los videos son muy utiles para poder dar un llamativo especial a nuestros temas y es muy facil solo la url del video necesitamos:

[youtube]https://www.youtube.com/watch?v=-sWgOuFIaws[/youtube]

[vimeo]https://vimeo.com/channels/staffpicks/128220586[/vimeo]
[vimeo]https://vimeo.com/channels/staffpicks/128220586[/vimeo]



Les dejo los ejemplos hasta ahi, ya que cada post tiene un limite de palabras y lastimosamente llegue la limite, espero que sea de utilidad a la hora de crear tu tema o comentario, Saludos
#5
GNU/Linux / Configuraciones Cacti
Mayo 20, 2015, 03:53:02 AM
Este post es gracias a algunos usuarios que han comentado sobre las configuraciones de Cacti y que muchas veces quisieran mas graficas en Cacti, bueno esta vez explicare de algunas bien basicas que pueden obtener solo con algunas configuraciones.

Antes que nada dire que este post es hecho para aquel que ya tiene instalado Cacti, ya que en Raptor por defecto viene instalado, pero no configurado, aqui una pequeña reseña.

Configuraciones Cacti

Antes que nada borraremos la grafica que viene por defecto:





Ya que esta grafica no se actualiza, ni muestra ningun cambio ya que el dispositivo no existe y lo haremos asi:




Habiendo hecho lo anterior estaremos borrando dicha grafica, pero sera hora de agregar otras, ya que por defecto viene con muy pocas grafica, aumentaremos las graficas para poder obtener mas informacion de nuestro sistema, primero damos Clik en Devices y luego en Raptorcache:



Al entrar en RaptorCache hasta abajo borraremos lo que nos marca las imagenes:

Al Guardalas, salvamos o guardamos.


Luego de esto tendremos que agregar los nuevos Data Queries, para las graficas que tendremos que agregar, quedandonos asi:


Habiendo agregado y guardado lo que necesitamos es hora de agregas las graficas a Cacti y lo podemos hacer dando Click en New Graphs, siguiendo los pasos que se describen a continuacion:



Como tambien agregas otras graficas:



Ahora tendremos nuevas graficas, claro que a algunas les tendremos que dar por lo menos unos 5 minutos para que se muestren y una media hora para que muestren actividad las graficas, en mi caso ya que estoy probando Ubuntu 15.04 pues no hay mucha actividad y mas cuando lo acacbo de instalar, pero ahi esta:




Espero les sirva, yo se que no es mucho, pero les servira, ire agregando algunas plantillas de cacti que seguro serviran para monitorear otros servicios, Saludos
#6
Hardware General / Hardware y Thunder o Raptor
Abril 10, 2015, 01:53:22 PM
Amigos en esta ocasion comenzare este tema para poder saber y comentar sobre nuestro harware en general, por ejemplo: Cuando yo inicie con ThunderCache 3 empece con un Pentium Dual Core 2.8 Ghz con 2GB de Ram y un HDD de 120GB a comienzos de 2008, en aquellos tiempos yo comenzaba a usar GNU/Linux, eran tiempos muy buenos y aprendia mucho sobre este sistema y Linux por supuesto.

Despues de varios años en Agosto de 2011 encontre un tema en PeruHardware, el cual publico el amigo Joemg6 el cual empezaba con una modificaciones de Thunder 3.1, empezo como el anterior pero con una de las modificaciones de Joemg6 lo vimos asi:

En esos tiempos me resulto muy util este proyecto y no estoy diciendo que ahora no, traia muchos plugins y la mejora en la velocidad era plausible, otra de las mejoras volvio con una nueva interfaz mas intuitiva y mucho mas cosas que podias configurar desde el webpanel, me recuerdo que me gusto mucho los colores y las funciones se veia asi:

Cuando salio esta nueva interfaz me anime a comprar un nuevo hardware y fue un Core2Duo de 3.0 Ghz con 4GB de Ram y 2 HDD uno de 120GB y otro de 320GB para el cache, a todo esto algo de tiempo Joemg6 hizo un esfuerzo mayor por el Proyecto y creo su propia pagina Alterserv.com en la cual publico este tema.

Tengo que decir que han pasado muchas cosas desde ese momento, una de ellas fue que tanto a Luistec como a mi persona Joemg6 nos eligio para ser Moderadores de este foro, esto me inspiro a ayudar mucho a los nuevos usuarios y en especial al que entra en este nuevo Mundo, como tambien entro a este foro RaptorCache 1.0b, el cual era espectacular, demosle una miradita.

Por decirlo asi desde que empezo el foro, han salido muchos cambios, como de versiones de Raptor, llegando desde la version 1.0b hasta la actual 1.06b, tambien debo recordar a muchos usuarios entre ellos en ese tiempo a david_domh el cual me ayudo mucho a crear un monton de plugins, aporto mucho a esta comunidad, pero me recuerdo mucho de el por su apoyo y cada vez que queria algo, me decia que me podia proporcionar para poder hacerlo y tambien aprendio a crear plugins, de hecho hay varios plugins de su autoria, por decirlo asi han ido y venido muchos usuarios entre ellos ultimamente venezu el cual ayuda mucho a los usuarios con MK, tambien hay usuarios que ayudaron mucho son sus dudas como: ingjaab, tonyvzla, willysantana, rifranco202325, JVProducciones, btocarmona, entre otros, pero lo podemos ver en las estadisticas de dicho sitio:

Como también la ayuda que brinda Luistec quien es una persona muy cocnocedora de MK y por supuesto nuestro Moderador, sin dejar atras a Joemg6 que hace todo esto posible; Despues de ver los resultados de Raptor compre un nuevo Hardware un Intel Core I5 de 3.0Ghz con 8GB de Ram y dos HDD de 1TB, para el sistema y para el cache, ya que me sirve por el sistema de streaming de audio y video, que comparto con mis usuarios.

Por lo demas espero que mis vivencias es este foro y con sus usuarios, no olvidando a ese hardware que nos acompaño en las buenas y en las malas, acompañandonos en las trasnochadas para poder configurar mas de algo o a probar algo nuevo, jajajajaja,  :-X  :-X  :D  :D , Saludos
#7
En este tema compartiremos cosas basicas y no tan basicas de los comandos de linux, como el sistema de ficheros, etc, espero que puedan aportar no solo con comandos o informacion basica, si no tambien con preguntas, ya que solo de esta manera aprendemos todos nosotros por preguntar y tambien por investigar.

SISTEMA DE FICHEROS o ARBOL DE DIRECTORIOS EN GNU/Linux

Un directorio es un conjunto de archivos, que a su vez pueden contener otros directorios. Los directorios también poseen permisos, y eso es muy importante para evitar que los usuarios sin experiencia, borren o modifiquen algo que no deban. El árbol de directorios nos ayuda a saber dónde se encuentra un archivo.

A diferencia de los sistemas MS-DOS/Windows, en los sistemas UNIX no se dividen los directorios entre las distintas unidades físicas (C:, D:, etc.). Al contrario, para UNIX todos son ficheros y directorios. Éste considerará un disco duro o una disquetera como directorios. Por tanto, no tiene sentido escribir en la consola "C:", sino que nos iremos al directorio asociado a esa partición.

Todos los ficheros y directorios de un sistema UNIX cuelgan de un directorio principal llamado "raíz", que se representa como "/". El directorio raíz es la base para todo el arbol de directorios, es allí donde están contenidos todos lo directorios del sistema.

Cuando el usuario accede a una sesión, Linux "envía" al usuario a su directorio de trabajo, que es su directorio personal (/home/nombre-usuario). En donde el usuario tiene la libertad absoluta para hacer lo que quiera con sus ficheros y directorios ubicados ahí. Sin embargo no podrá hacer todo lo que quiera en el directorio de otro usuario, ya que Linux tiene un sistema de permisos que concede o restringe libertades sobre los directorios y ficheros que hay en Linux. Aunque existe un usuario "root", que sí tiene permiso de hacer cualquier cosa en Linux.



CitarVeamos algunos de los directorios más importantes de Linux y lo que contienen:

/ es el directorio raíz. De aquí cuelgan todos los directorios del sistema. Dentro del directorio raíz encontramos varios subdirectorios importantes:
/bin contiene ficheros de comandos ejecutables utilizables por todos los usuarios. Aquí tenemos los programas que pueden lanzar todos los usuarios del sistema.
/sbin es para ejecutables de uso exclusivo por el superusuario. Son los necesarios para arrancar y montar el directorio /usr.
/home es un directorio donde se encuentran los directorios personales de los usuarios del sistema.
/usr contiene utilidades y programas generales de usuario:
/usr/bin contiene programas de uso general.
/usr/share contiene archivos compartibles, independientes de la arquitectura.
/usr/share/doc contiene cierta documentación del sistema.
/usr/share/man contiene los manuales.
/usr/etc contiene archivos de configuración de uso global.
/usr/include contiene las cabeceras de C y C++.
/usr/lib contiene las bibliotecas de nuestros programas.
/usr/sbin contiene los programas de administración del sistema.
/usr/src contiene los códigos fuente de nuestros programas.
/dev contiene archivos especiales de bloques y caracteres asociados a dispositivos hardware. Aquí encontramos todos los dispositivos físicos del sistema (todo nuestro hardware).
/lib contiene librerías y compiladores del sistema. Contiene las bibliotecas necesarias para que se ejecuten los programas que tenemos en /bin y /sbin únicamente.
/proc contiene los archivos que reciben o envían información al núcleo. No deberíamos modificar el contenido de este directorio.
/etc contiene los ficheros de configuración y utilidades para la administración.
/var contiene ficheros para el administrador. Este directorio contiene información variable, como registros, datos de los servidores, etc.
/boot contiene los archivos de configuración del arranque del sistema, como por ejemplo GRUB.
/media contiene todas las unidades físicas que tenemos montadas: discos duros, unidades de DVD, pen drives, etc.
/opt sirve para admitir ficheros nuevos creados tras la modificación del sistema. Es un punto de montaje desde el que se instalan los paquetes de aplicación adicionales. Podemos usarla para instalar aplicaciones que no vienen en los repositorios, por ejemplo, aquellas que compilamos a mano.
/tmp es donde se almacenan los archivos temporales.

Esto es asi en la mayoria de distribuciones GNU/Linux, pero en algunas hay cambios.

COMANDO BASICOS Y EXPLICACION

CitarPWD
El comando pwd (de las siglas en inglés print working directory, cuya traducción sería imprimir directorio de trabajo) se utiliza para imprimir el nombre del directorio actual en una sesión, por ejemplo:
Código (bash) [Seleccionar]
servidor@ns1:~$ pwd
/home/servidor


CitarCD
Este comando se usa para cambiar de directorio. Generalmente cuando el usuario inicia una sesión en GNU/Linux, el directorio donde comienza es su directorio personal. Desde ahí uno puede moverse a los diferentes directorios donde se tenga acceso usando este comando. Su sintaxis es la siguiente:
Código (bash) [Seleccionar]
servidor@ns1:~$ cd /etc/squid3
servidor@ns1:/etc/squid3$


CitarCP
El comando cp copia archivos de un lugar a otro. Si el destino es un archivo existente, el archivo se sobreescribe; si el destino es un directorio existente, el archivo se copia al directorio (el directorio no se sobreescribe).Ejemplo:
Código (bash) [Seleccionar]
sudo cp /etc/squid3/squid.conf /home/servidor/

CP tiene varias opciones, las cuales pueden ser muy utiles, pero como estamos dando ejemplo basicos me limitare a este, pero dejo un link con todas las opciones de CP.

CitarCHMOD
chmod ("change mode", cambiar modo en idioma inglés) es una llamada al sistema y su comando asociado en el sistema operativo UNIX (estandarizados en POSIX y otros estándares) que permite cambiar los permisos de acceso de un fichero o directorio. El permiso de archivos se da a usuarios, grupos y otros. Las opciones del comando chmod se especifica del siguiente modo:
chmod [modificadores] permisos fichero/directorio

Modificadores:

  • -c    Muestra los nombres de aquellos archivos cuyos permisos estén siendo cambiados
  • -f    Elimina la mayoría de los mensajes de error
  • -R    Cambia archivos y directorios repetidamente
  • -v    Mostrar la información de la versión y salir.
Permisos de Archivos:

  • 0   ninguno
  • 1   sólo ejecutar
  • 2   sólo escritura
  • 3   escritura y ejecución
  • 4   sólo lectura
  • 5   lectura y ejecución
  • 6   lectura y escritura
  • 7   todos los permisos
Sabiendo los modificadores y los permisos podemos aplicarles dichos permisos a archivos o directorios, Ejemplo:
Código (nash) [Seleccionar]
chmod 700 /home/servidor/script.sh

CitarMV
El comando mv es la abreviatura de mover. Se usa para mover/renombrar un archivo de un directorio a otro. El comando mv es distinto del comando cp ya que elimina completamente el archivo del origen y lo mueve a la carpeta especificada, mientras que el comando cp sólo copia el contenido de un archivo a otro.
Su sintaxis es:
mv /archivo/o/carpeta/a/mover /archivo/o/carpeta/de/destino

OPCIONES

  • -f   Así no preguntará antes de sobreescribir (equivalente a --reply=yes). mv -f moverá los archivos sin preguntar incluso si está escribiendo sobre un archivo de destino existente.
  • -i   Pregunta antes de sobreescribir algún archivo.

CitarCAT
El comando de linux cat concatena archivos y los muestra en el salida estándar.
SINTAXIS:
La sintaxis es
cat [OPCIONES] [ARCHIVO]...

OPCIONES

  • -A   Mostrar todo.
  • -b   Omitir los números de línea para los espacios en blanco en el salida.
  • -e   Un caracter $ se mostrará al final de cada línea anterior a una nueva línea.
  • -E   Muestra un $ (símbolo del dolar) al final de cada línea.
  • -n   Numera todas las líneas en el salida.
  • -s   Si el salida tiene múltiples líneas vacías las sustituye con una única línea vacía.
  • -T   Muestra los caracteres de tabulación en el salida.
  • -v   Los caracteres no mostrados (con la excepción de tabuladores, nuevas líneas y saltos de página) se muestran.

CitarDU
El comando du se usa para informar de cuánto espacio en disco ocupa un archivo o directorio.

SINTAXIS:
du [opciones] directorios

OPCIONES:

  • -a   Muestra el uso de espacio de cada archivo.
  • -k   Escribe el tamaño de los archivos en unidades de 1024 octetos, en vez de las unidades de 512 octetos por defecto.
  • -s   En vez de el salida por defecto, informa sólo de la suma total de cada uno de los archivos especificados.
  • -L   Procesa los enlaces simbólicos usando el archivo o directorio al que el enlace simbólico referencia, en vez de el enlace en sí mismo.
  • -x   Cuando evalúa los tamaños de archivo, evalúa sólo esos archivos que tengan el mismo dispositivo que el archivo especificado en el operando.
  • -h Muestra los tamaños de archivo en un formato más legible.
Ejemplo:
servidor@servidor:~$ sudo du -sh /var/spool
4.6M    /var/spool


CitarECHO
El comando echo muestra la cadena dada en el entrada en el output estándar.

SINTAXIS:
echo [opciones..] [cadena]
OPCIONES:

  • -n   Suprime el caracter de nueva línea final
  • -e   Activar la interpretación de los caracteres alternativos listados debajo
  • -E   Desactivar la interpretación de esas secuencias en cadenas
Sin -E, las siguiente secuencias son reconocidas e interpoladas:

  • NNN   el caracter cuyo código ASCII es NNN (octal)
  • a   alerta (BEL)
  • \   barra inversa
  • b   retorno
  • c   suprime el caracter de nueva línea final
  • f   salto de página
  • n   nueva línea
  • r   retorno de carro
  • t   tabulación horizontal
  • v   tabulación vertical
Ejemplo:
echo "Hola Mundo"

CONTINUARA......
#8
GNU/Linux / Modo Gateway Debian Ubuntu
Marzo 14, 2015, 01:33:26 AM
MODO GATEWAY

Amigos de este foro, muchos me han preguntado por como configurar un equipo en Modo Gateway, antes que nada debemos saber que en internet se conoce por muchos nombres, como pasarela de red, modo gateway, modo router, siendo este una interconexión de redes informáticas que permite asegurar el enrutamiento de paquetes entre redes o determinar la ruta que debe tomar.

CitarPuerta de enlace o pasarela (gateway) es el dispositivo que permite interconectar redes de computadoras con protocolos y arquitecturas diferentes a todos los niveles de comunicación.

Su propósito es traducir la información del protocolo utilizado en una red inicial, al protocolo usado en la red de destino.

La puerta de enlace es normalmente un equipo informático configurado para dotar a las máquinas de una red local (LAN) conectadas a él de un acceso hacia una red exterior, generalmente realizando para ello operaciones de traducción de direcciones de red (Network Address Translation, NAT). Esta capacidad de traducción de direcciones permite aplicar una técnica llamada enmascaramiento de IP (IP Masquerading), usada muy a menudo para dar acceso a Internet a los equipos de una LAN compartiendo una única conexión a Internet, y por tanto, una única dirección IP externa.

La dirección IP de una puerta de enlace a menudo se parece a 192.168.1.1 o 192.168.0.1 y utiliza algunos rangos predefinidos, 127.x.x.x, 10.x.x.x, 172.x.x.x, 192.x.x.x, que engloban o se reservan a las redes locales.

Un equipo que haga de puerta de enlace en una red debe tener necesariamente dos tarjetas de red (Network Interface Card, NIC).

Ya habiendo definido como trabaja y que necesariamente necesita dos tarjetas de red, como dato adicional debo agregar que entre mejor capacidad tenga la tarjeta, mejor sera la velocidad tendra su Lan, es esto claro aclaro sera una mejor transferencia de datos, siendo una buena opcion a considerar si esta es: 10/100/1000Mb/s y que esta tenga habilitada la autonegocioacion y duplex full.

Configurando Interfaces de Red

Lo primero que debemos saber es que este procedimeinto lo tenemos que hacer antes de instalar Raptor, por lo menos idealmente, para esto tendremos que configurar nuestras interfaces de red, en este ejemplo tendremos a eth0 que recibe la señal de Internet y eth1 que compartirá el Internet en nuestra Lan, en este primer ejemplo eth0 sera dhcp, esto quiere decir que nuestro ISP nos dara una ip dinamica y claro eth1 que tendremos que configurar como estatica, para esto editaremos el archivo /etc/network/interfaces.

Las opciones son:

  • auto: auto seguido de la tarjeta de red hace que la tarjeta arranque automáticamente al iniciar el ordenador.
  • iface: sirve para especificar si la configuración IP la recibirá mediante DHCP o a través de la configuración local.
  • address: aquí se pone la IP que tendrá el ordenador.
  • netmask: aquí se especifica la mascara de red.
  • network: en este campo se pone la dirección IP de la red.
  • broadcast: en este otro campo la dirección de difusion.



Dandole a eth1 un rango de red 192.168.1.0/24, aunque ustedes pueden usar el rango de red que deseen, en el siguiente ejemplo es cuando nuestro ISP nos da una ip estatica:



Si algo tenemos que tener bien claro es que no podemos tener el mismo rango de red en las dos interfaces y no es que no pueda hacerlo, pero el problema sera que no tendra internet o lo tendra parcialmente, ya que no sabra por que interface salir. Al final de tener las interfaces de red configuradas tendremos que reiniciar las interfaces con:

Código (bash) [Seleccionar]
sudo service networking restart

Ahora hay que activar ip_forward para que nuestro server no ignore los paquetes que no vayan destinado a si mismo, ya que pueden ser paquetes para otros equipos y esto haría que esos equipos no obtuviesen respuesta del exterior. Para activarlo tecleamos esto en consola, aunque lo podemos agregar a nuestro script de iptables para que el cambio sea permanente:

Código (bash) [Seleccionar]
echo 1 > /proc/sys/net/ipv4/ip_forward

Configurando de Iptables

La configuracion de iptables es muy importante ya que nos permite la redireccion del puerto 80 al 3128 de squid, haciendo que squid trabaje de modo transparente y esto es beneficioso ya que no tendremos que configurar nuestros navegadores en la red para que entren al proxy y la segunda se encarga de enmascarar nuestra red para que pueda salir a Internet mediante la interfaz que nos provee el internet, lo que les comentaba al principio del post:
CitarEsta capacidad de traducción de direcciones permite aplicar una técnica llamada enmascaramiento de IP (IP Masquerading), usada muy a menudo para dar acceso a Internet a los equipos de una LAN compartiendo una única conexión a Internet, y por tanto, una única dirección IP externa.

Ahora bien mi script:
Código (bash) [Seleccionar]
########## PARAMETROS #########
INT_IN=eth0 # Interface que provee internet
INT_OUT=eth1 # interface que comparte internet a la Lan
RANGO=192.168.1.0/24
###############################
echo " Borrando las Cadenas existentes..."
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
iptables -t nat -X
iptables -t mangle -X
# Zero all packets and counters.
iptables -Z
iptables -t nat -Z
iptables -t mangle -Z
echo " Estableciendo Politica por Defecto (ACEPTAR)"
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
echo " Redireccionamos las peticiones de www hacia Squid Proxy"
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -i $INT_OUT -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A POSTROUTING -o $INT_IN -s $RANGO -j MASQUERADE
echo " Terminando la Configuracion del Firewall."


Este script lo guardan con extension .sh y le dan permisos de ejecucion asi:
Código (bash) [Seleccionar]
sudo chmod 700 /directorio/donde_se_encuentra/el_script.sh
Lo relatan en /etc/rc.local para que inicie con el sistema, de este modo:
Código (bash) [Seleccionar]
sh /directorio/donde_se_encuentra/el_script.sh

Esto antes de exit 0, aunque esto ya fue explicado aqui, ahora bien, con esto ya podemos instalar raptor no sin antes configurar el script de instalacion, para que tome la ip de la interface que compartira el internet a su red, la linea en cuestion a cambiar es:
Código (bash) [Seleccionar]
IPSERV=$(ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}')

Cambiando eth0 por la interface que como repito compartira el internet, reitero esta parte ya que es muy importante y que esta linea se repite muchas veces en el script y tienen que modificar cada una de ellas.

Como muchos sabran el modo gateway implica un poco de configuracion extra, mas que nada por seguridad, entre ellas Lista de accesos de Usuarios, Deny_Info, Delay_pools, entre otras, es cuestion de probar una por una, ojo solo si las necesitan, por lo demas espero que les sirva y cualquier duda o mejora a este post sera bien recibida, Saludos

ENLACES: interfaces, Configurar interfaces de Red.
#9
He estado trabajando en opciones de servidores de stream para un proyecto que dejado atras desde hace mucho y encontre a Plex que si bien no es el mejor pero es una muy buena opcion y trae opciones muy interesantes, acontinuacion veremos que dice nuestro eterno maestro google.


PLEX

CitarPlex organiza video, música y fotos de librerías de medios personales y hace stream de estos a smart TVs, reproductores de medios y dispositivos móviles. Es un Reproductor de medios y suite de software integrada por diferentes aplicaciones para reproducir medios asociadas a un media server que organiza los medios almacenados en dispositivos locales. Se encuentra disponible para Mac OS X, Linux, y Microsoft Windows. Plex también ofrece aplicaciones para realizar streaming para Roku y Chromecast. Los canales integrados de Plex ofrecen al usuario acceso a diferentes proveedores de contenido en línea, tales como YouTube, Vimeo, TEDTalks, y CNN entre otros. Plex también proporciona acceso a servicios de almacenamiento en la nube  incluyendo a Dropbox, Box, Google Drive, Copy y Bitcasa.

INSTALACION

Antes que nada debemos actualizar paquetes con:

Código (bash) [Seleccionar]
sudo apt-get update -y && sudo apt-get upgrade -y

Despues de esto procedemos a las fuentes y paquetes necesarios:

Código (bash) [Seleccionar]
sudo apt-get install curl -y
wget https://downloads.plex.tv/plex-media-server/0.9.11.7.803-87d0708/plexmediaserver_0.9.11.7.803-87d0708_amd64.deb
sudo dpkg -i plexmediaserver*.deb
sudo service plexmediaserver restart


O si queremos hacerlo en modo grafico podemos descargar las fuentes desde el sitio web de Plex: https://plex.tv/downloads:


Esto es a dispocision de cada quien, terminando el procedimiento de instalacion podemos probar el resultado en http://ip_server:32400/manage/index.html#, Encontraremos algo como esto:



Yo les recominedo registrarse es completamente gratis y tiene algunos beneficios, aunque tambien tiene opciones de pago,  como ven en la imagen anterior hay un boton para agregar contenido, esto nos desplegara una ventana:



Y podras elegir que tipo de contenido agregaras, pero en mi caso videos o peliculas:



Eliges la carpeta que deseas escanear.





Despues que actualice las peliculas, las podremos ver en alguna maquina que tengamos en nuestra red, lo que me gusta mas de esta aplicacion es que busca las portadas y la informacion de las peliculas, aunque tarda un poco en agregar las peliculas.





Espero que lo prueben y le den el visto bueno, claro no es perfecto, pero para mis pruebas me sirvio muchisimo, Saludos

CitarNOTA: Para que PLex guarde todos los archivos despues de reiniciar es importante editar /etc/default/plexmediaserver, en la opcion:

PLEX_MEDIA_SERVER_USER=plex

Y en vez de plex colocan su usuario.
#10
Plugins para RaptorCache / Plugins Canales de TV
Febrero 28, 2015, 05:22:09 PM
Estos plugins se encuentran en estado de prueba, pero por alguna razon te genera algun error, por favor avisar, para poder carregirlos.

Canal A&E

Código (cpp) [Seleccionar]
#include <iostream>
#include <cstring>
#include <vector>
#include "../utils.cpp"

// use this line to compile
// g++ -I. -fPIC -shared -g -o canalaetv.com.so canalaetv.com.cpp
// regex
// http.*\.canalaetv\.com.*(\.mp4|\.png|\.jpg|\.swf)

string get_filename(string url) {
                vector<string> resultado;
                if (url.find("?") != string::npos) {
                        stringexplode(url, "?", &resultado);
                        stringexplode(resultado.at(resultado.size()-2), "/", &resultado);
                        return resultado.at(resultado.size()-1);           
                } else {
                        stringexplode(url, "/", &resultado);
                        return resultado.at(resultado.size()-1);
                }
}

extern "C" resposta getmatch(const string url) {
    resposta r;

        if ( (url.find(".canalaetv.com") != string::npos)
         ) {
               
            r.file = get_filename(url);
                if (!r.file.empty()) {
                        r.match = true;
                        r.domain = "canalaetv";
                } else {
                        r.match = false;
                }
        } else {
                r.match = false;
        }
        return r;
}


Canal Sony

Código (cpp) [Seleccionar]
#include <iostream>
#include <cstring>
#include <vector>
#include "../utils.cpp"

// use this line to compile
// g++ -I. -fPIC -shared -g -o canalsony.com.so canalsony.com.cpp
// regex
// http.*\.canalsony\.com.*(\.mp4|\.png|\.jpg|\.swf)

string get_filename(string url) {
                vector<string> resultado;
                if (url.find("?") != string::npos) {
                        stringexplode(url, "?", &resultado);
                        stringexplode(resultado.at(resultado.size()-2), "/", &resultado);
                        return resultado.at(resultado.size()-1);           
                } else {
                        stringexplode(url, "/", &resultado);
                        return resultado.at(resultado.size()-1);
                }
}

extern "C" resposta getmatch(const string url) {
    resposta r;

        if ( (url.find(".canalsony.com") != string::npos)
         ) {
               
            r.file = get_filename(url);
                if (!r.file.empty()) {
                        r.match = true;
                        r.domain = "canalsony";
                } else {
                        r.match = false;
                }
        } else {
                r.match = false;
        }
        return r;
}


Universal Channel

Código (cpp) [Seleccionar]
#include <iostream>
#include <cstring>
#include <vector>
#include "../utils.cpp"

// use this line to compile
// g++ -I. -fPIC -shared -g -o universalchannel.com.so universalchannel.com.cpp
// regex
// http.*\.universalchannel\.com.*(\.mp4|\.png|\.jpg|\.swf)

string get_filename(string url) {
                vector<string> resultado;
                if (url.find("?") != string::npos) {
                        stringexplode(url, "?", &resultado);
                        stringexplode(resultado.at(resultado.size()-2), "/", &resultado);
                        return resultado.at(resultado.size()-1);           
                } else {
                        stringexplode(url, "/", &resultado);
                        return resultado.at(resultado.size()-1);
                }
}

extern "C" resposta getmatch(const string url) {
    resposta r;

        if ( (url.find(".universalchannel.com") != string::npos)
         ) {
               
            r.file = get_filename(url);
                if (!r.file.empty()) {
                        r.match = true;
                        r.domain = "universalchannel";
                } else {
                        r.match = false;
                }
        } else {
                r.match = false;
        }
        return r;
}


Saludos
#11
Bienvenidos amigos del Foro Alterserv.com en esta ocasion tendremos una guia de como instalar y configurar un Servidor DHCP en Ubuntu 14.04, 14.10 como Debian 6 y 7, la configuracion como la instalacion son iguales, pero antes miremos que dice Wikipedia de que es un DHCP:
CitarDHCP (siglas en inglés de Dynamic Host Configuration Protocol, en español «protocolo de configuración dinámica de host») es un protocolo de red que permite a los clientes de una red IP obtener sus parámetros de configuración automáticamente. Se trata de un protocolo de tipo cliente/servidor en el que generalmente un servidor posee una lista de direcciones IP dinámicas y las va asignando a los clientes conforme éstas van quedando libres, sabiendo en todo momento quién ha estado en posesión de esa IP, cuánto tiempo la ha tenido y a quién se la ha asignado después.

Debemos aceptar que un Servidor DHCP nos facilita la vida, ya que no tenemos que estar configurando manualmente cada equipo de nuestra red y como administradores de Redes entre menos tiempo utilicemos en configuraciones innecesarias mas tiempo tendremos para dedicarles a otros problemas que realmente necesitan de nuestra atención y mas cuando tenemos muchos equipos en nuestra red.

En esta guía procederemos a instalar y configurar nuestro DHCP sin un servidor DNS, si deseas configurar tu Servidor DHCP con DNS puedes revisar esta guía, aunque en ella detallo mas la configuración del Servidor DNS: Enlace

INSTALACION

Tanto en Debian como en Ubuntu instalaremos el mismo paquete:
Código (bash) [Seleccionar]
apt-get install isc-dhcp-server
Con esto procedera a instalar todos los paquetes necesarios, tambien debemos saber que los ficheros de configuracion principal de dicho paquete se encuentran en:
/etc/default/isc-dhcp-server
/etc/dhcp/dhcpd.conf


CONFIGURACION

Despues de la Instalacion procederemos a editar el archivo /etc/default/isc-dhcp-server, editando la linea donde aparece:
INTERFACES=" "

Y en la parte entre comillas procederemos a colocar la interface de red que queremos que use el servicio DHCP, de este modo:
INTERFACES="eth1"

Siendo eth1 la interface que se dirige o apunta hacia la red lan, en algunas ocasiones me han hecho la pregunta que si puedo agregar otra interface de red y claro que se puede dejando un espacio en blanco entre cada interface de este modo:
INTERFACES="eth1 eth2"

El segundo archivo de configuracion es /etc/dhcp/dhcpd.conf, el fichero consiste en una lista de directivas que podemos clasificar en dos grandes grupos:

CitarParámetros.
Los parámetros indican qué debe hacer el servidor y cómo debe hacerlo así como qué parámetros y con qué valores se asignarán a los clientes.

Tipos de Parámetros:
Todos los parámetros que empiezan con "option" describen datos que proporciona el servidor al cliente y que forma parte del protocolo.
Formato: option <nombre_parametros>   [valores]:
Los parámetros que van sin "option" describen características del servidor DHCP.

Declaraciones.
Las declaraciones permiten describir la topología de la red, indicar las características de los clientes, determinar qué rango de direcciones IP serán asignadas a los clientes. También permiten agrupar opciones de configuración (parámetros) y asignarlas a un grupo de declaraciones.

PARAMETROS Y SIGNIFICADO

Estos son los parámetros mas importantes y que veras en la mayoría de Servidores DHCP, siendo de mucha utilidad la mayoría tanto por seguridad como para una correcta configuración.




Citarone-lease-per-client on;
Cuando esta opción está en "on" y un cliente solicita una asignación, el servidor libera automáticamente cualquier otra asignación que tenga ese cliente. Se supone que si el cliente hace una solicitud es porque ha olvidado que tuviera alguna, es decir tiene un solo interfaz de red. Si no se da esta situación en los clientes hay que usar este parámetro con precaución.

server-identifier IP;
Este parámetro identifica el nodo que alberga el servicio DHCP. Sólo se deber usar cuando el nodo tenga más de una dirección IP asignada al interfaz.

option netbios-name-servers IP;
Definimos ls dirección del servidor WINS para NetBios. Solamente en caso de ser necesario, usado mas que nada cuando se usa un servidor de archivos como samba

Ahora bien tomando en cuenta los parametros anteriores, podremos configurar nuestro servidor DHCP, sabiendo que una mala configuracion tambien puede causar estos problemas:




En algunos casos tendran internet y podran navegar, pero con algunos problemas de seguridad que cualquier sistema operativo podra detectar, pero en algunos casos ni podran conectarse al servidor DHCP, en mis pruebas me tope con algunas malas configuraciones en las cuales me decia que no tenia acceso a internet pero si lo tenia, pero advierte que algunos parametros estan incompletos, veremos como ejemplo mi configuracion actual de prueba sin servidor DNS:

Citarserver-identifier ns1.leondejuda.gt; # Como me identifico en localhost
ddns-update-style none;  # ninguna actualizacion del DNS ya que no lo uso.
ignore client-updates;  # ignorar o no permitir la actualizacion del DNS en caso que el cliente lo pida.
authoritative;  # como este es el unico Servidor DHCP de la red, le sedo la mayor importancia.

subnet 192.168.1.0 netmask 255.255.255.0 {  # declarando una subred
   option domain-name-servers 8.8.8.8, 8.8.4.4;  # declarando Servidores DNS externos.
   option domain-name "leondejuda.gt";  # declarando mi nombre de Dominio.
   option routers 192.168.1.1; # declarando mi Puerta de enlace.
   option broadcast-address 192.168.1.255;   # Declarando mi direcccion de Difusion o broadcast.
   option subnet-mask 255.255.255.0;   # Declarando mi mascara de subred.
        option netbios-name-servers 192.168.1.1;  # esta opcion me ayuda con samba.
        option netbios-dd-server 192.168.1.1;   # esta opcion me ayuda con samba.
        option netbios-node-type 8;  # esta opcion me ayuda con samba.
        range 192.168.1.2 192.168.1.7;   #  Rango de Ips que el Servidor DHCP dara en uso.
        }

Si se dan cuenta declaro todos los parametros option, dentro de la subred como parametros locales, esto por mayor seguridad, ya que muchas veces pasa como los errores anteriores y mas cuando declaramos varias subredes, siendo de vital importancia en cada subred declarar: nombre de dominio, puerta de enlace o gateway, broadcast, mascara de subred, servidores DNS, rango de subred, ya que son parametros importantes cuando uno configura una interface de red manualmente, obteniendo este resultado:



Un servidor DHCP correctamente configurado no les causara ningun problema y como dije anteriormente les facilitara la vida, en mi caso asigno un rango pequeño o justo a mis necesidades, para evitar usuarios indeseados, como tambien agrego una acl en squid para permitir las mismas IPS que hace uso el Servidor DHCP.

Fuentes: DHCP en Ubuntu, Servicio DHCP en Linux, option.

Espero les Sirva, Saludos
#12
Plugins de juegos / Plugin Turner.com
Enero 06, 2015, 11:24:39 PM
Como algunos sabran este sitio aloja mp3 y es usado por muchos lugares para descarga de musica, antes posteado por mi de esta forma: http://www.alterserv.com/foros/index.php?topic=262.0, el cual fue modificado por que el sitio de cartoon network usaba este sitio para alojamiento de imagenes y videos, lo podran encontrar aca: http://www.alterserv.com/foros/index.php?topic=384.msg3035#msg3035, pero resulta que tuve que hacerle otra modificacion ya que CNN en español usa este mismo servidor para su contenido, quedando de esta manera:

Código (cpp) [Seleccionar]
#include <iostream>
#include <cstring>
#include <vector>
#include "../utils.cpp"

// g++ -I. -fPIC -shared -g -o turner.com.so turner.com.cpp
// regex
// http.*\.turner\.com.*(\.jpg|\.png|\.flv|\.swf|\.mp3)

string dominiotxt="turner";
string get_filename(string url) {
vector<string> resultado;
if (url.find("?") != string::npos) {
stringexplode(url, "?", &resultado);
stringexplode(resultado.at(resultado.size()-2), "/", &resultado);
return resultado.at(resultado.size()-1);           
} else {
stringexplode(url, "/", &resultado);
return resultado.at(resultado.size()-1);
}
}

extern "C" resposta getmatch(const string url) {
    resposta r;

    if ( (url.find("/CARTOON/") != string::npos)
       ) {
    dominiotxt="turner_cartoon";
    }
    if ( (url.find("/toon/") != string::npos)
       ) {
    dominiotxt="turner_cartoon2";
    }
    if ( (url.find("/toonla/") != string::npos)
       ) {
    dominiotxt="turner_cartoonla";
    }
    if ( (url.find("/cnnnext/") != string::npos)
       ) {
    dominiotxt="Cnn_Español_Img";
    }
    if ( (url.find(".turner.com/") != string::npos) and
   ((url.find(".jpg")!= string::npos) or
   (url.find(".png") != string::npos) or
   (url.find(".mp3") != string::npos) or
   (url.find(".swf") != string::npos))
       ) {

   r.file = get_filename(url);
                if (!r.file.empty()) {
                        r.match = true;
                       r.domain = dominiotxt;
                } else {
                        r.match = false;
                }
        } else {
                r.match = false;
        }
        return r;
}


Saludos
#13
LOGFORMAT

En esta ocasion amigos de alterserv.com y visitantes de este foro, deseo hablarles de una directiva o parametro de configuracion de squid llamado logformat, el cual se encarga de darle formato a los logs de squid, por defecto dicho parametro biene asi:

logformat squid  %ts.%03tu %6tr %>a %Ss/%03Hs %<st %rm %ru %un %Sh/%<A %mt

El cual nos provee un log en este formato:



Mucho de los problemas de este formato es que no podemos ver la fecha y hora que dichas peticiones fueron hechas y los parametros de configuracion de dicho parametro tambien nos son desconocidas, primero veremos las variables de configuracion de fotmatlog:

PARAMETROS DE CONFIGURACION

La sintaxis basica de cada parametro sera comenzada con un % y en caso de tener tambien un caracter numerico este representara el espacio que tendra de la variable contigua hacia la derecha.


CitarParametros o Argumetos      
     {} Modificador o argumento. También se utiliza para especificar los nombres de cabecera
     > Solicitud (cliente)
     < Respuesta (servidor)
     a una dirección
     A nombre de la dirección
     h todos los encabezados
     i identidad
     p puerto
     r línea de petición (sin consulta)
     t tiempo
     u usuario
     l dirección / puerto local (donde se aceptó la solicitud)

Variables Definidas
Citar%>a Direccion IP del cliente

%>A Cliente FQDN

%>p Puerto de origen del cliente

%<a Direccion IP de Servidor o cache espejo

%<p Numero de puerto del Servidor o cache espejo

%<A Direccion IP del servidor o nombre del cache espejo

%la Direccion IP local cuando la peticion fue aceptada

%lp Puerto local cuando la peticion fue aceptada

%lA Nombre del Puerto local cuando la peticion fue aceptada

%ts Fecha de la solicitud, segundos desde la epoca.

%{format}tl Fecha de la solicitud en formato localtime

%{format}tg Fecha de la solicitud en formato GMT

%tu Fecha de la solicitud, compuesta por sub-segundos

%tr Tiempo en servir la solicitud en milisegundos

%{header}>h Solicitar encabezados

%un Nombre de usuarios autenticado

%ur Reino del usuario autenticado

%us Esquema del susario autenticado

%ui identidad del usuario o nombre de usuario

%Hs Codigo de Status HTTP (200, 404, 407, etc)

%Ht Texto de estado HTTP (Not found, etc)

%Ss Codigo de estatus de Squid  (TCP_HIT, TCP_MISS etc)

%Se Codigo de error de Squid (ERR_DENIED, ERR_...)

%Sh Codigo de jerarquia Squid (FIRST_UP_PARENT, etc)

%mt Tipo MIME de la peticion

%rm Metodo de solicitud.

%ru Solicitar Url, sin la cadena de consulta.

%rq cadena de consulta solicitada, incluyendo ?

%rp Peticion de Protocolo (i.e. HTTP/1.1)

%ps Estado de seleccion de pares (DIRECT, PARENT, CD_PARENT_HIT, etc. including the TIMEDOUT_ variant)

%>sl Tamaño de la peticion

%>sh Tamaño de la peticion de cabezera

%>sH Tamaño de la peticion de cabezera, excluyendo solicitud

%>st Tamaño total de la peticion

%<st Tamaño total de respuesta

Ahora bien ya estudiando un poco cada variable de configuracion podemos agregarle a nuestros logs la informacion que requiramos o necesitemos, un ejemplo que cite fue la fecha en formato legible para humanos, siendo de esta manera:

logformat squid %tg %6tr %>a %Ss/%03>Hs %<st %rm %ru %un %Sh/%<a %mt

Viendose de esta manera:



Espero que experimenten con este parametro para poder realizar sus logs a medida, aunque debo decir que despues de algunas pruebas que hice previo a un mensaje de uno de los usuarios de este foro, me di cuenta que este metodo provoca errores con sarg y muchas veces no genera el reporte, entonces busque la opcion mas comentada en internet que es un:

tail -f /var/log/squid/access.log | perl -pe 's/[\d\.]+/localtime($&)/e'

El cual nos ayudara a obtener casi el mismo resultado en el log, sin perjudicar los reportes de sarg, ahora bien para poder tenerlo en nuestro webpanel tendremos que modificar uno de los php del webpanel, que se encuentra en var raptor aclogsq.php, dejando este parametro:

<?php system("sudo tail -40 /var/log/squid3/access.log"); ?>

Asi:

<?php system("sudo tail -40 /var/log/squid3/access.log | perl -pe 's/[\d\.]+/localtime($&)/e'"); ?>

Saludos

Fuente: http://devel.squid-cache.org/customlog/logformat.html
#14
Squid 2.7 & Squid 3.x / Deny_info Configuracion
Diciembre 09, 2014, 01:15:21 AM
Antes que nada les doy las gracias a cada uno de los usuarios de altrserv.com por la oportunidad de compartir mis conocimientos y de mis experiencias en este mundo de linux, como tambien a los interesados en este tema muy interesante y muy poco comentado en la red y como veran tiene sus beneficios.

DENY INFO

En esta ocasion hablaremos de un parametro de configuracion de squid llamado deny_info, el cual nos permite redirigir a paginas de error o a urls de nuestra eleccion cuando halla un error o cuando se deniege alguna pagina, pero en las propias palabras de squid:

CitarEsto puede utilizarse para devolver una página ERR_ para solicitudes que no pasan las reglas 'http_access. Squid recuerda la última ACL se evaluó en http_access, y si existe una línea 'deny_info' para que ACL Squid devuelve una página de error correspondiente.

La acl es normalmente la última acl en el http_access deny que niega el acceso. Las excepciones a esta regla son:

- Cuando Squid necesita solicitar credenciales de autenticación. Es entonces la primera acl despues de la autenticación relacionada.
- Cuando ninguna de las líneas http_access es deny. Es entonces la última acl de http_access.

Podemos usar las paginas de error de squid para poder redireccionarlas, estas se encuentran en /usr/share/squid3/errors/, en la cual escogeran el idioma que ustedes prefieran, aunque normalmente escoge el que tengamos en nuestro sistema como predeterminado en la instalacion del sistema operativo, como tambien redirigirla a una pagina Web hecha por nosotros; Ejemplo:
acl mired src "/etc/squid3/mired.txt"
acl denegados dstdomain -i "/etc/squid3/denegados.lst"
http_access allow mired !denegados
deny_info /home/index.html denegados
http_access deny denegados


O podemos cambiarlo por ejemplo en español con esta directiva de configuracion de squid, dentro de squid.conf
error_directory /usr/share/squid/errors/Spanish

Usando las paginas de error que nos provee squid, en este ejemplo utilizaremos la pagina de error de acceso denegado:
acl mired src "/etc/squid3/mired.txt"
acl denegados dstdomain -i "/etc/squid3/denegados.lst"
http_access allow mired !denegados
deny_info ERR_ACCESS_DENIED denegados
http_access deny denegados


Y alternativamente se puede usar una url a discrecion para redireccionar en caso no se cumpla con una acl, Ejemplo:
acl mired src "/etc/squid3/mired.txt"
acl denegados dstdomain -i "/etc/squid3/denegados.lst"
http_access allow mired !denegados
deny_info http://google.com.gt denegados
http_access deny denegados


En este caso yo redirecciono a google, es muy util cuando no deseas agregar paginas de error o como explique puedes redireccionar a una pagina de error de squid o hacer tu propia pagina de error, ya que hay personas que quieren dejar en claro por que fue bloqueado, Espero les Sirva, Saludos

Fuentes: Deny_Info.
#15
Plugins de música & videos / RedTube.com XXX
Diciembre 03, 2014, 01:48:13 AM
Por pedido de un usuario hice este plugin, sabiendo de antemano que dentro de la instalacion ya esta este plugin, con la diferencia que este guarda las imagenes de dicho sitio y el anterior no:

Código (bash) [Seleccionar]
#include <iostream>
#include <cstring>
#include <string>
#include <vector>
#include "../utils.cpp"

using namespace std;

// use this line to compile
// g++ -I. -fPIC -shared -g -o redtubefiles.com.so redtubefiles.com.cpp
// Regex
// http.*\.redtubefiles\.com.*(\.jpg|\.flv|\.mp4)

string get_filename(string url) {
      vector<string> resultado;
                if (url.find("?") != string::npos) {
                        stringexplode(url, "?", &resultado);
                        stringexplode(resultado.at(resultado.size()-2), "/", &resultado);
                        return resultado.at(resultado.size()-3)+"_"+resultado.at(resultado.size()-2)+"_"+resultado.at(resultado.size()-1);           
                } else {
                        stringexplode(url, "/", &resultado);
                        return resultado.at(resultado.size()-3)+"_"+resultado.at(resultado.size()-2)+"_"+resultado.at(resultado.size()-1);
                }
    }

extern "C" resposta getmatch(const string url) {
    resposta r;     
               
  if ( (url.find(".redtubefiles.com/") != string::npos)
     ) {

   r.file = get_filename(url);
                if (!r.file.empty()) {
                        r.match = true;
                       r.domain ="redtube";
                } else {
                        r.match = false;
                }
        } else {
                r.match = false;
        }
        return r;
}


Saludos
#16
Plugins de música & videos / Cerdas.com XXX
Diciembre 03, 2014, 01:31:39 AM
Peticion de un usuario del foro:

Código (cpp) [Seleccionar]
#include <iostream>
#include <cstring>
#include <vector>
#include "../utils.cpp"

using namespace std;

// use this line to compile
// g++ -I. -fPIC -shared -g -o cerdas.com.so cerdas.com.cpp
// regex
// http.*\.cerdas\.com.*(\.mp4|\.mp3|\.jpg|\.flv)

string get_filename(string url) {
                vector<string> resultado;
        string retorna = "";
        stringexplode(url, "/", &resultado);
        retorna = resultado.at(resultado.size()-2) + "-"+resultado.at(resultado.size()-1);
        return retorna;
}

extern "C" resposta getmatch(const string url) {
    resposta r;

        if ( (url.find(".cerdas.com") != string::npos)
         ) {
               
      r.file = get_filename(url);
      if (!r.file.empty()) {
         r.match = true;
         r.domain = "cerdas.com";       
      } else {
         r.match = false;
      }
   }
   else
   {
      r.match = false;
   }
   return r;
}


Saludos
#17
Bienvenidos amigos del Foro Alterserv.com en esta ocasion vengo aclarando unas dudas al instalar nuestro sistema operativo, ya sea Debian o cualquier otro, como tambien estare resolviendo dudas sobre la instalacion y dando soporte por si tuvieran algun problema en la instalacion de Raptor, lo hago para que no ses genere mas temas sobre los mismo problemas y claro empezare con lo mas basico.

¿QUE ARQUITECTURA USAR  32 ó 64 BITS?
CitarCuando quieres descargar una distribución Linux tienes la opción de elegir entre la versión de 32 bits o la de 64 bits, entre otras cosas. Muchos usuarios no saben cual de ellas elegir y en que basarse para tomar esa decisión y os quiero ayudar un poco en este aspecto. Todo lo que os voy a aclarar es para cualquier distribución Linux, sea cual sea.

Lo primero seria aclarar que con las dos versiones vais a poder hacer lo mismo pero con la versión de 64 bits podéis aprovechar mas los recursos de vuestro ordenador ya que funcionara mas rápido, aunque tampoco es una diferencia muy grande.

Como primera medida, es necesario destacar que la terminología "PC de 32 o 64 bits" hace referencia tanto a la arquitectura del procesador como al sistema operativo utilizado para moverlo, es decir ambas cosas van de la mano, por lo menos en la mayoría de los casos. Hecha esta aclaración, comenzamos de lleno con el artículo.

Básicamente, la principal diferencia entre un procesador de 32 bits y uno de 64 bits es que el primero puede procesar secuencia de bits de hasta 32 bits, mientras que los procesadores de 64 bits pueden extender al doble esta capacidad. Como sabemos, el procesador de una PC es el encargado de realizar todos los cálculos lógicos y matemáticos con el fin de obtener los resultados solicitados por el usuario, y para ello deben manejar paquetes de información a una determinada velocidad. En este punto la principal diferencia entre ambas plataformas es que en el caso de los procesadores de 64 bits, estos pueden trabajar con el doble de información en el mismo ciclo de reloj que uno de 32 bits, lo que les permite pueden acceder a mayor capacidad de memoria y procesar bloques de datos mucho más grandes, aumentado el rendimiento y la velocidad de proceso general.

Otra razón por la que elegir el de 32 o 64 bits es la memoria RAM, pero en Linux hace tiempo que solucionaron esto con un parche o extensión en el Kernel llamada PAE. Un sistema operativo de 32 bits solo puede gestionar 4 GB de RAM, es decir, si tenéis un ordenador con 8 GB de RAM, teóricamente con el sistema operativo de 32 bits solo podrías usar 4 GB de la 8GB y las restantes 4GB quedarían como si no estuviesen físicamente en el ordenador, pero en Linux, durante el proceso de instalación, se selecciona de forma automática el Kernel necesario para que aprovechemos toda la RAM, sea de 32 o 64 bits.

DEBIAN

En este punto que ya se ha aclarado las diferencias de 32 y 64 bits, pero si aun despues de esto no sabemos si nuestro equipo es de 32 o 64bits pueden teclear esto en consola:
uname -m

Si la respuesta es x86_64, su sistema es de 64bits y si su respuesta es i686, su sistema es de 32bits.
Ahora si ya definimos este punto, deberemos elegir nuestro iso para instalar Debian 7, ya que es la version estable de Debian:
64bits
http://cdimage.debian.org/debian-cd/7.7.0/amd64/iso-cd/debian-7.7.0-amd64-netinst.iso
32bits
http://cdimage.debian.org/debian-cd/7.7.0/i386/iso-cd/debian-7.7.0-i386-netinst.iso

No enfatizare en como instalar Debian 7, ya que hay muchos tutoriales en Internet sobre este tema, pero aca una muestra de como instalar de Raptor en Debian:


Por lo demas estare al pendiente de este tema, para ayudarles con respecto a la instalacion de Raptor, Saludos


FUENTES: fuente1, fuente2
#18
GNU/Linux / Dialog Cuadros de Dialogo en Linux
Noviembre 25, 2014, 01:28:18 PM
Buen Dia a todos los amigos que visitan el foro alterserv.com en esta ocasion vengo presentando una herramienta que es bastante util al momento de hacer un poco mas graficos nuestros scripts, ya que la consola puede ser un poco aburrida con sus colores apagados, pero Dialog es una herramienta que nos permite darle vida a nuestros scripts, como tambien se vean muy faciles de entender, para cualquier principiante o novato en el ambito de entornos GNU/Linux, tambien quiero agregar que esta herramienta no es nada nueva y viene en la configuracion de muchos paquetes de cualquier distribucion Linux y normalmente ya viene instalado por defecto, pero por las dudas pueden instarlo de esta manera:

Código (bash) [Seleccionar]
sudo apt-get install dialog pv

    [ul]



    En el caso de PV talvez no este instalado pero les servira para las barras de progreso y algunos otros detalles.

    Es un programa que permite presentar una serie de preguntas o mensajes en pantalla mediante cuadros de diálogos desde la shell.

    Entre ellos estan:
    • lista de selección
    • caja de edición
    • formularios
    • selección de ficheros
    • selección de directorios
    • campos
    • menús
    • cuadro de mensajes
    • campo para contraseña
    • barra de progreso
    • lista de radios
    • cuadro de texto
    • cuadro si/no
    [/ul]

Sería muy potente si se utilizara para la administración de sistemas, es usado también para instalación de distribuciones, configuración de aplicaciones, eso depende de su imaginación y lo que quiera para su sistema. Permite el control de programas en tiempo de ejecución. Para este caso el comando de diálogo ofrece una manera más fácil de dibujar en modo de texto cajas o cuadros con colores. Estos cuadros pueden contener cuadros de texto, cuadros de mensaje o diferentes tipos de menús.

Opciones

Esta herramiente provee una seria de opciones para personalizar y mejorar los cuadros de dialogo, hay muchas opciones usadlas bien.

Citar--ascii-lines
En lugar de dibujar las líneas de gráficos alrededor de las cajas, dibuja con "+" y "-" en el mismo lugar.

--aspect ratio
Esto le da cierto control sobre las dimensiones de la caja cuando se utiliza el tamaño automático (0 para especificar ancho y alto). Representa ancho/alto. El valor predeterminado es de 9, lo que significa 9 caracteres para cada línea de un alto.

--backtitle backtitle
Especifica una cadena backtitle que se mostrará en el telón de fondo, en la parte superior de la pantalla.

--begin y x
Especifica la posición de la esquina superior izquierda de un cuadro de diálogo en la pantalla.

--cancel-label string
Ignora la etiqueta utilizada en "Cancelar" botones.

--clear
Limpia la pantalla, manteniendo sólo el color del fondo de la pantalla. Utilizar esta opción cuando se combinan más de un cuadro de diálogo. Permite borrar el cuadro anterior, de esta forma se trabaja más limpio y organizado.

--defaultno
Hace que el valor predeterminado del cuadro yes/no sea No. Del mismo modo, hacer que el botón por defecto de los cuadros que proporcionan "OK" y "Cancelar" sea Cancel. Si "--nocancel" o "--visit-items" están presente estas opciones se anula este, haciendo que el botón por efecto siempre sea "Sí" (internamente igual que en "Aceptar").

--default-item string
Establece el elemento predeterminado de un cuadro de lista, formulario o el menú. Normalmente, el primer elemento de la caja es el valor predeterminado.

--exit-label string
Reemplaza la etiqueta que se utiliza para los botónes "EXIT".

--extra-button
Muestra un botón adicional, entre "Aceptar" y los botones de "Cancelar".

--extra-label string
Reemplaza la etiqueta que se utiliza para el botón "Extra".

--help-button
Mostrar un botón de ayuda después de los botones "OK" y "Cancelar".

--help-label string
Reemplaza la etiqueta usada por el botón "Help".

--help-status
Si se selecciona el botón de ayuda, escribe la información de la lista de verificación, lista de radios o el formulario después de la información de ayuda "HELP". Esto se puede utilizar para reconstruir el estado de una lista de verificación después de procesar la solicitud de ayuda.

--ignore
Ignora las opciones de diálogo que no reconoce. Entre los más conocidos están "--icon" de todos modos se tienen en cuenta, pero esto es una mejor opción para la compatibilidad con otras implementaciones.

--item-help
Interpreta los datos de las etiquetas para las cajas de lista, y lista de radios agregando una columna que se muestra en la línea inferior de la pantalla, para el elemento seleccionado.

--keep-tite
Normalmente comprueba si se está ejecutando en un xterm, y en ese caso trata de suprimir las cadenas de inicialización que se haría pasar a la pantalla. Use esta opción para permitir el uso de diálogo para las cadenas de inicialización.

--max-input size
Límite de cadenas de entrada con el tamaño dado. Si no se especifica, el límite es de 2048.

--nocancel
Suprimir el botón "Cancel" en la lista de control, caja de texto y los modos de menú de la caja.

--no-label string
Reemplaza la etiqueta usada por el botón "No".

--no-shadow
Suprime las sombras que se dibuja a la derecha e inferior de cada cuadro de diálogo.

--ok-label string
Reemplaza la etiqueta usada por el botón "OK".

--print-size
Imprime el tamaño de cada cuadro de diálogo para la salida del mismo.

--shadow
Dibuja una sombra a la derecha e inferior de cada cuadro de diálogo.

--title title
Especifica el título que se mostrará en la parte superior del cuadro de diálogo.

--yes-label string
Reemplaza la etiqueta usada por el boton "Yes".

--create-rc <file>
Crea un fichero de configuración de ejemplo.

Actualmente estoy usando esta herramienta para poder hacer el script de instalacion un poco mas amigable en la consola, unas imagenes para puedan darse una idea:






En breve estare posteando los ejemplos de como los hice, ya que cada post tiene un limite de palabras que ya casi supere, pero din falta estare publicando, Saludos
#19
Plugins para RaptorCache / Plugin tinypic.com
Junio 26, 2014, 10:05:17 PM
Es un hosting de imágenes medianamente bueno y ultimamente muy  usado en mi red:

Código (cpp) [Seleccionar]
#include <iostream>
#include <cstring>
#include <string>
#include <vector>
#include "../utils.cpp"

using namespace std;

// use this line to compile
// g++ -I. -fPIC -shared -g -o tinypic.com.so tinypic.com.cpp
// Regex
// http.*\.tinypic\.com.*(\.swf|\.jpg|\.png)

string get_filename(string url) {
                vector<string> resultado;
                if (url.find("?") != string::npos) {
                        stringexplode(url, "?", &resultado);
                        stringexplode(resultado.at(resultado.size()-2), "/", &resultado);
                        return resultado.at(resultado.size()-1);           
                } else {
                        stringexplode(url, "/", &resultado);
                        return resultado.at(resultado.size()-1);
                }
}

extern "C" resposta getmatch(const string url) {
        resposta r;       
               
  if ( (url.find(".tinypic.com/") != string::npos)
     ) {
      r.file = get_filename(url);
      if (!r.file.empty()) {
         r.match = true;
         r.domain = "tinypic";       
      } else {
         r.match = false;
      }
   }
   else
   {
      r.match = false;
   }
   return r;
}


Saludos
#20
Estaba viendo que SonicoMusica tiene un hermano que solo reproduce musica cristiana, aqui el plugin funcionando y probado.

Código (cpp) [Seleccionar]
#include <iostream>
#include <cstring>
#include <vector>
#include "../utils.cpp"

// g++ -I. -fPIC -shared -g -o sonicocristiano.com.so sonicocristiano.com.cpp
// regex
// http.*\.sonicocristiano\.com.*(\.sm3|\.jpg|\.flv|\.gmu)

string get_filename(string url) {
               vector<string> resultado;
               if (url.find("?") != string::npos) {
                       stringexplode(url, "?", &resultado);
                       stringexplode(resultado.at(resultado.size()-2), "/", &resultado);
                       return resultado.at(resultado.size()-1);          
               } else {
                       stringexplode(url, "/", &resultado);
                       return resultado.at(resultado.size()-1);
               }
}

extern "C" resposta getmatch(const string url) {
   resposta r;

       if ( (url.find(".sonicocristiano.com/") != string::npos)
            ) {
               
           r.file = get_filename(url);
               if (!r.file.empty()) {
                       r.match = true;
                       r.domain = "sonicocristiano";
               } else {
                       r.match = false;
               }
       } else {
               r.match = false;
       }
       return r;
}


Espero que les sirva, Saludos