一图

流水账

#观点 以前我有个朋友跟我说过一句特牛逼的话:爱情就像两个拉着同一根橡皮筋,只有先松手的人才不会受伤。

#观点 今天一大早就收到一个不好的消息。之前一位经常一起骑行的骑友在骑行318途中刚出昌都不远出了车祸过世了,据闻是被大货车碾压了。他是5月中旬出发重骑318,我还时不时给他留言询问进度,想不到世事无常,人已离世,现在心子很不舒服…。

#观点 这世界没有什么东西是一成不变的,也正是因为这样,这世界才多姿多彩。心有郁结的人该走去,不该停留在不好的回忆里,不好的思绪里,该看看这世界的美好,这是活着的意义,而他们走偏了。

#观点 最近高考,和大家聊了聊关于一个好大学是否是好这一事。我的个人观点是灵活的思维模式比读书更重要。很多以前读书时期的混子能挣着钱,而一些读死书的高材生最后可能连工作都不好找就是比较好的例子。另外就是执行力,有了思维如何实践出真知就是另外一个重要环节了。最后就是运气了,不过称之为运气,我总觉得有点不妥,因为都是别人在做出某些选择之后成功了才被称为运气。不过总的来说读书是一个非常好开拓思维的方式之一,但不是唯一的选择。

工具

gifski:非常屌的GIF生成工具

#工具 来自 OdinSay

基于 pngquant 的高质量 GIF 编码器。 gifski 使用 pngquant 的奇特功能将视频帧转换为 GIF 动画,以实现高效的跨帧调色板和时间抖动。它生成每帧使用数千种颜色的动画 GIF。

看了一下官方生成后的效果图,太厉害了!

我之前也有用过一些其他工具生成GIF动图,如utool的截图插件、ShareX和现在用的 PixPin,但是这些工具生成的GIF图要不帧率太低,要不就是体积过大,亦或者是颜色不行,总不能完美,相信这个库以后会很完美的解决这个问题。

项目地址:GitHub - ImageOptim/gifski: GIF encoder based on libimagequant (pngquant). Squeezes maximum possible quality from the awful GIF format.

阿里云618活动

#VPS 来自 蓝点网

上一期推荐了腾讯云的服务器99元续费,今天发现阿里云也退出了类似的活动,我猜测应该这几家国内头部云服务厂家正在打价格战。

而且根据 网友小宋 反映,腾讯云又退出了618的年中活动,而且也有99元续费活动,有想升级、续费VPS的朋友这段时间可以关注一下了,刚刚去看了一下,我好像又可以参加了,不过目前VPS有3年有效期,暂时不打算再续了,感觉以后VPS的价格应该会越来越便宜…。

阿里云活动地址:618创新加速季_新迁入云享5亿算力补贴-阿里云 腾讯云活动地址:腾讯云618年中盛惠来啦!

favicon:搭建你自己的网站icon获取服务

#github #工具

以前实现过一个 文章内链接自动增加网站 icon 的功能,就是将需要获取icon的网站传给一个API,该API会将icon返回给你,此时再根据进行使用即可,不过这类API经常失效,有一些稳定的却会出现被墙的问题,比如我上面这篇文章内提到的API网站就已经失效。

Favicon这个项目是利用cfwork搭建的服务,fork项目后修改 wrangler.toml 配置即可部署出一个你自己的icon服务,至少在你使用期间他是绝对不会过期的。

项目地址:GitHub - splitbee/favicon-resolver: Get the favicon from an URL utilizing cloudflare workers

关于如何在公网开端口

#知识 来自 V2ex

在V站看到一篇关于如何在公网开端口的讨论帖,文中有个做法很有意思,也就是访问前先通过一些api服务把ip加进白名单,这样当前的机器就有临时访问权限了。

第三层是 IP 白名单,要求你的防火墙或者路由器支持 API 或者 ssh/telnet 等交互方式,这样便于实现脚本自动修改白名单。我的思路是先通过 ip 接口(例如 https://myip.ipip.nethttps://ddns.oray.com/checkiphttps://ip.3322.net ,也可以自己在云服务器跑一个获取 IP 的 docker: https://github.com/yshtcn/GetIP_Service ),然后用脚本把 IP 加入白名单(我的用例是自动注册 IP 到阿里云安全组: https://github.com/yshtcn/alicloud-ip-updater ),并定期删除和清理。只要能交互,用 gpt 类实现脚本可以减轻不少工作量。

WebRTC 泄露IP处理

#工具 来自 OdinSay

之前在使用 MyIP 做泄露检测时发现WebRTC这一项是泄露状态,我尝试查询相关资料和询问ChatGPT对这一问题进行处理,但是始终不得其法。今天无意间看到Odin大佬推荐了一个Chrome插件,安装后进行对应的设置后再使用MyIP进行测试会发现这一项的结果变成了 待检测或链接错误

插件地址:WebRTC Leak Prevent MyIP检测工具:IPCheck.ing - Check My IP Address and Geolocation - Check WebRTC Connection IP - DNS Leak Test - Speed Test - Ping/MTR Test - Jason Ng Open Source

插件安装后会弹出设置窗口,将 IP handling policy 选项修改为 Disable non-proxied UDP (force proxy) 即可。

四象限工具

#工具 来自 V2ex

  1. 复制下面链接到浏览器地址栏可直接打开,不需要网络
  2. 将打开的网页保存本地 html 后再打开,页面内容就能支持本地保存,刷新不丢失

一个形式上很有意思的四象限工具,将网页内容转换为base64格式展示,虽然逻辑上就是一个html网页,数据用 localStorage 来保存。

data:text/html;base64,CjwhRE9DVFlQRSBodG1sPgo8aHRtbCBsYW5nPSJlbiI+Cgo8aGVhZD4KICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MS4wIj4KICAgIDx0aXRsZT7lm5vosaHpmZA8L3RpdGxlPgogICAgPHN0eWxlPgogICAgICAgIGJvZHkgewogICAgICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgICAgIGhlaWdodDogMTAwdmg7CiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNTAlIDUwJTsKICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiA1MCUgNTAlOwogICAgICAgICAgICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7CiAgICAgICAgfQoKICAgICAgICAucXVhZHJhbnQgewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsKICAgICAgICAgICAgcGFkZGluZzogMTBweDsKICAgICAgICB9CgogICAgICAgIC5xdWFkcmFudCBpbnB1dFt0eXBlPSd0ZXh0J10gewogICAgICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgICAgIHBhZGRpbmc6IDBweDsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKCiAgICAgICAgfQoKICAgICAgICAucXVhZHJhbnQgdGV4dGFyZWEgewogICAgICAgICAgICBmbGV4LWdyb3c6IDE7CiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7CiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7CiAgICAgICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICAgICAgcmVzaXplOiBub25lOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4OwoKICAgICAgICB9CgogICAgICAgICNxdWFkcmFudDEgewogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhiM2QwOwogICAgICAgIH0KCiAgICAgICAgI3F1YWRyYW50MiB7CiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiM2U1ZmM7CiAgICAgICAgfQoKICAgICAgICAjcXVhZHJhbnQzIHsKICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmY2NiYzsKICAgICAgICB9CgogICAgICAgICNxdWFkcmFudDQgewogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDdjM2ZhOwogICAgICAgIH0KCiAgICAgICAgLnF1YWRyYW50IHRleHRhcmVhIHsKICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjEpOwogICAgICAgIH0KICAgIDwvc3R5bGU+CjwvaGVhZD4KCjxib2R5PgoKICAgIDxkaXYgaWQ9InF1YWRyYW50MSIgY2xhc3M9InF1YWRyYW50Ij4KICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgdmFsdWU9IumHjeimgee0p+aApSIga2V5PSJpbnB1dDEiIG9uaW5wdXQ9InNhdmVEYXRhKHRoaXMpIiAvPgogICAgICAgIDx0ZXh0YXJlYSBvbmlucHV0PSJzYXZlRGF0YSh0aGlzKSIga2V5PSJ0ZXh0YXJlYTEiIHBsYWNlaG9sZGVyPSLmoIfpopjlkoznqpflj6Ppg73lj6/nvJbovpEs5L+d5a2Y5Li6aHRtbOaWh+S7tui/kOihjOaUr+aMgeWunuaXtuacrOWcsOS/neWtmOeKtuaAgSI+PC90ZXh0YXJlYT4KICAgIDwvZGl2PgoKICAgIDxkaXYgaWQ9InF1YWRyYW50MiIgY2xhc3M9InF1YWRyYW50Ij4KICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgdmFsdWU9IumHjeimgeS4jee0p+aApSIga2V5PSJpbnB1dDIiIG9uaW5wdXQ9InNhdmVEYXRhKHRoaXMpIiAvPgogICAgICAgIDx0ZXh0YXJlYSBvbmlucHV0PSJzYXZlRGF0YSh0aGlzKSIga2V5PSJ0ZXh0YXJlYTIiPuS7u+WKoTEK5Lu75YqhMgovL+S7u+WKoTMo5bey5a6M5oiQKTwvdGV4dGFyZWE+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGlkPSJxdWFkcmFudDMiIGNsYXNzPSJxdWFkcmFudCI+CiAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHZhbHVlPSLkuI3ph43opoHntKfmgKUiIGtleT0iaW5wdXQzIiBvbmlucHV0PSJzYXZlRGF0YSh0aGlzKSIgLz4KICAgICAgICA8dGV4dGFyZWEgb25pbnB1dD0ic2F2ZURhdGEodGhpcykiIGtleT0idGV4dGFyZWEzIj48L3RleHRhcmVhPgogICAgPC9kaXY+CgogICAgPGRpdiBpZD0icXVhZHJhbnQ0IiBjbGFzcz0icXVhZHJhbnQiPgogICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiB2YWx1ZT0i5LiN6YeN6KaB5LiN57Sn5oClIiBrZXk9ImlucHV0NCIgb25pbnB1dD0ic2F2ZURhdGEodGhpcykiIC8+CiAgICAgICAgPHRleHRhcmVhIG9uaW5wdXQ9InNhdmVEYXRhKHRoaXMpIiBrZXk9InRleHRhcmVhNCI+PC90ZXh0YXJlYT4KICAgIDwvZGl2PgoKICAgIDxzY3JpcHQ+CiAgICAgICAgY29uc3QgdGV4dGFyZWFzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgndGV4dGFyZWEnKTsKICAgICAgICBjb25zdCBpbnB1dHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdpbnB1dCcpOwogICAgICAgIGNvbnN0IG5zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKS5nZXQoIm5zIikKCiAgICAgICAgd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uICgpIHsKCiAgICAgICAgICAgIHRleHRhcmVhcy5mb3JFYWNoKCh0ZXh0YXJlYSwgaW5kZXgpID0+IHsKICAgICAgICAgICAgICAgIGxldCBrZXkgPSAiNHF1YWRyYW50LSIgKyBucyArICItIiArIHRleHRhcmVhLmdldEF0dHJpYnV0ZSgia2V5IikKCiAgICAgICAgICAgICAgICBjb25zdCBzYXZlZFZhbHVlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KTsKICAgICAgICAgICAgICAgIGlmIChzYXZlZFZhbHVlKSB7CiAgICAgICAgICAgICAgICAgICAgdGV4dGFyZWEudmFsdWUgPSBzYXZlZFZhbHVlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKICAgICAgICAgICAgaW5wdXRzLmZvckVhY2goKGlucHV0LCBpbmRleCkgPT4gewogICAgICAgICAgICAgICAgbGV0IGtleSA9ICI0cXVhZHJhbnQtIiArIG5zICsgIi0iICsgaW5wdXQuZ2V0QXR0cmlidXRlKCJrZXkiKQoKICAgICAgICAgICAgICAgIGNvbnN0IHNhdmVkVmFsdWUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpOwogICAgICAgICAgICAgICAgaWYgKHNhdmVkVmFsdWUpIHsKICAgICAgICAgICAgICAgICAgICBpbnB1dC52YWx1ZSA9IHNhdmVkVmFsdWU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgIH07CiAgICAgICAgZnVuY3Rpb24gc2F2ZURhdGEoZWxlbWVudCkgewogICAgICAgICAgICBsZXQga2V5ID0gIjRxdWFkcmFudC0iICsgbnMgKyAiLSIgKyBlbGVtZW50LmdldEF0dHJpYnV0ZSgia2V5IikKICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oa2V5LCBlbGVtZW50LnZhbHVlKTsKICAgICAgICB9CgogICAgPC9zY3JpcHQ+Cgo8L2JvZHk+Cgo8L2h0bWw+

请保护好你的Cookie

#新闻 #Chrome插件 来自 X

在X上看到一位玩币安的大佬被黑客盗取了100w美元的货币。看了下推文,大佬推测是一个行业Chrome插件劫持了cookie,绕过2FA和密码验证,通过「对敲交易」转移了他账户内的所有财产。

不过对于推文关于指责币安是同伙的部分币安也在第一时间做了回应 x.com

该款恶意插件的具体运行原理是:如果你安装并使用了恶意插件,那么黑客就可以收集你的Cookies,并将其转发到黑客的服务器。黑客能够利用收集的Cookies,劫持活跃用户会话(伪装为用户本人),这样黑客不再需要密码或2FA,能够控制你的帐户。 … 在我的实际情况中,因为我的资料保存在1password之中,黑客没有办法绕过2FA提走我的资产。但可以利用我的Cookies,通过挟持我的账户,对敲获取收益。 … 于是我找到推广KOL,我要确定他是否是黑客的同谋,如果不是,那他要立刻通知他的所有用户,马上停用这个插件,避免更大的损失,但在和他去的联系后,更加让我震惊的故事来了。 … 原来币安早就知道这个插件的存在,甚至鼓励这名KOL与黑客进一步获得更多的信息,而我就是在该插件被进一步推广之时被盗的。币安至少在3、4周前就追查到黑客的地址了,也从该KOL处获取到插件的名字和链接。但即便如此,币安很可能是为了继续追查这个黑客,避免打草惊蛇,而没有及时通知暂停这个产品,我也就此成为了牺牲品。

有大佬第二天就撸了一个Chrome插件用于检测有那些插件使用了Cookie权限。

当然,你也可以直接通过 chrome://extensions-internals/ 查看所有插件信息,在信息页面搜索 cookie 也可以定位有那些插件使用了该权限。

推文地址:x.com

插件地址: Release WhoUsesCookies v0.0.1 · sshallow/WhoUsesCookies · GitHub

chrs:一款全平台换源工具

#工具 来自 大大的小蜗牛

这是一款可以根据你的网速设置速度最快镜像源的工具,全平台支持。

  • 支持十数种编程语言的包源管理,如node、go、python、ruby等等,
  • 支持十数种操作系统的软件源管理,如 ubuntu、debian、arch等
  • 支持部分软件的镜像源管理,如 brew、guix、conda等。

我前些日子重装VPS时就遇到过软件源的问题,网上的一些镜像源信息良莠不齐,而且大部分是有问题的,而这个工具可以根据当前的VPS网络环境去测试已知镜像源,设置最优的那个,完美解决这类问题,以后可以告别去网上找镜像源信息的麻烦了。

在测试的时候conda似乎需要根据提示手动替换,感觉提示信息有点含糊不清,提了个issue,希望改改。

项目地址:GitHub - RubyMetric/chsrc: chsrc 全平台命令行换源工具. Change Source for every software on every platform from the command line.