boost的编译和安装
下载 boost 的源码包后解压,在代码目录下有一个 bootstrap.bat 文件,双击运行生成 b2.exe 文件
在 cmd 窗口下,可以通过 b2 --help 查看一些命令以及参数,如 install 指令的 -prefix 参数等
双击 b2.exe 进行缺省编译, 缺省编译的是 minimal,也通过 b2 install 进行缺省编译安装,库以及头文件安装到 C:\\Boost 目录下
如果需要全量编译安装,需要要带上参数 --build-type=complete ,这将会生成动态库和静态库文件(部分没动态库)
如果已经全量编译过了,然后再进行安装也是需要使用 --build-type=complete ,不然也只会安装 minimal 的部分
thread库 对于 thread 库,完整的 …

火车头采集插件开发
火车头采集软件的插件支持多种语言开发,如php、c#、python,这里以 python 作为开发语言编写插件
但从官方文档来看,没有找到很详细的插件编写手册,仅有c#版本的 https://www.locoy.com/index/guide#插件说明文档.html
从网上搜索到的资料来看也没有很详细的介绍,但都是在如下的一个框架基础上编写
# -*- coding: utf-8 -*- from w3lib import html from bs4 import BeautifulSoup from scrapy.selector import Selector from urllib.parse import urljoin from urllib import parse import sys …

接入zookeeper进行主从切换
部署zookeeper服务端 下载最新版本的zookeeper执行文件 https://archive.apache.org/dist/zookeeper/zookeeper-3.7.0/
将下载的包解压到 /usr/local/apache-zookeeper-3.7.0-bin 目录下,将conf下的zoo_sample.cfg复制一份并重命名为zoo.cfg
修改配置 增加data目录,并修改zoo.cfg的数据文件目录配置项 dataDir=/usr/local/apache-zookeeper-3.7.0-bin/data
在zoo.cfg文件的最后增加配置项
server.1=10.32.5.41:2888:3888
server.2=10.32.5.81:2888:3888 …

终端ssh免密码登录
单台机器配置免密码登录 需要 A 通过 ssh 免密码登录到 B,假设 A、B 机器的账户都是 root,生成公私钥的命令为 ssh-keygen,主要参数有
-t 指示生成的密钥类型,主要的密钥类型有 dsa、ecdsa、ecdsa-sk、ed25519、ed25519-sk、rsa
-P 表示密码,-P ’’ 就表示空密码,也可以用 -N 参数,和 -P 参数是一样的意思,不用该参数可以交互输入密码
-C:额外注释,可以填写用户名/邮箱等
-b:指定密钥的长度位数,不指定的话默认 2048 bits
-f 参数指定输出的公私钥文件名,如果不指定的话默认输出在 /root/.ssh/ 目录下
在 A 机器生成公私钥对(在用户的 home 目录下下生成 .ssh 目录,.ssh …

根据动态库生成对应的lib文件
一个 dll 动态库文件,编译的时候需要链接该库文件,如果没有提供 lib 文件,得先从 dll 生成对应的 lib 文件
这里以 Trojan-Qt5-Core 工程中的 trojan-qt5-core.dll 为参考例子,原工程的处理脚本如下
dumpbin /exports trojan-qt5-core.dll > exports.txt echo LIBRARY TROJAN-QT5-core > trojan-qt5-core.def echo EXPORTS >> trojan-qt5-core.def for /f "skip=19 tokens=4" %%A in (exports.txt) do echo %%A >> …

ubuntu下ssh连接慢的问题分析
服务端配置修改 使用终端工具 SecureCRT 连接本地虚拟机 ubuntu ,发现连接超级慢,大约耗时 10 秒左右,实在无法忍受
网上搜到的一些信息看 /etc/ssh/sshd_config 导致的 ,修改了两个配置,但是效果还是一样的慢,没有任何改善
UseDNS no GSSAPIAuthentication no 使用 win 下的命令行窗口进行 ssh 连接,发现没有任何延时,换一个工具如 winterm 连接也没有任何延时
但是 SecureCRT 连接却延时 10s 左右,那么只能是 SecureCRT 中的配置导致的
修改 SecureCRT 配置 经过一番调研,发现 SecureCRT 下的 GSSAPI 配置导致的,需要将 Method 修改为 MS Kerberos 才行,其他的都不 …

控制台重定向输出详细说明
0 表示标准输入
1 表示标准输出
2 表示标准错误输出
> 表示重定向
一般来说,1> 通常可以省略成 > 如下:
ls a.txt b.txt 1>file.out 2>file.err 可省略写成
ls a.txt b.txt >file.out 2>file.err 另外进行分析日志时候,清空日志常用这种方式,本质上也是重定向清空
[hello@localhost ~]$ >test.log 2>&1 意思是把标准错误输出重定向到标准输出
& 是一个描述符,如果 1 前不加 &,> 符号后面会被当成一个名称为 1 普通文件,结果就是标准错误输出重定向到文件名称为 1 …

批量检测机器是否可达
准备一个配置文件 ip.txt ,每一行记录分别是 ip port(或者port统一命令行读取),中间用空格间隔
将下面 c++ 代码编译生成执行文件 testconn
#include <stdio.h> #include <unistd.h> main(int argc, char** argv) { if (argc != 3) _exit(0); int fd[2]; alarm(1); pipe(fd); close(fd[1]); dup2(fd[0], STDIN_FILENO); dup2(fd[0], STDERR_FILENO); execlp("telnet", "telnet", argv[1],argv[2], 0); } 增加脚 …

Appveyor自动化构建github项目
需要在构建的仓库目录下提供 appveyor.yml 的配置文件
windows 平台提供的构建软件列表参考: https://www.appveyor.com/docs/windows-images-software/
MacOS 和 Linux 平台的可以点击对应的标签查看其提供的构建软件列表
https://www.appveyor.com/updates/2022/04/02/
https://www.appveyor.com/updates/2022/04/03/
查看更新日志显示,Qt 5.14.2 已经被 remove 了,当前可用的 qt 版本 https://www.appveyor.com/docs/windows-images-software/#qt
5.14.2 版本被 remove …

RC4算法实现原理
参考视频 https://www.bilibili.com/video/BV1994y1o7tj/
密钥 k,如值为 012345
初始 s 表,长度256数组,各原始值依次为 0,1,…,255
空间 t 表,长度为256数组,值依次为密钥 k 的扩容256长度,值依次为 012345012345…
依据 t 表打乱 s 表的元素,打乱的规则如下
j := 0 for i :=0; i < 256; i++ { j = j + s[i] + t[i] //计算待置换的 j 位置 s[i], s[j] = s[j], s[i] } 得到打乱后的 s 表后,计算密钥流,buff为待加密或解密的缓冲
var i, j int = 0, 0 for h:=0 ; h<len(buff); h++ { i …
