本文档使用 docker image mitmproxy/mitmproxy:9.0.1 进行演示
根据 mitmproxy 的文档,我们可以编写自定义的 Addon 进行 http 的日志采集和外发,详见 这里
docker run --rm -it \
本文档使用 docker image mitmproxy/mitmproxy:9.0.1 进行演示
根据 mitmproxy 的文档,我们可以编写自定义的 Addon 进行 http 的日志采集和外发,详见 这里
docker run --rm -it \
0 *expr.CallExpr {
1 . CallExpr: ast.CallExpr {
2 . . Fun: *ast.Ident {
3 . . . NamePos: -
4 . . . Name: "a"
5 . . }
作为 toB 的企业,有时候,在客户现场是有严格的防火墙限制的,只有一些常见的必要的端口开放允许访问,比如 22/80/443。
但是一个产品,通常用到了很多组件,部分开源或者自研组件是有 web 管理/调试 界面的,他们通常运行在不同的端口,甚至是
集群中的不同机器上边,而在客户现场,一般都是用 IP 来直接访问某台机器的 web 服务的,并没有 域名 可以使用(因为每一
个客户现场 IP 都不相同,另外客户内网可能也无法进行公网 dns 解析)。 而且更有甚者,部分客户可能仅允许在中控台访问
集群的部分 IP(比如所谓的 master 节点)。
这就导致我们在现场需要不同的 web 界面进行调试的时候异常尴尬,虽然部分客户可以沟通去更改防火墙策略,将我们要求的 IP+port
加白放开,但是毕竟还需要沟通,有时候跨版本可能又有新的端口需要开放而大家一般记不住,这就可能需要跟客户二次、三次沟通,
惹得客户也很厌烦。
# -*- coding:utf8 -*- | |
""" | |
Author : Myth | |
Date : 2021/1/21 | |
Email : email4myth at gmail.com | |
""" | |
from __future__ import unicode_literals | |
import ipaddress |
IP-CIDR,10.0.0.0/16,SnellTest | |
[Proxy] | |
SnellTest = snell, 1.1.1.1, 20888, psk=owiejoiwoefjwoejfoweif, obfs=http, version=3 | |
[Rule] |
# -*- coding:utf8 -*- | |
""" | |
Author : Myth | |
Date : 2021/3/9 | |
Email : email4myth at gmail.com | |
""" | |
from __future__ import unicode_literals |
'use strict'; | |
const express = require('express'); | |
const app = express(); | |
app.use(express.json()); | |
// create spider task | |
app.get('/[abcd]?', async (req, res) => { |
给定一个二维数组 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]] |
# -*- coding:utf8 -*- | |
""" | |
Author : Myth | |
Date : 2020/6/16 | |
Email : email4myth at gmail.com | |
""" | |
from __future__ import unicode_literals | |
import argparse |
# -*- coding:utf8 -*- | |
""" | |
Author : Myth | |
Date : 2020/3/16 | |
Email : email4myth at gmail.com | |
""" | |
from __future__ import unicode_literals | |
import sys |