The figure below calls out
- The netfilter hooks
- The order of table traversal
APP_NAME="Lumen app" | |
APP_ENV=local | |
APP_KEY= | |
APP_DEBUG=true | |
APP_URL=http://localhost | |
APP_TIMEZONE=UTC | |
LOG_CHANNEL=stack | |
LOG_SLACK_WEBHOOK_URL= |
/* | |
* This program is free software: you can redistribute it and/or modify | |
* it under the terms of the GNU General Public License as published by | |
* the Free Software Foundation, either version 3 of the License, or | |
* (at your option) any later version. | |
*/ | |
#include <arpa/inet.h> | |
#include <linux/if_packet.h> | |
#include <stdio.h> |
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- | |
vim: set autoindent expandtab shiftwidth=2 softtabstop=2 tabstop=2: */ | |
#include <stdio.h> | |
#include <string.h> | |
#include <stdlib.h> | |
#include <unistd.h> | |
#include <getopt.h> | |
#include <sys/types.h> | |
#include <sys/socket.h> |
#include <linux/module.h> | |
#include <linux/kernel.h> | |
#include <linux/netfilter_ipv4.h> | |
#include <linux/skbuff.h> | |
#include <linux/udp.h> | |
#include <linux/ip.h> | |
/* This function to be called by hook. */ | |
static unsigned int | |
hook_func(unsigned int hooknum, |
taskkill /F /IM flow.exe /T |
package main | |
import ( | |
"bufio" | |
"net" | |
) | |
type Client struct { | |
incoming chan string | |
outgoing chan string |
package main | |
import ( | |
"crypto/tls" | |
"crypto/x509" | |
"fmt" | |
"io" | |
"log" | |
) |
package main | |
import ( | |
"encoding/json" | |
"fmt" | |
"log" | |
"net" | |
"os" | |
"time" | |
) |
# RS256 | |
# private key | |
openssl genrsa -out rs256-4096-private.rsa 4096 | |
# public key | |
openssl rsa -in rs256-4096-private.rsa -pubout > rs256-4096-public.pem | |
# ES512 | |
# private key | |
openssl ecparam -genkey -name secp521r1 -noout -out ecdsa-p521-private.pem | |
# public key |