分类 笔记 中的文章

[Go]udp打洞

为了能够进行udp打洞需要一台公网服务器,具体打洞步骤如下:

  • clientA固定udp包发送端口1198,clientB股东udp包发送端口1198。
  • clientA向server发起请求(此时NAT服务器绑定内外网端口),server端记录下clientA的外网IP和端口(1.1.1.1:111)
  • clientB向server发起请求(此时NAT服务器绑定内外网端口),server端记录下clientB的外网IP和端口(2.2.2.2:222)
  • 当clientA和clientB都接入后,server端把clientA的外网信息告知clientB,把clientB的外网信息告知clientA
  • 开始打洞,clientA向2.2.2.2:222发送第一个udp包,NAT B不知道将这个包转发给谁,丢弃。clientB向1.1.1.1:111发送第一个udp包,NAT A将该包转发给clientA。此时打洞完成。clientA和clientB建立通讯。
……

阅读全文

为CentOS7 SSH添加两步验证

背景

今天偶然发现作为外网接入网关的服务器一直在被各种IP尝试登陆,如果一旦被爆破成功那么我接入的设备和其他服务器就可能被轻易的攻破。 于是想着为这台服务器的SSH添加一个两步验证来提高安全性。

……

阅读全文

vim-go配置备份

.vimrc 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 set nu set nocompatible " be iMproved, required filetype off " required syntax enable set background=dark colorscheme solarized8_dark set t_Co=256 set encoding=utf-8 set ambiwidth=double set backspace=indent,eol,start " set the runtime path to include Vundle and initialize set rtp+=~/.……

阅读全文

利用github Actions自动部署Hugo至COS

目的

因为Hugo是部署在COS(腾讯云对象存储)上的,每次部署和同步代码都需要在本地用Hugo进行编译后将public中的静态文件上传到COS,然后删除public文件夹再将当前 的项目结构同步至github仓库中(为什么不用github pages?因为访问速度的问题)。每次发布文章的操作比较繁琐,所以可以利用github Actions来实现自动部署至COS。 这样免去了对本地环境的要求和手动上传文件到COS的繁琐操作。

……

阅读全文

为项目中空目录创建.gitkeep

因为git是跟踪文件变更而不是跟踪文件夹变更,所以为了提交项目结构中空的目录到git需要创建占位符。 通常是.gitkeep,当然其他占位符也是可以的(比如说.nofile)。我们可以通过一条指令来实现

……

阅读全文