
笔记
gtfeature
i'm gt / email: zhaojunlike@gmail.com
展开
-
笔记.解决实现客户端修改tls指纹后导致的HTTP2.0 Push数据接收问题
背景现在很多网站都支持http2.0,在其实大部分网站没有使用到服务端主动push的功能,今天刚好遇到,在golang客户端修改 http2 header头,强制支持 enable_push=0x1 后,会导致服务端连续发了一堆请求。这样会导致客户端的接受数据无法处理push事件从而抛出错误。工作如何解决:https://go-review.googlesource.com/c/net/+/85577 根据这篇文章的提交,最早就有人提出解决方案,于是便尝试接入原golang保留了一个push解析,原创 2021-09-09 14:49:48 · 906 阅读 · 1 评论 -
寻找高匿名破盾代理方案1. tinyproxy
背景在大量反爬检测手段中,一些代理服务器软件的协议处理和转发底层会导致一些指纹信息被检测,其中最重要的就是TCP指纹检测了,目前还在探索阶段。之前使用付费版的goproxy虽然功能很强大,但是性能很差,很多流量统计功能其实用不上,最终开始选择尝试tinyproxy squid这样老牌高性能的proxy组件Tinyproxyhttps://tinyproxy.github.io/tinyproxy介绍是一个轻量级的支持 POSIX 的http/https代理软件,官方说明了其支持全功能http代原创 2021-09-01 09:06:04 · 1419 阅读 · 0 评论 -
笔记.cloudflare 的橙色云代理ssl坑
cloudflarecloudflare作为免费的代理和CDN服务非常强大,并且可以自定义一些防火墙防御功能,同时又可以提供SSL一件套件功能。cloudflare本身CDN上提供了一层SSL证书,在dns开启橙色云后生效,但是在针对域名xx.xx.demo.com 这种域名的时候发生ssl不生效了,仔细测了一下发现边缘证书只针对*.demo.com demo.com 生效,也就是说如果是 *.*.demo.com 这种域名是无法进行ssl代理的,除非是购买商业版。...原创 2021-08-17 17:12:04 · 4390 阅读 · 0 评论 -
Golang1.6 官方支持embed 替换掉statilk
Golang1.6 官方支持embed 替换掉statilk在之前有一个场景是我们想把一些静态资源打包到二进制中,我们通常做法是通过一些打包工具,将数据转化成bytes进行包裹到文件系统里,常用工具 statilk 不过这种做法可以退休了,官方支持embed指令进行打包。https://golang.org/pkg/embed/embedembed 支持3种类型 bytes string Fs 足够静态资源加载和使用。并且官方支持 go list指令来查看静态文件依赖。To support t原创 2021-07-27 12:15:48 · 362 阅读 · 0 评论 -
Nodejs gRPC client 使用typescript
使用protoc 生成ts的pb文件在使用直接生成pb.js后,调用的过程中IDE的代码提示比较差,很多需要翻文档才能查到,所以我们寻找支持ts或者能够生成 .d.ts 文件的工具,如下是makefile官方文档:https://github.com/improbable-eng/ts-protoc-genMakefileprod: grpc_tools_node_protoc --plugin=protoc-gen-ts=./node_modules/.bin/grpc_tools_node_p原创 2021-07-23 23:18:28 · 972 阅读 · 0 评论 -
记一次逆向拿到github token 然后dump掉别人所有库的
背景今天逆electron系统的时候发现这个人使用github ci,并且这个人很愚蠢的是把github的token写死到yml文件中了(切记这种是可以直接配置github的secrets参数的)接着好玩的就来了,写一个脚本直接dump别人所有的代码库,下来品鉴品鉴# pip install GitPythonimport http.clientimport jsonimport gitimport osGH_TOKEN = "xxxxxx"conn = http.client.HT原创 2021-07-22 17:59:39 · 351 阅读 · 0 评论 -
aliyun托管kubernetes部署postgress
配置文件其中需要注意的是,在绑定容器卷的时候需要单独加上alicloud-pvname 方便查找才能关联apiVersion: v1kind: ConfigMapmetadata: name: postgres-config namespace: postgres labels: app: postgresdata: POSTGRES_DB: master POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres---原创 2021-07-22 17:04:39 · 384 阅读 · 0 评论 -
Golang 发布Docker 编译镜像,防止源码泄露
Dockerfile# stage1 build sourceFROM golang:latest AS builderCOPY ./ht-project /codes/ht-projectCOPY ./termites /codes/termitesWORKDIR /codes/ht-project## install packagesRUN go env -w GOPROXY=https://goproxy.cn,direct && go mod tidy## bui原创 2021-06-04 16:26:29 · 667 阅读 · 0 评论 -
Jenkins 配置mirrors
配置Jenkins的mirrors参考:https://lework.github.io/2020/03/05/jenkins-update-center/可选一个CDN的update-center.json修改mirros: 系统管理->插件管理->高级>UpdaterCenter 放入连接原创 2021-06-04 16:23:03 · 301 阅读 · 0 评论 -
node-ffi 调用Golang动态库
node-ffi 调用Golang动态库node-ffi库以及无维护,尝试使用napi-fficonst ffi = require('ffi-napi');const fs = require('fs');console.log(process.arch, process.platform);//# 坑 不能使用除开dll其他的后缀export class AA { static dll; //這個加載太耗時了,这种不是IO,是CPU,所以只等API支持异步 sta原创 2020-06-03 16:11:03 · 3887 阅读 · 1 评论 -
QA:Golang抽象nil问题
问题描述比如说 a 变量是 *xxx , 他实现接口 Ixxx, 如果*xx 没有初始化 =nil,返回回去给ixxx,那么 Ixxx ! =nil 但是实际是nil如图所示启动LoadTaskManager 返回一个 定义为如下的接口type ITM interface{}fun(xx *xx) LoadTaskManager() ITM {}如果*xx 中有一个实现 ITM的,但是没有初始化的接口 *yeezy,此时直接判断 *yeezy=nil,但是如果返回这个 *yeez原创 2020-06-03 12:07:52 · 360 阅读 · 0 评论 -
make files touse cmd line to protect exe
使用vmp cmd line关联文档:http://www.vmpsoft.com/forum/viewtopic.php?t=857http://vmpsoft.com/20190803/vmprotect-3-4/创建配置文件a.exe.vmp<?xml version="1.0" encoding="UTF-8" ?><Document Version="2"> <Protection InputFileName="a.exe" Options="8原创 2020-06-01 07:19:16 · 355 阅读 · 0 评论 -
WPF 重定向DLL stdout
场景在wpf程序中调用dll,dll中包含了stdout stdin之类的输出输入流,程序启动后,并不会写入到console的流中,这个时候需要用底层的API进行重定向docs: https://docs.microsoft.com/en-us/dotnet/api/system.console.setout?view=netcore-3.1 [DllImport("kernel32.dll", EntryPoint = "GetStdHandle", SetLastError = true,原创 2020-05-31 07:23:21 · 455 阅读 · 0 评论 -
LOG.奇葩字节
奇葩字节最近遇到一个字节如图所示import ( "fmt" "testing")var code = "0"func TestNewApi(t *testing.T) { fmt.Println(code) fmt.Println([]byte(code)) fmt.Println(len(code))}=== RUN Test...原创 2020-04-15 19:54:27 · 201 阅读 · 0 评论 -
LOG. Supervisor基本使用
Supervisor-守护进程工具有些自写程序需要类似systemctl或者之类的守护进程工具,所以选择supervisor,简单方便,而且python是linux内置,所以安装非常简单官方连接:http://www.supervisord.org/使用yum安装sudo yum install supervsor -y使用python工具安装yum install python-s...原创 2020-03-13 19:11:08 · 746 阅读 · 0 评论 -
1. golang 接入Discord做消息推送
discorddiscord 是非常优秀的聊天工具,游戏开黑还有非常多的开发组也在使用discord作为沟通聊天工具第三方库:github.com/andersfylling/disgordpackage mainimport ( "github.com/go-redis/redis/v7" "github.com/zhaojunlike/logger" "os"...原创 2020-03-02 12:52:31 · 2151 阅读 · 0 评论 -
QA: c# IHttpFactory配置代理或者HttpClient配置代理
第一种是直接给service添加服务var serviceCollection = new ServiceCollection();serviceCollection .AddHttpClient(NamedHttpClients.ProxiedClient) .ConfigurePrimaryHttpMessageHandler(() => new HttpClien...原创 2019-12-05 08:36:51 · 1856 阅读 · 1 评论 -
QA: Android 开发kotlin换行格式难看问题
Q: Android 开发kotlin换行格式难看问题比如说这种,好像是android studio更新后,默认的换行只有200个col,就会很难看,团队开发约束难A:使用editorconfig进行限制现在各大ide编辑器都支持editorconfig,也是团队约束代码最简单的手段(出了使用lint 也需要是用editorconfig)[*]charset = utf-8inser...原创 2019-12-04 08:36:24 · 1930 阅读 · 0 评论 -
vs 和 rider 一决高下 结合开发dotnet应用
vs优点:微软原生,xmal支持,渲染,blend 可以快速高效的进行UI开发调试方便,UI傻瓜化操作更多缺点:吃电脑性能,卡顿,代码编写体验不友好rider优点:jetbrains 大厂,idea快捷键支持,编码效率高,功能强大缺点:xmal支持弱,无法渲染vs2019vs2019 目前支持了WPF 的UI hotload,热加载,大大减少了UI开发调试周...原创 2019-11-27 21:38:51 · 4246 阅读 · 0 评论 -
C# HttpClient Multipart 上传文件
使用httpClient 上传文件需求如下,上传文件接口:POST /api/app/v01 HTTP/1.1User-Agent: Dalvik/2.1.0 (Linux; U; Android 5.1.1; xiaomi 6 Build/LYZ28N) ShoppiesForAndroidApp Version/3.0.15Cache-Control: no-cacheContent...原创 2019-11-27 21:33:32 · 2447 阅读 · 0 评论 -
C# WPF ListView Bindding 图片
ListVIew 绑定图片MainWIndow.xmal <GroupBox Grid.Column="1" Header="图片预览"> <Grid> <ListView ItemsSource="{Binding}" Name="LvImg"> <Lis...原创 2019-11-27 18:25:27 · 2077 阅读 · 1 评论