libssh2+websocketpp+boost实现的web终端C++后台
多线程模式,经过了大量测试,运行比较稳定。
使用epoll模型,抗压能力较强,耗用系统资源少。xterm模式,前端显示彩色。用了boost做xml解析和互斥锁,websocketpp做websocket库,libssh2则是与sshd交互的库。程序采用多线程方式,有心跳监测,经过大量测试,运行相对很稳定的一段程序。
网上有不少nodejs版本的ssh终端后台,虽然也很好用,但如果用于嵌入式场景,C++版本的更适合,只是C++方式实现的代码肯定比nodejs版的复杂太多了,多线程要自己做,互斥锁要自己做,客户端连接资源要自己索引和释放,一不留神就挂掉。
如果是PC机项目,建议用node版本的后台脚本,结合node的各种监控重启机制,可让程序永久在线,而且node版本的本身也不容易挂。
前端用在vue项目中,需要的插件一看就懂,所以我就放了一个vue文件在里面。自己拿过去放到项目里就可以用了,默认全屏的,浏览器缩放会发送屏幕大小到后台,所以没有中断大小不匹配的BUG。
本程序经过本人测试,相对好用也稳定。
注意vue中websocket连接时使用了token发送到后台龚后台进行验证。
qt_zh_CN.zip
因为要获取可用的qt_zh_CN.qm实在太麻烦,要安装QT带上源码才行,所以自己上传,留作备用。因为安装QT如果选中source的话,安装速度太慢了。而且qt_zh_CN.ts里要替换一个标识符才能用。
network.zip
对Socket的客户端、服务器模型的封装,另包含了对串口读写的封装,使用epoll模型,方便对多个网络通讯进行管理。
半成品,拿来可以修改成自己的应用程序。使用了工厂模式,但我没有创建工厂类。
odbctest.zip
MFC利用ODBC连接数据库并显示到列表里的,具备完整的增、改、删功能的示例。其中student数据表根据代码就能看出来,就四个字段:id,name,sex,score.
odbcgrid.zip
结合ODBC用法的CGridCtrol类的用法,已经支持了双击修改后保存到数据库,支持选择多行后删除多行数据。
完成端口IOCP模型的套接字类(MFC)
利用windows的完成端口封装的类,这个类来自这个网址:https://blog.csdn.net/educast/article/details/16965029,我把它拿过来调试,然后根据业务进行了调整,可满足对socket的管理工作,支持socket数量无上限(理论上操作系统里最多能有65535个端口号,所以还是有上限的)。多线程管理套接字,实际应用请根据需求看看是否需要加互斥锁。
NavicatServer_11.0.10.zip
连接SQL Server 2000的客户端管理工具,结合迷你SQL 2000非常好用。
第一次连接的时候会自动提示安装数据库连接驱动。
如果连接发现失败,弹窗英文提示,可再次安装驱动即可。
QJson源码头文件和编译好的库.zip
QT4引入QJson扩展还要下载cmake编译,太麻烦了,所以我把编译好的文件连同需要部署到Qt开发环境的方法一并提供,希望减轻开发者的负担。
部署和代码编写方法可参考:https://blog.csdn.net/canlynetsky/article/details/106011874
手机视频处理.zip
手机里拍的照片大多都是好几千像素的宽高,一张图片尺寸可能1MB到6MB甚至10MB不等,如果将这些图片直接拷贝到硬盘备份保存,或者上传到云盘里,只要不洗成照片我觉得没必要。
所以我一直都是将手机照片拷贝到电脑里,用ACDSee之类的软件批量压缩后再上传到网盘。
视频也是利用压缩工具,将100MB的视频压缩到10MB左右后再上传(画质有一定损失,但也很清晰)。
图片压缩我用的ImageMagick命令行工具;视频压缩用的ffmpeg,都是很流行的开发人员熟悉的压缩工具。
我用windows的批处理脚本写了这两个工具。
这次提供的是图片批量处理工具。
手机图片处理.zip
手机里拍的照片大多都是好几千像素的宽高,一张图片尺寸可能1MB到6MB甚至10MB不等,如果将这些图片直接拷贝到硬盘备份保存,或者上传到云盘里,只要不洗成照片我觉得没必要。
所以我一直都是将手机照片拷贝到电脑里,用ACDSee之类的软件批量压缩后再上传到网盘。
视频也是利用压缩工具,将100MB的视频压缩到10MB左右后再上传(画质有一定损失,但也很清晰)。
图片压缩我用的ImageMagick命令行工具;视频压缩用的ffmpeg,都是很流行的开发人员熟悉的压缩工具。
我用windows的批处理脚本写了这两个工具。
这次提供的是图片批量处理工具。
Sublime Text 3 for Mac 3075破解版(英文版)
网上下载到的,怕万一啥时候下载不了了,备份一个来。
我用过,好使,安装后输入序列号就可以了,序列号就在包里。
网站后台管理系统模板ace admin v1.3
ace admin1.3是一款基于bootstrap3的网站后台模板,这款后台模板很出名。下面是模板更新日志和截图
刚才体验了一下,感觉还行,不过唯一不足的就是模板里面用到的CDN和谷歌字体..大家都知道由于墙的原因,谷歌字体加载不进来,所以页面打开速度很慢。
所以我将谷歌字体下载到本地用了,修正了其中js从本地加载。
优化过的ueditor_1.4.3
ueditor1.4.3使用了webuploader插件,这个插件很好用,多线程上传,但存在上传候图片顺序被打乱的问题,这对于一次要传数张图片到网页中的情况无法应对,除非你不在乎图片顺序。
另外,word转存限制图片只能传32张,还有图片宽高限制等,我修改了这些参数并修改了部分代码,适用于大部分网站。
可以下载ueditor1.4.3原版代码,用Beyond Compare比较目录,可以知道我做了哪些修改。
js和php配合的rsa openssl 加密解密函数
使用公钥加密,私钥解密的方法,可以使数据在网络上安全传输,即使任何人获取到了密文,也获取到了js代码里的私钥或公钥,他也因为无法获取到与之配对的私钥或公钥而对密文毫无办法。
但是注意:公钥私钥2对,php用一对,js用一对,php的公钥和js的私钥写在js代码里,php的私钥和js的公钥则存储在服务器上(存储位置必须无法使用url路径访问到,即放在网站目录之外。
任何一对密钥不可以同时暴露给用户,否则密文可破解。
因为密钥长度影响可加密明文的最大长度,所以按文字截取然后加密并base64编码,就这样将每次加密并base64编码候的字符串连接起来,解密的时候每次取出固定字节数(加密任何长度明文都产生固定长度的密文),进行解密然后再连接起来。
SquirrelMail 支持html并base64编码
SquirrelMail 是一个用PHP开发的Web邮件系统。它内置纯PHP支持的IMAP和SMTP协议,所有页面都遵循 HTML 4.0标准(没有使用任何 JavaScript 代码),以便最大限度兼容各种多浏览器。SquirrelMail对系统要求非常低,安装和配置都非常容易。 SquirrelMail 具备一个客户端邮件程序所应拥有的一切功能,包括支持增强型的MIME、地址薄、文件夹操作等等功能。
我在本身基础上增强了对中文的支持,并将编辑器换成ueditor以支持html格式邮件,然后将信体进行base64编码。