golang实现http,socks5代理扫描工具

本篇文章主要介绍使用golang实现一个代理扫描工具,目前主流常用的代理有http代理,和socks5代理两种模式,当然还有什么vpn,ss这种代理,不在本文讨论范畴,因为这些是加密的。 扫描出来可以被我们使用的代理,当然是不需要密码,免费的代理了。 首先是httpProxy的实现:……

阅读全文

微信和支付宝离线付款码,动态密码保护器实现原理探索(2)

今天这篇文章主要讲微信和支付宝的离线付款码的一种实现思路。 付款码就是我们出示给商家扫码的一种码,这种码在首次初始化之后,不用联网也可以动态生成。 本文仅代表个人的一种实现原理的探索,仅供参考,不代表实际支付宝的付款码实现方案,也许支付宝的付款码实现方案算法更加完美,更加好。 如果有更……

阅读全文

微信和支付宝离线付款码,动态密码保护器实现原理探索(1)

网易将军令是一种动态的密码保护器,还有赛门铁克的vipAccess也是一种动态密码保护器。 它们的特点是可以离线动态生成,同时每过一分钟或者半分钟之后,密码都会变化一次,是一个六位数的密码。 这个密码的用途是在你输入你的账号加上固定密码之后,还需要额外输入一个动态密码。这个就是上面说……

阅读全文

golang之什么时候该用指针?

有时候看别人的go代码,发现他们有的在代码里面用了指针,有的不使用。 假设有个结构体类型叫做Person, 发现有些方法会用func methodA (*person Person)作为参数, 或者使用 func *(person Person) methodA()作为结构体自己的方法,也就是person这个结构体 可以直接调用methodA,但是用的是指针……

阅读全文

golang手把手实现tcp内网穿透代理(3)快速编码测试

差不多一个星期没更新这个系列了,今天难得有点时间,然后就开始写了点代码,上一章节讲了数据模型的定义和数据发送。这些都是一些准备,但是实际上距离真正实现tcp内网穿透代理还有些距离。 所以今天的章节是快速写一个例子,来测试一下tcp内网穿透代理。然后再规范代码,因为快速的demo测试……

阅读全文

java实现filter的责任链设计模式

今天心血来潮,突然想起tomcat,jetty等servlet容器,有一个设计模式,很有意思的,那就是filter, 简单回顾一下filter,当我们把filter注册在web.xml里面的话,同时按照一定的顺序,假设我们有三个filter 那么就会先调用A->B->C,……

阅读全文

golang手把手实现tcp内网穿透代理(1)

使用golang手把手实现一个tcp内网穿透代理工具。 描述一下应用场景,假设内网也就是我们的局域网,我们的电脑,pc运行了一个tomcat服务器,或者nginx服务器,又或者jdbc数据库,又或者python的服务器。 正常来说,我们是无法通过互联网达到访问局域网的电脑,pc的。 然……

阅读全文

golang手把手实现tcp内网穿透代理(2)

上一篇文章明确了我们需要做的东西,接下来就是实现具体功能 定义数据模型 首先是协议的定义,服务端和客户端需要一套协议来交互 协议的内容包括了,livecheck,以及发起tcp连接建立的请求,和响应的对象 假设内网里面需要暴露到外网的端口是5050,那么客户端需要请求服务端在外网建立一个……

阅读全文

优化ngrok的tcp连接

ngrok支持tcp tunnel和http以及https,但是ngrok的tcp代理似乎优化不够好,当一段时间闲置tcp连接的话,再连接会出现连接不上的问题。 首先来看看ngrok的tcp tunnel的原理: 假设ngrok的client端配置文件如下 #填写服务器域名和连接端口 server_addr: ngrok.domain.com:4444 trust_host_root_certs:……

阅读全文

centos7 安装openvpn

环境准备 openvpn 的yum源 yum install epel-release 编辑/etc/yum.repos.d/epel.repo,设置enabled为1 或者运行yum-config-manager –enable epel 一键安装脚本下载 下载openvpn一键安装脚本 https://github.com/Nyr/openvpn-install wget https://git.io/vpn -O openvpn-install.sh && bash openvpn-install.sh mac下载openvpn的client端,tunnelblick……

阅读全文