Skip to content

Instantly share code, notes, and snippets.

Home-Office since 2005

Flávio H. Ferreira fhferreira

Home-Office since 2005
View GitHub Profile
fhferreira / cloudflare-purge-cache-service-worker.js
Created November 7, 2022 12:28 — forked from vdbelt/cloudflare-purge-cache-service-worker.js
A CloudFlare service worker that proxies purge cache requests. Example:
View cloudflare-purge-cache-service-worker.js
addEventListener('fetch', event => {
async function purgeCache(request) {
const url = new URL(request.url)
fhferreira /
Created August 4, 2022 06:08 — forked from subfuzion/
curl POST examples

Common Options

-#, --progress-bar Make curl display a simple progress bar instead of the more informational standard meter.

-b, --cookie <name=data> Supply cookie with request. If no =, then specifies the cookie file to use (see -c).

-c, --cookie-jar <file name> File to save response cookies to.

fhferreira / laravel eloquent query
Created June 15, 2022 06:13 — forked from mtvbrianking/laravel eloquent query
Laravel debug (dump) database queries
View laravel eloquent query

Laravel debug database queries


SELECT AS staff, AS facility
fhferreira /
Created January 17, 2022 06:17 — forked from hreeder/
Python nginx Log Parser
#!/usr/bin/env python
import gzip
import os
import sys
import re
INPUT_DIR = "nginx-logs"
lineformat = re.compile(r"""(?P<ipaddress>\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}) - - \[(?P<dateandtime>\d{2}\/[a-z]{3}\/\d{4}:\d{2}:\d{2}:\d{2} (\+|\-)\d{4})\] ((\"(GET|POST) )(?P<url>.+)(http\/1\.1")) (?P<statuscode>\d{3}) (?P<bytessent>\d+) (["](?P<refferer>(\-)|(.+))["]) (["](?P<useragent>.+)["])""", re.IGNORECASE)
View validador-de-telefone.js
function telefone_validation(telefone) {
//retira todos os caracteres menos os numeros
telefone = telefone.replace(/\D/g, '');
//verifica se tem a qtde de numero correto
if (!(telefone.length >= 10 && telefone.length <= 11)) return false;
//Se tiver 11 caracteres, verificar se começa com 9 o celular
if (telefone.length == 11 && parseInt(telefone.substring(2, 3)) != 9) return false;
View events.js
window[window["TiktokAnalyticsObject"]]._env = {
"env": "external"
window[window["TiktokAnalyticsObject"]]._variation_id = 'test';
! function(e) {
var i = {};
View cluster-quick-check.php
// php cluter-quick-check --host <host> --port <port> [--auth password]
function panicAbort($str_msg) {
fprintf(STDERR, "Error: $str_msg\n");
function panicClusterSlotsError($arr_slots, $str_context) {
$str_slots = print_r($arr_slots, true);
fhferreira /
Created July 28, 2021 04:03 — forked from mustafaturan/
Linux Network Tweak for 2 million web socket connections

Sample config for 2 million web socket connection

    sysctl -w fs.file-max=12000500
    sysctl -w fs.nr_open=20000500
    # Set the maximum number of open file descriptors
    ulimit -n 20000000

    # Set the memory size for TCP with minimum, default and maximum thresholds 
 sysctl -w net.ipv4.tcp_mem='10000000 10000000 10000000'
fhferreira /
Created June 19, 2021 09:37 — forked from holmberd/
Adjusting child processes for PHP-FPM (Nginx)

Adjusting child processes for PHP-FPM (Nginx)

When setting these options consider the following:

  • How long is your average request?
  • What is the maximum number of simultaneous visitors the site(s) get?
  • How much memory on average does each child process consume?

Determine if the max_children limit has been reached.

  • sudo grep max_children /var/log/php?.?-fpm.log.1 /var/log/php?.?-fpm.log
View countries.js
var e = new Array;
e.AF = "Afghanistan",
e.AL = "Albania",
e.DZ = "Algeria",
e.AS = "American Samoa",
e.AD = "Andorra",
e.AO = "Angola",
e.AI = "Anguilla",
e.AQ = "Antarctica",
e.AG = "Antigua And Barbuda",