Skip to content

Instantly share code, notes, and snippets.

View exceptionplayer's full-sized avatar
🦊
come on!

Danny W. exceptionplayer

🦊
come on!
  • HongKong
  • 21:47 (UTC +08:00)
View GitHub Profile
@exceptionplayer
exceptionplayer / tcp_flags.txt
Created December 17, 2020 11:52 — forked from tuxfight3r/tcp_flags.txt
tcpdump - reading tcp flags
##TCP FLAGS##
Unskilled Attackers Pester Real Security Folks
==============================================
TCPDUMP FLAGS
Unskilled = URG = (Not Displayed in Flag Field, Displayed elsewhere)
Attackers = ACK = (Not Displayed in Flag Field, Displayed elsewhere)
Pester = PSH = [P] (Push Data)
Real = RST = [R] (Reset Connection)
Security = SYN = [S] (Start Connection)
@exceptionplayer
exceptionplayer / udp_to_local.c
Created June 10, 2020 10:36 — forked from leonid-ed/udp_to_local.c
Examples of using raw sockets (c, linux, raw socket)
/*
An example of using raw sockets.
You can capture packets by tcpdump:
tcpdump -X -s0 -i lo -p udp
*/
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
@exceptionplayer
exceptionplayer / FuturesB.java
Created September 20, 2019 18:32 — forked from benjchristensen/FuturesB.java
FuturesB.java Example of using Futures for nested calls showing how it blocks inefficiently.
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Future;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
@exceptionplayer
exceptionplayer / nginx.conf
Created April 12, 2019 10:53 — forked from yllan/nginx.conf
設定 nginx 使用 server sent event
location xxxx {
proxy_pass http://localhost:9000;
proxy_buffering off;
proxy_cache off;
proxy_redirect off;
proxy_set_header Connection '';
proxy_http_version 1.1;
chunked_transfer_encoding off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
@exceptionplayer
exceptionplayer / rate_limit2.py
Created October 30, 2018 06:57 — forked from josiahcarlson/rate_limit2.py
Regular and sliding window rate limiting to accompany two blog posts.
'''
rate_limit2.py
Copyright 2014, Josiah Carlson - [email protected]
Released under the MIT license
This module intends to show how to perform standard and sliding-window rate
limits as a companion to the two articles posted on Binpress entitled
"Introduction to rate limiting with Redis", parts 1 and 2:

Scaling your API with rate limiters

The following are examples of the four types rate limiters discussed in the accompanying blog post. In the examples below I've used pseudocode-like Ruby, so if you're unfamiliar with Ruby you should be able to easily translate this approach to other languages. Complete examples in Ruby are also provided later in this gist.

In most cases you'll want all these examples to be classes, but I've used simple functions here to keep the code samples brief.

Request rate limiter

This uses a basic token bucket algorithm and relies on the fact that Redis scripts execute atomically. No other operations can run between fetching the count and writing the new count.

@exceptionplayer
exceptionplayer / NestedMapFlatten.java
Created July 3, 2018 07:50
how to flatten a nested map in java8
public void testFlattenMap() {
Map<String, Map<String, Long>> counters = new HashMap<>();
Map<String, Long> nested = new HashMap<>();
nested.put("inner1", 1L);
nested.put("inner2", 2L);
nested.put("inner3", 3L);
counters.put("out1", nested);
counters.put("out2", nested);
@exceptionplayer
exceptionplayer / TokenGenerator.java
Created July 2, 2018 07:02 — forked from caoxudong/TokenGenerator.java
tomcat中生成JSESSIONID的代码
package com.meiliao.ops.utils.security;
import java.security.NoSuchAlgorithmException;
import java.security.NoSuchProviderException;
import java.security.SecureRandom;
import java.util.HashMap;
import java.util.Map;
import java.util.Queue;
import java.util.concurrent.ConcurrentLinkedQueue;
@exceptionplayer
exceptionplayer / git-branch.md
Created March 14, 2018 03:54 — forked from yisibl/git-branch.md
在Mac、Linux 终端显示 Git 当前所在分支

在Mac、Linux 终端显示 Git 当前所在分支

  1. 进入你的home目录
cd ~
  1. 编辑.bashrc文件
@exceptionplayer
exceptionplayer / linux_smap_analyzer.py
Created January 4, 2018 10:57 — forked from LanderlYoung/linux_smap_analyzer.py
Linux /proc/<pid>/smaps analyzer python script
#!/usr/bin/env python
# encoding: utf-8
from __future__ import print_function
'''
analyze /proc/<pid>/smaps
doc
http://liutaihua.github.io/2013/04/25/process-smaps-analysis.html