Script en bash que firma documentos

Partiendo de documentos pdf que están en la carpeta origen llamada certificados en la cual tenemos documentos pdf que queremos firmar. Tenemos una carpeta firma que es donde se encuentra el pdf con nuestra firma en la posición que queremos. Tenemos que ejecutar el script: bash firmar.sh para que firme el docmento pdf de origen y lo ponga en la carpeta destino o firmados. Se necesita de la aplicación pdftk.

Script: firmar.sh

Por Paco Aldarias

Fecha: 2.7.2024

echo Script para firmar pdfs de $origen en $destino
echo Crear un pdf con la firma transparente en pdf

origen=»./certificados»
destino=»./firmado»
firma=»./firma»

rename ‘s/-//g’ $origen/.pdf

rename ‘s/_//g’ $origen/.pdf

rename ‘s/\ //g’ $origen/*.pdf

for i in $(ls $origen/*.pdf);do
echo Firmando $i
n=$(basename $i .pdf)
pdftk «$origen/$n.pdf» background «$firma/»firma.pdf output «$destino/$n.pdf»
done

Repositorio:

https://github.com/aldarias/firmarcertificado

Instalación de un servidor de podcast con proxy web invertido en un nas synology

Necesitaremos:

Un servidor nas synology.

Instalar docker en el nas.

Instalar en el docker la aplicación portiner que permite la gestión de docker.

A través de la app portiner instalaremos con docker-composer el servidor de podcast audiobookself. Usaremos la parte de stack que admite github.

Aqui está el fichero: https://github.com/aldarias/docker/tree/main/audiobookself

Configurar un subdominio podcast.dominio.es. La idea es simplificar el acceso a una subweb.

Configurar el el proxy invertido en el nas. Asi permite el acceso remoto desde el exterior. Se adjuntan capturas:

Subir los fichero mp3 al servidor de podcast.

Esta seria la web:

http://podcast.aldarias.es

Proyecto de podcast modular

1. Script para unir varios ficheros mp3 con cat

El siguiente script en bash permite preparr 15 podcast numerados de 0 al 15 y los une generando de por cada fichero podX siendo X un numero de 0 a 14. Se genera un fichero temaX con un fichero inicial de audio llamado ini.mp3 y un fichero final llamado fin.mp3

Resumiendo: El comando cat permite unir mp3 de este modo. Ejemplo para el tema1 seria:

cat inicio.mp3 pod1.mp3 final.mp3 > tema1.mp3

Fichero: temas.sh

echo Preparando podcast

for i in $(seq 0 14);
do
if [ -f pod»$i».mp3 ];then
echo ‘Generando tema’$i
if [ $i -lt 10 ]
then
cat ini.mp3 pod»$i».mp3 fin.mp3 > ‘tema0’$i.mp3
else
cat ini.mp3 pod»$i».mp3 fin.mp3 > ‘tema’$i.mp3
fi
fi
done

2. Script que genere una union de todos los fichero podX.mp3. Se colocará entre cada podX.mp3 un fichero intermedio llamado in.mp3.

El script que llamaremos todos.sh

echo «Generando todos»

cat ini.mp3 pod0.mp3 \
in.mp3 pod1.mp3 \
in.mp3 pod2.mp3 \
in.mp3 pod3.mp3 \
in.mp3 pod4.mp3 \
in.mp3 pod5.mp3 \
in.mp3 pod6.mp3 \
in.mp3 pod7.mp3 \
in.mp3 pod8.mp3 \
in.mp3 pod9.mp3 \
in.mp3 pod10.mp3 \
in.mp3 pod11.mp3 \
in.mp3 pod12.mp3 \
in.mp3 pod13.mp3 \
in.mp3 pod14.mp3 \
fin.mp3 > todos.mp3

Los metadatos de los fichero mp3 se pueden tambien poner con un script, que llamaremos etiquetas-temas.sh

3. Recorremos los podcast y le ponemos la etiqueta titulo.

El fichero lo llamaremos etiqueta-temas.sh

for i in $(seq 0 14)
do

echo «$i»
t=0

case $i in
0)
t=»PRESENTACION»
;;
1)
t=»EQUIPOS INFORMÁTICOS»
;;
2)
t=»seguridad y eticia informática»
;;
3)
t=»sistemas operativos»
;;
4)
t=»procesador de textos»
;;
5)
t=»presentaciones»
;;
6)
t=»hojas de cálculo»
;;
7)
t=»bases de datos»
;;
8)
t=»imagen»
;;
9)
t=»audio»
;;
10)
t=»Video»
;;
11)
t=»Redes»
;;
12)
t=»Internet y redes sociales»
;;
13)
t=»Publicación de contenidos»
;;
14)
t=»Trucos examen tipo text»
;;
*)
t=»Sin definir»
;;
esac

***

autor=»Paco Aldarias»
centro=»CEEDCV»
asignatura=»TICD»
podcast=186
ano=2024
licencia=»copyrigth»
imagen=cover.jpg
t0=$centro»-«$ano»-«$asignatura»-«$i»-«$t

if [ $i -lt 10 ]
then
id3tag -w -n –song=»$t0″ –track=»$i» –artist=»$autor» –album=»$asignatura» –genre=»$podcast» –year=»$ano» –comment=»$licencia» tema0″$i».mp3
kid3-cli -c «set albumart ‘$imagen'» tema0″$i».mp3
exiftool tema0″$i».mp3
else
id3tag -w -n –song=»$t0″ –track=»$i» –artist=»$autor» –album=»$asignatura» –genre=»$podcast» –year=»$ano» –comment=»$licencia» tema»$i».mp3
kid3-cli -c «set albumart ‘$imagen'» tema»$i».mp3
exiftool tema»$i».mp3
fi

done

t0=$centro»-«$asignatura»-«$ano»-TODOS LOS TEMAS»
id3tag -w -n –song=»$t0″ –track=»1″ –artist=»$autor» –album=»$asignatura» –genre=»$podcast» –year=»$año» –comment=»$licencia» todos.mp3
kid3-cli -c «set albumart ‘$imagen'» todos.mp3
exiftool todos.mp3

Cambiar Idioma desde terminal

Este artículo es para cambiar el idioma a español desde una terminal linux.

  1. Editar fichero desde terminal: sudo nano /etc/locale.conf
LANGUAGE=es_ES.UTF-8
LC_ALL=es_ES.UTF-8
LANG=es_ES.UTF-8
LC_CTYPE=es_ES.UTF-8

2. Eleguir locales. nano /etc/locale.gen

es_ES.UTF-8

3. Generar locales

sudo locale-gen

4. Editar inicio con bash. nano ~/.bashrc

import LANGUAGE = (es)  
import LC_ALL = (es)         
import LC_CTYPE = «es_ES.UTF-8»,         
import LANG = «es_ES.UTF-8»

Mostrar que ordenadores tienen abierto un puerto

Utilizaremos la aplicación nmap con los siguiente comando que busca que máquina de la red 192.168.1.0 tienen abierto el puerto 8123:

nmap -sV -p8123 –open 192.168.1.*
Starting Nmap 7.80 ( https://nmap.org ) at 2024-01-26 19:02 CET
Nmap scan report for 192.168.1.50
Host is up (0.0068s latency).

PORT STATE SERVICE VERSION
8123/tcp open http aiohttp 3.8.5 (Python 3.11)

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 256 IP addresses (20 hosts up) scanned in 15.00 seconds

Este comando es utilil para buscar servidores de home assistance que utilizan ese puerto para escuchar.