Skip to content

Instantly share code, notes, and snippets.

View alejoasotelo's full-sized avatar

Alejo A. Sotelo alejoasotelo

View GitHub Profile
@alejoasotelo
alejoasotelo / buscar_cauciones.js
Created December 21, 2023 17:45
Buscar cauciones en invertir online
/**
Buscar Cauciones en https://invertironline.com/
Hay que ejecutar este script abriendo la consola dentro de invertironline.com y con la sesión iniciada.
En este ejemplo busca cauciones con una tasa de interés mínima de 130% para un monto mínimo de $100.000 de 1 a 30 días como máximo.
*/
async function getCauciones(dias) {
const response = await fetch("https://iol.invertironline.com/Mercado/GetCaucionPuntas", {
"credentials": "include",
"headers": {
@alejoasotelo
alejoasotelo / sumar_horas.js
Created May 11, 2023 23:19
Sumar horas Toggle
/**
* Se le pasan las horas (String) como parámetro, le hace un split por salto de linea
* y se suman.
* Lo uso para exportar las horas de toggl y contabilizar las horas trabajadas.
*/
function sumarHoras(horas) {
if (!Array.isArray(horas)) {
horas = horas.split('\n')
}
@alejoasotelo
alejoasotelo / facturas-afip-por-fechas.js
Last active July 21, 2022 00:00
Script para obtener las facturas de AFIP por fechas dentro de Mis Comprobantes AFIP (https://serviciosjava2.afip.gob.ar/mcmp/jsp/comprobantesEmitidos.do)
/**
@author Alejo Sotelo <alejosotelo.com.ar>
@date 2022-07-20
*/
async function getFacturas(from, to, tipoComprobante) {
var query = encodeURIComponent(from + '+-+' + to + '&tiposComprobantes[]=' + tipoComprobante)
var r = await fetch("https://serviciosjava2.afip.gob.ar/mcmp/jsp/ajax.do?f=generarConsulta&t=E&fechaEmision=" + query, {
@alejoasotelo
alejoasotelo / taskqueue.js
Last active July 21, 2022 19:14
TaskQueue es para agregar tareas que se ejecuten secuencialmente cada cierto intervalo de segundos.
/**
@author Alejo Sotelo <alejosotelo.com.ar>
@date 2022-07-20
Las tareas se ejecutan secuencialmente según el intervalo configurado.
Si agrego 3 task/tareas, se van a ejecutar en el orden que las agrego.
Cada task tiene un callback (function) que tiene que devolver true (se elimina la tarea y no se ejecuta más) o false (se sigue ejecutando).
var fiveSeconds = 5 * 1000;
var myTasks = new TaskQueue(fiveSeconds);
@alejoasotelo
alejoasotelo / get-apr-short-long-mirror-protocol.js
Created December 1, 2021 19:14
Script para obtener los APR del LONG y SHORT de https://mirrorprotocol.app/#/farm
async function postQuery(query) {
var r = await fetch('https://graph.mirror.finance/graphql', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
query: query
})
@alejoasotelo
alejoasotelo / calculate-leverage-aave .js
Last active November 30, 2021 14:12
Cálculo automático para saber si conviene o no y saber qué ganancia se podría hacer haciendo Leverage en AAVE (aplicable tambíen a otros proyectos de lending/borrow)
/**
* Cálculo automático para saber si conviene o no y saber qué ganancia se podría hacer haciendo Leverage en AAVE.
* También se podría aplicar a cualquier otro proyecto que haga lending/borrow (compound, venus, fortress, etc).
* El leverage en AAVE consiste en depositar, pedir prestado una parte (colateral) y volver a depositar.
* Esto se puede repetir varias veces, lo óptimo es repetirlo 10 veces. Más de 10 veces no aumentan practicamente las ganancias.
* Haciendo esto podemos pasar de una ganancia de 9% a 40% aprox. Según los rewards que nos den por depositar y pedir prestado.
* (!) IMPORTANTE: es necesario saber que hacer esto implica el riesgo de que nos liquiden!!!
*/
/**
@alejoasotelo
alejoasotelo / migrar-articulos-k2-a-joomla.md
Last active June 24, 2021 23:17
Migrar artículos de K2 a artículos de Joomla

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 June 24, 2021 16:49
Detectar IPs del log de Apache intentando buscar una instalación de Wordpress

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 April 7, 2021 22:07
Debuggear según IP
<?php
class MyIP {
private static $ips = [];
/**
* Setea las IPs del cliente
*
* @return bool
*/
@alejoasotelo
alejoasotelo / index.js
Created March 8, 2021 16:10
Calculadora de rewards de SBDO por epoch
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))