Skip to content

Instantly share code, notes, and snippets.

View jkcgs's full-sized avatar

Jonathan Gutiérrez jkcgs

View GitHub Profile
@jkcgs
jkcgs / 100percent_nginx.conf
Created April 8, 2019 19:10
nginx settings for a 100% A+ result on qualys ssllabs ssl test, also full compatibility with handshake simulations - it requires a 4096 dhparam file and 4096 rsa keys size ("--rsa-key-size 4096" parameter with certbot, can be used with the renew mode)
server {
listen 443 ssl http2;
server_name mak.wtf;
ssl_protocols TLSv1.2;
ssl_ciphers "ECDHE-RSA-CHACHA20-POLY1305 ECDHE-RSA-AES256-GCM-SHA384 DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-GCM-SHA384 ECDHE-RSA-AES256-SHA384 ECDHE-RSA-AES256-SHA";
ssl_ecdh_curve secp384r1;
ssl_session_cache shared:le_nginx_SSL:1m;
@jkcgs
jkcgs / githubReleaseRedirect.js
Created February 25, 2019 20:17
AWS Lambda function to redirect to latest release assets from a GitHub repository.
'use strict';
const https = require('https');
/**
* This parses arguments from an URL in the following form and
* magically redirects to an asset of a GitHub project release.
*
* https://api.owo.cl/grr/<owner>/<repo>/[version]/[file]
*
* owner: User or org that owns a repo
@jkcgs
jkcgs / settings.json
Last active February 20, 2019 15:36
Translations Crowdin-compatible webhook, for Amazon AWS Lambda, using NodeJS 8.10.
{
"key": "",
"discord": {
"endpoint": "https://canary.discordapp.com/api/webhooks",
"channel": "",
"key": ""
},
"projects": {
"3ds-guide": "3DS Guide",
"vita-guide": "PS Vita Guide",
@jkcgs
jkcgs / RUT.kt
Created January 13, 2019 04:06
Validar RUT en Kotlin. Yes, very cool code.
class RUT {
companion object {
fun validateRUT(rut : String) : Boolean {
if (!rut.matches(Regex("[0-9]{1,2}(.?[0-9]{3}){2}-?[0-9kK]"))) {
return false
}
// Very cool code :-)
val rutf = rut.toLowerCase().replace(Regex("[-.]"), "")
val rutl = rutf.takeLast(1); var sum = 0; var i = 0
@jkcgs
jkcgs / meta.py
Created December 2, 2018 04:53
Módulo de bot que hice a la rápida para trackear la meta de la Teletón 2018
import discord
import locale
from bot import Command
from bs4 import BeautifulSoup
locale.setlocale(locale.LC_MONETARY, '')
class MetaT(Command):
@jkcgs
jkcgs / autorss.py
Last active November 27, 2018 02:55
Automatically adds a Nyaa.si rss search (horriblesubs 1080p) to qBittorrent with autodownload, using the web API
import argparse
import requests
import feedparser
import json
from urllib.parse import quote_plus, quote
from os import path, listdir, sep, mkdir
r = requests.Session()
r.cookies = requests.cookies.RequestsCookieJar()
We can make this file beautiful and searchable if this error is corrected: Unclosed quoted field in line 2.
"Timestamp","Edad","Sexo","A qué te dedicas?","Dónde vives?","Cuál es el nivel más alto de educación formal que cursaste o estás cursando?","Qué tipo de usuario eres en r/chile?","Hacia donde te inclinas más políticamente? (opcional)","De los siguientes, cuales representan mejor tus intereses?","Qué tipo de media consumes?","Cuál es tu género favorito de música? (Solo 1 porfa)","Qué redes sociales usas aparte de reddit?","Qué deporte sigues? (No necesariamente lo practicas)","Realizas ejercicio/deporte?","Bebida alcohólica preferida?","Cómo ves tu situación en 10 años?","Como ves la situación del país en 10 años?","Te gusta r/chile?","Perteneces a alguna religión? Cuál?","Qué idiomas manejas aparte de español?","Qué debe tener un pebre para ser considerado como tal?","(Opcional) A qué usuario de r/chile le apostarías para pelear contra el negro piñera 1 vs 1?"
"2018/11/05 1:59:03 PM GMT-3","24","Hombre","Trabajo","Metropolitana de Santiago","Educación superior (Universidad, CFT, IP, etc)","Activo (posteas y/o
@jkcgs
jkcgs / ProyectoPalSub.java
Created August 31, 2018 15:54
Una cosa que alguien pidió y que yo hice porque estaba aburrido.
package com.makzk;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
/**
* "necesito hacer una wea de codigo en netbeans la cual debe registrar nombres, rut ,inasistencia, monto
* y luego revisar por rut, obteniendo los datos de la persona y los dias de inasistencia con el descuento
@jkcgs
jkcgs / fixDF.user.js
Last active January 30, 2020 14:30
Arregla la posición del contenido al hacer scroll en Diario Financiero
// ==UserScript==
// @name Fix DF.cl scroll
// @namespace http://jgutierrez.cl/
// @version 0.1
// @description Arregla la posición del contenido al hacer scroll en Diario Financiero
// @author Jonathan Gutiérrez <contacto@jgutierrez.cl>
// @match https://www.df.cl/*
// @grant none
// ==/UserScript==
@jkcgs
jkcgs / status.py
Last active July 20, 2018 20:31
Mini API to generate basic mirror.ufro.cl mirror status, using Flask
#!/usr/bin/env python3
import os
import subprocess
from datetime import datetime
from util import reverse_readline, sizeof_fmt, isint
from flask import Flask, jsonify
app = Flask(__name__)
mirror_path = '/srv/mirror'
default_logdir = '/var/log/mirror'