1 июл. 2025 г.
23 июн. 2025 г.
OpenSSL p12 extract keys and certs, convert ca and user keys to p12, decrypt encrypted key
Create unencrypted key file:
openssl pkcs12 -in mykeys.p12 -out unencrypted.key -nodes -nocerts
Extract certificates to file:
openssl pkcs12 -in mykeys.p12 -out mycerts.crt -nokeys
CA and user certificate will be in the same file!
Convert keys to p12:
openssl pkcs12 -export -certfile ca.crt -in user.crt -inkey user.key -out mykeys.p12
Decrypt user key:
openssl rsa -in encrypted.key -out decrypted.key
Key and Cert to PEM:
cat server.key server.crt > server.pem
13 февр. 2025 г.
Mysql/MariaDB table delete records by schedule
1. /root/cleanup_records.sql
delete from TABLE_NAME where `DATE_FIELD` < DATE_SUB(CURDATE(),INTERVAL 3 MONTH);
2. crontab -e (/var/spool/cron/crontabs/root)
25 янв. 2025 г.
ufw cheatsheet
ufw status verbose
ufw status numbered
ufw delete NUM
ufw delete deny NUM
ufw insert 1 deny in from XXX.XXX.XXX.XXX to any port 25 proto tcp
ufw app info 'OpenSSH' (see /etc/ufw/applications.d)
ufw allow proto tcp from XXX.XXX.XXX.XXX/24 to any port YYYY
ufw reload (to apply rules)
ufw allow in on eth0 to any port 22
ufw logging on/off/low/medium/high/full
for NAT - /etc/ufw/before.rules
24 дек. 2024 г.
Create random file from 1 to x Megabytes, jitters disk free space (correct BDE bug)
SET /A NUM=1+(%random%)%%(19)
DEL SOMEMEGABYTES
COPY MEGABYTE SOMEMEGABYTES
FOR /L %%i IN (1,1,%NUM%) DO (
ECHO %%i
COPY /Y /B SOMEMEGABYTES TEMPFILE
COPY /Y /B MEGABYTE+TEMPFILE SOMEMEGABYTES
)
DEL TEMPFILE
13 нояб. 2024 г.
Backup Mikrotik configuration to FTP and SFTP
Based on https://forum.mikrotik.com/viewtopic.php?p=1048273 by fra81ita
Added SFTP
### Set local variables. Change the value between "" to reflect your environment. Do not delete quotation marks.:local ftpserver "FTP-SERVER-FQDN_or_IP-ADDRESS"
:local username "FTP-SERVER-USERNAME"
:local password "FTP-SERVER-PASSWORD"
:local remotedirectory "mikrotik"
### Set Local and Remote Filename variables. Do not change this unless you want to edit the format of the filename.
### Default "local file name" is always the same to avoid lots of files and running out of space, "remote file name" uploaded to FTP has the date
:local hostname [/system identity get name]
:local date ([:pick [/system clock get date] 7 11] \
. [:pick [/system clock get date] 0 3] \
. [:pick [/system clock get date] 4 6]);
:local localfilename "$hostname-Backup-Daily";
:local remotefilename "$remotedirectory/$hostname-$date";
### Enable for Debug removing staing hash in the following lines
:log info "$localfilename";
:log info "$remotefilename";
:log info "$hostname";
:log info "$date";
### Stating the Backup
:log info "STARTING BACKUP";
### Create backup file and export the config.
export compact file="$localfilename"
/system backup save name="$localfilename"
:log info "Backup Created Successfully"
### Upload backup file to FTP server.
/tool fetch address=$ftpserver src-path="$localfilename.backup" \
user=$username mode=ftp password=$password \
dst-path="$remotefilename.backup" upload=yes
:log info "Config Uploaded Successfully"
### Upload config file to FTP server.
/tool fetch address=$ftpserver src-path="$localfilename.rsc" \
user=$username mode=ftp password=$password \
dst-path="$remotefilename.rsc" upload=yes
:log info "Config Uploaded Successfully"
### Upload config file to SFTP server.
/tool fetch url="sftp://$ftpserver/home/mikrotik/$remotefilename.backup" src-path="$localfilename.backup" \
user=$username password=$password \
upload=yes
:log info "Backup Uploaded Successfully"
### Upload config file to SFTP server.
/tool fetch url="sftp://$ftpserver/home/mikrotik/$remotefilename.rsc" src-path="$localfilename.rsc" \
user=$username password=$password \
upload=yes
:log info "Config Uploaded Successfully"
### Wait 2 second before doing anything
delay 2;
### Remove starting hash in the following lines to delete created backup files once they have been uploaded. I usually let them there because it's useful having them ready.
#/file remove "$localfilename.backup"
#/file remove "$localfilename.rsc"
#:log info "Local Backup Files Deleted Successfully"
### Finishing the Backup
:log info "BACKUP FINISHED";
29 окт. 2024 г.
Python script ping and log
while True:
result = None
try:
result = subprocess.check_output(['ping','-w', '1', '-c', '1', '-n', '-q' ,'192.168.0.1'])
result = result.decode("utf-8").split('/')
result = float(result[4])
except:
with open("mon.log", "a") as myfile:
myfile.write(time.strftime('%X %x %Z')+' Ping error.\n')
myfile.close()
print result
if result > 5 :
with open("mon.log", "a") as myfile:
myfile.write(time.strftime('%X %x %Z')+' '+str(result)+'\n')
myfile.close()
time.sleep(1)
20 авг. 2024 г.
Save credentials for windows terminal server
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation]
"AllowSavedCredentialsWhenNTLMOnly"=dword:00000001
“AllowSavedCredentials”=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation\AllowSavedCredentialsWhenNTLMOnly]
"1"="TERMSRV/*"
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation\AllowSavedCredentials]
"1"="TERMSRV/*"
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Policies\Microsoft\Windows\CredentialsDelegation]
“AllowSavedCredentialsWhenNTLMOnly”=dword:00000001
“AllowSavedCredentials”=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Policies\Microsoft\Windows\CredentialsDelegation\AllowSavedCredentialsWhenNTLMOnly]
"1"="TERMSRV/*"
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Policies\Microsoft\Windows\CredentialsDelegation\AllowSavedCredentials]
"1"="TERMSRV/*"
16 авг. 2024 г.
Asterisk Chanspy() - supervisor assistance
same => n,Authenticate(2128)
same => n,Answer
same => n,Wait(1)
same => n,ChanSpy(SIP/${EXTEN:3},qw)
same => n,Hangup()
10 июн. 2024 г.
RSYNC Cygwin to NAS326
Rsync из Windows через cygwin уже был, вот здесь - https://dzelenov.blogspot.com/2014/07/rsync-windows-cwrsync.html
Усложняем задачу. Копировать надо с Windows (см. пред. статью) на ZyXel NAS326. Проблема та же - не съесть весь bandwidth.
1. На NAS надо поставить rsync. Для этого надо разрешить ssh в вебинтерфейсе
и попасть в shell (busybox).
ставим rsync. Все хорошо, кроме того, что он удаляется после перезагрузки и надо скрипт выполнять заново.
2. Пробуем копировать файлы из Linux, типа
rsync -e ssh --partial --progress --bwlimit=100K --time-limit=300 ~/rsynctest/* root@192.168.1.101:/i-data/022cf873/Video
Пароль спрашивает, но работает.
3. Ставим cygwin, пробуем из Windows - не работает.
Нужно:
- Создать файл ~/.ssh/config на Windows, вписать туда
HostName 192.168.1.101
HostKeyAlgorithms=+ssh-rsa
чтобы ssh cygwin знал, что нужно использовать ключи rsa.
- сгенерировать пару ключей в Windows и отправить их в NAS
ssh-copy-id root@NAS326
После этого можно уже запускать синхронизацию, обращаясь к NAS уже строго по имени.
rsync -e ssh --partial --progress --bwlimit=1000K --time-limit=300 /cygdrive/d/Backup/daily/* root@NAS326:/i-data/022cf873/Backup
Ключи:
--bwlimit=1000K - скорость не больше 1Мбайт/с
--time-limit=300 - через 5 часов обрубить, так как будет нужен Интернет на полную.
Автоматизация запуска rsync на cygwin - по старой статье 2014 года.