Skip to content

Instantly share code, notes, and snippets.

@time-river
time-river / Makefile
Created December 5, 2020 15:18
Linux lernel log level test
obj-m += printk_device.o
all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
@time-river
time-river / README.md
Last active May 13, 2022 08:48
a golang demo that makes IPv4 http proxy to global tcp transparent proxy

Introduction

a golang demo that makes IPv4 http proxy to global tcp transparent proxy

Usage

# iptables -t nat -A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 1080
# go run main.go proxy.go
@time-river
time-river / http-parse-simple.c
Last active September 15, 2020 16:27
bpfcc dump skb
#include <uapi/linux/ptrace.h>
#include <net/sock.h>
#include <bcc/proto.h>
#define IP_ICMP 1
#define IP_TCP 6
#define ETH_HLEN 14
/*eBPF program.
Filter IP and TCP packets, having payload not empty
@time-river
time-river / common.h
Created December 27, 2019 12:35
syscall test
#ifndef __COMMON_H
#define __COMMON_H
#define ERRNO_OFFSET 0x80
#endif
@time-river
time-river / strncat-demo.c
Last active September 30, 2019 11:00
a strncat tests
/**
* strncat test
* build: gcc -o strncpy strncpy.c -lcrypto
* output:
* $ ./strncpy
* time: 1569841068 sha256(long): H8Zw/CnxF9d/kG10Ck7VfDMNqWADDGMsrD7Wx0wTshY=
* sha256(short): H8Zw/CnxF9d/
* time: 1569841069 sha256(long): uyzMNURXeyOjyCZ1ANI6Lze6lwF1bKUPjU3rHBZyTNY=
* sha256(short): H8Zw/CnxF9d/uyzMNURXeyOj
* time: 1569841070 sha256(long): 1zdqJgOCuILZkti92I2YUuT/KGNuqmSPOioA8rjxEeg=
@time-river
time-river / permutations.py
Last active May 7, 2019 13:56
consideration of permutations.
'''
link
- https://leetcode.com/problems/permutations/
problem:
Given a collection of distinct integers, return all possible permutations.
Example:
Input: [1,2,3]
Output:
[
@time-river
time-river / multiple_pack-2.cpp
Created July 31, 2018 10:55
背包九讲之多重背包 一维数组
/*
* 背包九讲之多重背包 一维数组
* from: http://acm.hdu.edu.cn/showproblem.php?pid=2191
* reference: https://blog.csdn.net/hellobabygogo3/article/details/7993547
*/
#include <bits/stdc++.h>
using namespace std;
@time-river
time-river / multiple_pack-1.cpp
Created July 31, 2018 10:54
背包九讲之多重背包,二维数组
/*
* 背包九讲之多重背包 二维数组
* from: http://acm.hdu.edu.cn/showproblem.php?pid=2191
* reference: https://blog.csdn.net/hellobabygogo3/article/details/7993547
*/
#include <bits/stdc++.h>
using namespace std;
@time-river
time-river / complete_pack-2.cpp
Created July 31, 2018 10:48
背包九讲之完全背包,恰好装满,一维(滚动)数组
/*
* 背包九讲之完全背包 恰好装满 滚动数组
* from: http://acm.hdu.edu.cn/showproblem.php?pid=1114
* reference: https://blog.csdn.net/liujc_/article/details/44003167
*/
#include <bits/stdc++.h>
#define PMAX 1000000001
@time-river
time-river / complete_pack-1.cpp
Created July 31, 2018 10:47
背包九讲之完全背包,恰好装满,二维数组
/*
* 背包九讲之完全背包 恰好装满 二维数组
* from: http://acm.hdu.edu.cn/showproblem.php?pid=1114
* reference: https://blog.csdn.net/liujc_/article/details/44003167
*/
#include <bits/stdc++.h>
#define NMAX 500
#define PMAX 1000000001