Skip to content

Instantly share code, notes, and snippets.

Avatar
🎯
Focusing

Alejo Sotelo alejoasotelo

🎯
Focusing
View GitHub Profile
@alejoasotelo
alejoasotelo / migrar-articulos-k2-a-joomla.md
Last active Jun 24, 2021
Migrar artículos de K2 a artículos de Joomla
View migrar-articulos-k2-a-joomla.md

Cómo migrar artículos de K2 a Artículos Joomla

Nota: Probar este script en un joomla en localhost para arender cómo funciona. Nunca hacerlo sobre un sitio en producción. Hacer backup de su base de datos antes de probar este script en producción. Si se equivocan y lo hacen en un sitio en producción como mucho se vna a agregar artículos en Joomla, los eliminan y listo, pero mejor hacerlo previamente sobre un sitio de desarrollo

Aplica para Joomla! 3

Esta consulta SQL lo que hace es leer todos los artículos de K2 e insertar los artículos en el gestor de contenidos de Joomla.

Cuando se crean los artículos en el gestor de contenidos se les asigna la categoria de la variable @id_categoria_default (modificar por el ID de la categoría Joomla que prefieran).

@alejoasotelo
alejoasotelo / detectar-ddos-wordpress-en-apache.md
Last active Jun 24, 2021
Detectar IPs del log de Apache intentando buscar una instalación de Wordpress
View detectar-ddos-wordpress-en-apache.md

Detectar IPs del log de Apache que intengn acceder a una insalación de Wordpress:

cat ssl_access_log* | grep 'wp-(admin|content|include|login)' -E | cut -d' ' -f1 | sort | uniq -c | sort

Este script de linea de comandos en bash, funciona de la siguiente manera:

  1. Lees con cat archivos donde el nombre empiece con "ssl_access_log"
  2. Busca con grep urls que tengan el texto: wp-admin, wp-content, wp-include y wp-login
  3. Separa las lineas por espacios con cut y devuelve la primer parte (ip)
@alejoasotelo
alejoasotelo / myip.php
Created Apr 7, 2021
Debuggear según IP
View myip.php
<?php
class MyIP {
private static $ips = [];
/**
* Setea las IPs del cliente
*
* @return bool
*/
@alejoasotelo
alejoasotelo / index.js
Created Mar 8, 2021
Calculadora de rewards de SBDO por epoch
View index.js
function calcularRewardsPorEpoch(expansionRate, totalBDOSupply, totalSBDOStakedBoardroom, mySBDOStakedInBoardroom) {
return ((0.8 * (expansionRate/100) * totalBDOSupply) / totalSBDOStakedBoardroom) * mySBDOStakedInBoardroom;
}
function calcularRewardsPorDia(expansionRate, totalBDOSupply, totalSBDOStakedBoardroom, mySBDOStakedInBoardroom) {
return calcularRewardsPorEpoch(expansionRate, totalBDOSupply, totalSBDOStakedBoardroom, mySBDOStakedInBoardroom) * 4;
}
console.log('Rewards diarios:', calcularRewardsPorDia(1.25, 41289517, 16856.865, 1))
@alejoasotelo
alejoasotelo / index.js
Last active Feb 18, 2021
get tokens prices by BUSD from coingecko - obteners los precios de tokens en BUSD de coingecko
View index.js
(async () => {
let response = await fetch('https://api.coingecko.com/api/v3/exchanges/pancakeswap/tickers?coin_ids=pancakeswap-token,bakerytoken,helmet-insure,bdollar,bdollar-share');
let data = await response.json();
let tickers = json.tickers.filter(ticker => ticker.target == 'BUSD');
let values = tickers.map(ticker => {
return ticker.base + '/' + ticker.target + ' = $' + ticker.last;
});
values.sort().forEach(value => console.log(value));
})();
View search.js
let search = async (name) => {
let response = await fetch('https://bscscan.com/searchHandler?term=' + encodeURIComponent(name) + '&filterby=0');
response = await response.json();
return response
.map((item) => {
item = item.split("\t");
let data = item[2].split("~");
return {
name: item[0],
address: item[1],
View ejemplo_verificacion_passwords_ag.html
<p>Este es una ejemplo de validación de 2 passwords. El típico ejemplo de repetir password.</p>
<form name="myForm">
<input type="password" name="pass" ng-model="user.pass" ng-change="user.pass_equals = (user.pass == user.pass_copy)" required/>
<br>
<span ng-if="!myForm.pass.$pristine && myForm.pass.$invalid">campo invalido.</span>
<br>
<br>
<input type="password" name="pass_copy" ng-model="user.pass_copy" ng-change="user.pass_equals = (user.pass == user.pass_copy)" required/><br>