2022年8月22日
如何使用python读取chrome的书签? 使用如下命令安装pip库 pip install chrome-bookmarks 使用方法: import chrome_bookmarks for folder in chrome_bookmarks.folders: print(folder.name) print(folder.folders) for url in chrome_bookmarks.urls: print(url.url, url.name)……
阅读全文
2019年7月28日
iphone有个很实用的功能那就是屏幕朗读,简单来说就是使用屏幕朗读之后,iphone会把整个屏幕的文字朗读给你听。这个功能可以很好的帮助我们练习各种国家语言的听力 首先怎么快速方便使用这个功能? 当然是把屏幕朗读加入到屏幕的那个小圆圈里面。 具体步骤如下: 设置->通用->……
阅读全文
2019年7月7日
本篇文章主要介绍使用golang实现一个代理扫描工具,目前主流常用的代理有http代理,和socks5代理两种模式,当然还有什么vpn,ss这种代理,不在本文讨论范畴,因为这些是加密的。 扫描出来可以被我们使用的代理,当然是不需要密码,免费的代理了。 首先是httpProxy的实现:……
阅读全文
2019年6月27日
今天这篇文章主要讲微信和支付宝的离线付款码的一种实现思路。 付款码就是我们出示给商家扫码的一种码,这种码在首次初始化之后,不用联网也可以动态生成。 本文仅代表个人的一种实现原理的探索,仅供参考,不代表实际支付宝的付款码实现方案,也许支付宝的付款码实现方案算法更加完美,更加好。 如果有更……
阅读全文
2019年6月26日
网易将军令是一种动态的密码保护器,还有赛门铁克的vipAccess也是一种动态密码保护器。 它们的特点是可以离线动态生成,同时每过一分钟或者半分钟之后,密码都会变化一次,是一个六位数的密码。 这个密码的用途是在你输入你的账号加上固定密码之后,还需要额外输入一个动态密码。这个就是上面说……
阅读全文
2019年6月24日
有时候看别人的go代码,发现他们有的在代码里面用了指针,有的不使用。 假设有个结构体类型叫做Person, 发现有些方法会用func methodA (*person Person)作为参数, 或者使用 func *(person Person) methodA()作为结构体自己的方法,也就是person这个结构体 可以直接调用methodA,但是用的是指针……
阅读全文
2019年6月22日
差不多一个星期没更新这个系列了,今天难得有点时间,然后就开始写了点代码,上一章节讲了数据模型的定义和数据发送。这些都是一些准备,但是实际上距离真正实现tcp内网穿透代理还有些距离。 所以今天的章节是快速写一个例子,来测试一下tcp内网穿透代理。然后再规范代码,因为快速的demo测试……
阅读全文
2019年6月14日
今天心血来潮,突然想起tomcat,jetty等servlet容器,有一个设计模式,很有意思的,那就是filter, 简单回顾一下filter,当我们把filter注册在web.xml里面的话,同时按照一定的顺序,假设我们有三个filter 那么就会先调用A->B->C,……
阅读全文
2019年6月13日
使用golang手把手实现一个tcp内网穿透代理工具。 描述一下应用场景,假设内网也就是我们的局域网,我们的电脑,pc运行了一个tomcat服务器,或者nginx服务器,又或者jdbc数据库,又或者python的服务器。 正常来说,我们是无法通过互联网达到访问局域网的电脑,pc的。 然……
阅读全文
2019年6月13日
上一篇文章明确了我们需要做的东西,接下来就是实现具体功能 定义数据模型 首先是协议的定义,服务端和客户端需要一套协议来交互 协议的内容包括了,livecheck,以及发起tcp连接建立的请求,和响应的对象 假设内网里面需要暴露到外网的端口是5050,那么客户端需要请求服务端在外网建立一个……
阅读全文