0%

背景

当使用 expect 登入你的虚拟主机的时候,你会发现使用 vim,会经常出现行错乱的问题。

原因

expect 脚本自动 ssh 登陆,当终端窗口发生变化时,默认 expect 不会将终端窗口大小改变的信号传送到远程的服务器上,因此在使用上会出现很不方便的地方,比如 vim 打开文件时出现串行,要是含有中文的文件可能根本无法编辑。

解决

1
2
3
4
5
6
7
8
#!/usr/bin/env expect 
#trap sigwinch spawned
trap {
set rows [stty rows]
set cols [stty columns]
stty rows $rows columns $cols < $spawn_out(slave,name)
} WINCH
#...

结果你发现完全OK ,不再乱行了

什么是 WebRTC?

WebRTC(Web Real-Time Communication)是一种允许网页和应用程序进行实时通信(RTC)的技术。它支持点对点的视频、音频和数据传输,无需安装额外的插件或应用程序。WebRTC 的主要特点如下:

  1. 实时通信:WebRTC 允许用户通过浏览器直接进行语音和视频通话,以及数据共享。
  2. 点对点连接:WebRTC 可以直接在两个用户间建立连接,实现数据的直接传输,而非通过中心服务器。这样做可以减少延迟和提高通信效率。
  3. 兼容性:它是一个开放标准,被大多数现代浏览器支持,包括 Chrome、Firefox、Safari 和 Edge。
  4. 安全性:所有 WebRTC 组件都要求使用安全的起点(HTTPS),并对所有数据进行加密传输。
  5. 多功能性:除了音视频通话,WebRTC 还支持各种数据传输,包括文件共享和实时文本聊天。
  6. NAT 穿透:WebRTC 使用 STUN/TURN 服务器来处理 NAT(网络地址转换)和防火墙穿透,确保不同网络环境下的设备可以相互连接。
  7. 媒体捕获和处理:WebRTC 提供了捕获本地媒体(如摄像头和麦克风输入)、处理和播放远程媒体的能力。
  8. 标准化 API:提供了一套标准的 API,方便开发者在网络应用中集成实时通信功能。

总之,WebRTC 是一种强大的实时通信技术,使得在不同平台和设备之间的音视频通话和数据共享变得简单和高效。

WebRTC 的 NAT 穿透

WebRTC 中的 NAT(网络地址转换)穿透是一个关键技术,用于在两个位于不同网络(例如家庭或企业网络)的设备之间建立直接的通信连接。NAT 穿透对于保证 WebRTC 能够在各种网络环境下正常工作至关重要。以下是 WebRTC NAT 穿透的详细介绍:

1. NAT 问题的背景

  • NAT 的作用:NAT 使多个设备能够共享一个公共 IP 地址,同时保持它们的内部(私有)IP 地址。这是家庭和企业网络常用的一种方法。
  • NAT 对 P2P 的影响:NAT 使得点对点(P2P)通信变得复杂,因为外部网络无法直接访问内部网络中的设备。
阅读全文 »

独立开发者必看,cloudflare worker 其实也能发邮件,而且是比较优雅地发邮件

https://web.okjike.com/originalPost/65203d2205145f31e56e0707

什么是 DKIM ?

https://www.cloudflare.com/zh-cn/learning/dns/dns-records/dns-dkim-record/

终于搞定!!!记录一下步骤,如下:

阅读全文 »

Snapdrop + Clipboard + ChatGPT = Airclipbd.com 隔空剪切板

SnapDrop 局域网内点对点传输

Snapdrop: local file sharing in your browser. Inspired by Apple’s Airdrop.

https://github.com/RobinLinus/snapdrop

  • 同一网络内设备自动发现
  • 设备间文件点对点传输 Peer2Peer

Clipboard 在线剪切板

  • 支持剪切板空间 /${board_name}
  • 公开读写,寄存简单方便
  • 剪贴板复制内容直接粘贴,支持文字、图片、各种文件。
  • 限制粘贴内容最大20MB,每个剪切板空间暂存最新20条记录。
  • 暂存6小时

ChatGPT 提供强大的技术支持

  • 前端支持 HTML, CSS, Javascript
  • 后端支持 Golang, Gin, Redis, Websocket

开发过程与当前进展 2024/07/05

阅读全文 »