Add Funcion Compilador.sh

Publicado por centronick, Noviembre 25, 2013, 12:01:51 PM

Tema anterior - Siguiente tema

centronick

#!/bin/bash
echo "+=====================================================================+"
echo "|              No olvides de copiar los Regex necesarios!             |"
echo "|                  Comienza el compilado de plugins                     |"
echo "|                                                                                   |"
echo "+=====================================================================+"
echo Si estas seguro enter para continuar con el compilado...
read -n 0 -ers
for i in *.cpp ; do
i2=`echo $i|sed -e "s/cpp/so/g"`
  echo "Compilando plugin $i"
  g++ -I. -fPIC -shared -o $i2 $i
echo "Cambiando permisos"
chmod 777 *.so
echo "Copiando plugin compilados"
cp -p *.so /etc/raptor/pluginmaker/plugins/so/
echo "Haciendo backup de plugins en la Carpeta /so"
mv *.so /etc/raptor/plugins/
done
echo "Haciendo backup de .cpp en Carpeta /cpp"
mv *.cpp /etc/raptor/pluginmaker/plugins/cpp/
echo "+=====================================================================+"
echo "|             Tarea finalizada sus plugins estan activos              |"
echo "|                                                                                  |"
echo "|                                                                                  |"
echo "+=====================================================================+"
echo enter para reiniciar los servicios...
read -n 0 -ers
/etc/init.d/raptor restart && /etc/init.d/squid3 restart



Ese es el antiguo

VAmos al nuevo esta bueno porque almacena los regex pero le falta guardar los archivos en las carpetas co y cpp para cuando compilemos de nuevo no copie el mismo regex del plugins anteriormente guardado

Seria bueno que los moviera a sus recpectivas carpetas..

    #!/bin/bash
    R=`echo "\033[01;31m"` # Rojo
    A=`echo "\033[01;34m"` # Azul
    N=`echo "\033[m"`      # Normal
    echo -e "$R +=====================================================================+"
    echo -e "$R |                   SCRIPT PARA COMPILAR PLUGINS EN MASA              |"
    echo -e "$R |                               FORO ALTERSERV                        |"
    echo -e "$R |                                                                     |"
    echo -e "$R +=====================================================================+$N"
    echo enter para continuar...
    read -n 0 -ers
    echo -e "$R MOVIENDOSE A DIRECTORIO $N"
    cd /etc/raptor/pluginmaker/plugins/
    for i in *.cpp ; do
    i2=`echo $i|sed -n "s/cpp/so/g"`
    echo -e "$A Compilando $i $N"
    g++ -I. -fPIC -shared -g -o ${i%.*}.so ${i%.*}.cpp
    done
    sleep 1
    echo -e "$R MOVIENDO PLUGINS $N"
    sleep 1
    mv *.so /etc/raptor/plugins/
    sleep 1
    echo -e "$R CAMBIANDO PERMISOS $N"
    sleep 1
    chmod 777 -Rf /etc/raptor/plugins/
    sleep 1
    echo -e "Elegir el lugar donde se almacenara el regex" "$R Ej: /etc/raptor/regex.txt $N:"
    read CARPETA
    cat *.cpp | grep -e 'http*' >> $CARPETA
    exit 0

firecold

Amigo el el hecho de guardar los .cpp en otra carpeta esta muy buena la idea, pero la idea de guardar los .so creo que es un desperdicio de espacio, ya que replicarias en dos lugares el mismo archivo, desde mi punto de vista lo veo innecesario y para implementar tu idea en el script antiguo solo habria que agregar un par de lineas, dejandolo de este modo:

Código (bash) [Seleccionar]
#!/bin/bash
R=`echo "\033[01;31m"` # Rojo
A=`echo "\033[01;34m"` # Azul
N=`echo "\033[m"`      # Normal
echo -e "$R +=====================================================================+"
echo -e "$R |                   SCRIPT PARA COMPILAR PLUGINS EN MASA              |"
echo -e "$R |                               FORO ALTERSERV                        |"
echo -e "$R |                                                                     |"
echo -e "$R +=====================================================================+$N"
echo Pulsa Enter para continuar...
read -n 0 -ers
echo -e "$R MOVIENDOSE A DIRECTORIO $N"
cd /etc/raptor/pluginmaker/plugins/
for i in *.cpp ; do
i2=`echo $i|sed -n "s/cpp/so/g"`
echo -e "$A Compilando $i $N"
g++ -I. -fPIC -shared -g -o ${i%.*}.so ${i%.*}.cpp
done
sleep 1
echo -e "$R MOVIENDO PLUGINS Y CODIGOS $N"
sleep 3
mv *.so /etc/raptor/plugins/
mkdir /etc/raptor/pluginmaker/plugins/cpp/
mv *.cpp /etc/raptor/pluginmaker/plugins/cpp/
sleep 1
echo -e "$R CAMBIANDO PERMISOS $N"
sleep 1
chmod 777 -Rf /etc/raptor/plugins/
sleep 1
echo -e "Elegir el lugar donde se almacenara el regex" "$R Ej: /etc/raptor/regex.txt $N:"
read CARPETA
cat *.cpp | grep -e 'http*' >> $CARPETA
exit 0


Aparte de todo este script lo puedes colocar en cualquier lado del sistema y compilar los plugins sin ningún problema y tu script hay que colocarlo necesariamente en la carpeta en cuestion, ya que el detalle es hacer las cosas mas faciles, e ahi un problema y el otro como tu ya lo mencionaste es el asunto del regex que es muy conveniente agruparlo en un solo archivo, para posteriormente pasarlo a raptor.lst, Saludos

centronick

Cita de: firecold en Noviembre 25, 2013, 01:25:35 PM
Amigo el el hecho de guardar los .cpp en otra carpeta esta muy buena la idea, pero la idea de guardar los .so creo que es un desperdicio de espacio, ya que replicarias en dos lugares el mismo archivo, desde mi punto de vista lo veo innecesario y para implementar tu idea en el script antiguo solo habria que agregar un par de lineas, dejandolo de este modo:

Código (bash) [Seleccionar]
#!/bin/bash
R=`echo "\033[01;31m"` # Rojo
A=`echo "\033[01;34m"` # Azul
N=`echo "\033[m"`      # Normal
echo -e "$R +=====================================================================+"
echo -e "$R |                   SCRIPT PARA COMPILAR PLUGINS EN MASA              |"
echo -e "$R |                               FORO ALTERSERV                        |"
echo -e "$R |                                                                     |"
echo -e "$R +=====================================================================+$N"
echo Pulsa Enter para continuar...
read -n 0 -ers
echo -e "$R MOVIENDOSE A DIRECTORIO $N"
cd /etc/raptor/pluginmaker/plugins/
for i in *.cpp ; do
i2=`echo $i|sed -n "s/cpp/so/g"`
echo -e "$A Compilando $i $N"
g++ -I. -fPIC -shared -g -o ${i%.*}.so ${i%.*}.cpp
done
sleep 1
echo -e "$R MOVIENDO PLUGINS Y CODIGOS $N"
sleep 3
mv *.so /etc/raptor/plugins/
mkdir /etc/raptor/pluginmaker/plugins/cpp/
mv *.cpp /etc/raptor/pluginmaker/plugins/cpp/
sleep 1
echo -e "$R CAMBIANDO PERMISOS $N"
sleep 1
chmod 777 -Rf /etc/raptor/plugins/
sleep 1
echo -e "Elegir el lugar donde se almacenara el regex" "$R Ej: /etc/raptor/regex.txt $N:"
read CARPETA
cat *.cpp | grep -e 'http*' >> $CARPETA
exit 0


Aparte de todo este script lo puedes colocar en cualquier lado del sistema y compilar los plugins sin ningún problema y tu script hay que colocarlo necesariamente en la carpeta en cuestion, ya que el detalle es hacer las cosas mas faciles, e ahi un problema y el otro como tu ya lo mencionaste es el asunto del regex que es muy conveniente agruparlo en un solo archivo, para posteriormente pasarlo a raptor.lst, Saludos

Aun no he provado de esta manera ejemplo si le digo que me guarde los regex en raptor.lst no le pasa nada a los que ya estan

No habra otra manera de comprovar si el regex ya exixte para no duplicar
Seria lo merjor para completarlo y gracias a ver que mas ideas van surgiendo
Falto /etc/init.d/raptor restart && /etc/init.d/squid3 restart

firecold

Cita de: centronick en Noviembre 25, 2013, 04:20:17 PM
Aun no he provado de esta manera ejemplo si le digo que me guarde los regex en raptor.lst no le pasa nada a los que ya estan

No habra otra manera de comprovar si el regex ya exixte para no duplicar
Seria lo merjor para completarlo y gracias a ver que mas ideas van surgiendo
Falto /etc/init.d/raptor restart && /etc/init.d/squid3 restart

no seria lo ideal en este momento ya que si ejemplo en el plugin se encuentra el regex asi:

Código (bash) [Seleccionar]
\\  http.*\.blogger\.com.*(\.swf|\.jpg|\.png|\.gif)

Entonces tambien copia los \\ y los espacios en blanco, por eso por el momento no dejo el reiniciar servicios ya que todavía habría que quitar esto para que los plugins estén activos realmente, por eso recomiendo por el momento que no sea en el raptor.lst, hasta que se mejore el script para eliminar los \\ y los espacios y ahi si agregar el reinicio de servicios, Saludos

centronick

Cita de: firecold en Noviembre 25, 2013, 07:23:09 PM
no seria lo ideal en este momento ya que si ejemplo en el plugin se encuentra el regex asi:

Código (bash) [Seleccionar]
\\  http.*\.blogger\.com.*(\.swf|\.jpg|\.png|\.gif)

Entonces tambien copia los \\ y los espacios en blanco, por eso por el momento no dejo el reiniciar servicios ya que todavía habría que quitar esto para que los plugins estén activos realmente, por eso recomiendo por el momento que no sea en el raptor.lst, hasta que se mejore el script para eliminar los \\ y los espacios y ahi si agregar el reinicio de servicios, Saludos

Cierto seria bien la manera d ir depurando eso poco a poco enseñame hacer ejecutables y ayudo en el foro con los que pidan