Skip to content

Instantly share code, notes, and snippets.

View Ivlyth's full-sized avatar
🎯
Focusing

Ivlyth Ivlyth

🎯
Focusing
View GitHub Profile
@Ivlyth
Ivlyth / README.md
Last active April 20, 2023 11:14
使用 mitmproxy 作为代理记录 http/https 请求/响应 详情

本文档使用 docker image mitmproxy/mitmproxy:9.0.1 进行演示

开发自定义 log add-on

根据 mitmproxy 的文档,我们可以编写自定义的 Addon 进行 http 的日志采集和外发,详见 这里

启动容器

docker run --rm -it \
@Ivlyth
Ivlyth / ast.md
Last active July 19, 2023 05:56
golang ast
a()
     0  *expr.CallExpr {
     1  .  CallExpr: ast.CallExpr {
     2  .  .  Fun: *ast.Ident {
     3  .  .  .  NamePos: -
     4  .  .  .  Name: "a"
 5 . . }
@Ivlyth
Ivlyth / README.md
Last active July 21, 2022 09:22
use nginx to setup dynamic forward web server

作为 toB 的企业,有时候,在客户现场是有严格的防火墙限制的,只有一些常见的必要的端口开放允许访问,比如 22/80/443。

但是一个产品,通常用到了很多组件,部分开源或者自研组件是有 web 管理/调试 界面的,他们通常运行在不同的端口,甚至是
集群中的不同机器上边,而在客户现场,一般都是用 IP 来直接访问某台机器的 web 服务的,并没有 域名 可以使用(因为每一
个客户现场 IP 都不相同,另外客户内网可能也无法进行公网 dns 解析)。 而且更有甚者,部分客户可能仅允许在中控台访问
集群的部分 IP(比如所谓的 master 节点)。

这就导致我们在现场需要不同的 web 界面进行调试的时候异常尴尬,虽然部分客户可以沟通去更改防火墙策略,将我们要求的 IP+port
加白放开,但是毕竟还需要沟通,有时候跨版本可能又有新的端口需要开放而大家一般记不住,这就可能需要跟客户二次、三次沟通,
惹得客户也很厌烦。

@Ivlyth
Ivlyth / parse_ssh_forward_config.py
Created July 18, 2022 11:29
python snippet for parse self-defined ssh forward config
# -*- coding:utf8 -*-
"""
Author : Myth
Date : 2021/1/21
Email : email4myth at gmail.com
"""
from __future__ import unicode_literals
import ipaddress
@Ivlyth
Ivlyth / surge.conf
Created June 21, 2022 12:10
test for dler api
IP-CIDR,10.0.0.0/16,SnellTest
[Proxy]
SnellTest = snell, 1.1.1.1, 20888, psk=owiejoiwoefjwoejfoweif, obfs=http, version=3
[Rule]
@Ivlyth
Ivlyth / mail-maker.py
Last active June 25, 2021 07:19
命令行邮件工具,用于快速发送邮件及录制 pcap 用于协议解析测试
# -*- coding:utf8 -*-
"""
Author : Myth
Date : 2021/3/9
Email : email4myth at gmail.com
"""
from __future__ import unicode_literals
@Ivlyth
Ivlyth / test-redirect.js
Created December 11, 2020 05:59
simple http server for redirect test
'use strict';
const express = require('express');
const app = express();
app.use(express.json());
// create spider task
app.get('/[abcd]?', async (req, res) => {
@Ivlyth
Ivlyth / algorithm
Last active February 16, 2022 07:32
interview codings
给定一个二维数组 L[n][m], 设计一个算法, 使其可以从左上角开始, 按照顺时针顺序由外向内的输出二维数组的每个元素.
比如给定输入:
L = [[0, 1, 2, 3, 4, 5],
[9, 0, 1, 2, 3, 6],
[8, 1, 2, 3, 4, 7],
[7, 0, 5, 4, 5, 8],
[6, 9, 8, 7, 6, 9],
[5, 4, 3, 2, 1, 0]]
@Ivlyth
Ivlyth / ifstats.py
Last active June 17, 2020 07:19
network work card interface stats
# -*- coding:utf8 -*-
"""
Author : Myth
Date : 2020/6/16
Email : email4myth at gmail.com
"""
from __future__ import unicode_literals
import argparse
@Ivlyth
Ivlyth / bpf-parser.py
Created April 2, 2020 11:15
self-defined simple BPF syntax parser
# -*- coding:utf8 -*-
"""
Author : Myth
Date : 2020/3/16
Email : email4myth at gmail.com
"""
from __future__ import unicode_literals
import sys