Jump to Navigation

Welcome!

  NullGet是使用Qt编写的,运行于多种平台的GUI界面的多线程多协议断点续传下载软件。  使用NullGet可以轻松下载网络的多种协议的数据流,加快下载速度,支持断点续传,目前支持的协议有:HTTP,HTTPS,FTP,MMS,RTSP。而且它能运行于当前大多数流行的操作系统,包括Windows,Linux,FreeBSD等。     下载NullGet

  NullFXP 是一个基于Qt 4 开发的SFTP/FTP 客户端软件。目前已经实现基本的多文件上下传功能。详细信息查看本站项目说明页面。     下载nullfxp

  我们的目标是打造一个开源的,跨平台的,多线程的,运行稳定的下载软件,另一个就是整理Qt库开发跨平台GUI应用程序的相关资料。欢迎各位朋友对本站开源项目提供意见及建议,欢迎有兴趣的朋友参与本站开源项目,请联系 drswinghead at gmail dot com

ExQuilla的使用和破解-转

首先是使用ExQuilla这个插件,步骤如下:
1、Tools => Add-ons => 搜索 “exchange”
2、安装 “ExQuilla”
3、Tools => 启动”ExQuilla for Microsoft Exchange” => “Add Microsoft Exchange account”
4、填写邮箱地址和密码, 其他默认, 然后下一步
5、直接点 “do auto discover”, 出现两个绿色的小原点就代表一切OK, 然后下一步,直到完成。

从头到尾只需要填写邮箱和密码即可,其他默认

关于exquilla的破解,下面几步,应该就可以了。
为什么是用下面的格式,可以参照这个连接:http://blog.ssfighter.com/2015/01/exquilla-31-0-crack/

Category:

cargo的依赖处理

cargo的依赖处理,

三种依赖配置方式:

[dependencies]
depend-pkg-name="pkg-version or *"
depend-pkg-name={git = "git repo", rev = "bfabc843ef2"}
depend-pkg-name={path = "./helloutils"}   #支持绝对路径,相对路径。

一些释疑

在编译时,cargo首先从https://github.com/rust-lang/crates.io-index下载官方所有crate的索引列表。

crate索引crates.io-index大小达到31M,估计以后还会变得更大。

下载依赖包的过程是递归的。

索引列表放在什么位置呢?~/.cargo。

如何指定本地某一目录下的crate呢?$CARGO_HOME,设置该变量后,~/.cargo位置被覆盖了。

本地搜索一个crate的机制,从该项目目录开始,逐级向上查找带.cargo目录的位置。

上否支持多个$CARGO_HOME路径呢?

python字符串转hex

python字符串与hex转换,还挺麻烦的,而且发现不同版本还处理方式不一样。

找了段适用python 2.6-3.5的转换代码,可以容易在任何项目中使用了,

开用spacemacs

开用spacemacs

大概试用spacemacs一个月了,试用感受是,对我来说spacemacs是一个高度整合的emacs配置优化与管理项目。
除此之外,spacemacs还有简单整合vim操作的操作功能。

spacemacs中,配置一个emacs扩展非常容易,只需要加一行配置,加入扩展的名字即可。
在spacemacs中,扩展叫做layer,以实现与扩之间的整合封装。
每个layer管理并使用一个或者多个emacs扩展,并提供适当的接口实现统一配置。
这样当然有一个缺点,有些没有进spacemacs layer的扩展,还需要手动做一些定制化配置。
在定制化方面,spacemacs实际上仍然做的比较好,提供了丰富的接口与详细的说明。

另外,spacemacs还提供了统一的theme支持与theme管理功能,
并且最新v0.104.1版本默认的theme已经比较好看了,一直用着的。

Category:

使用Python调用执行JavaScript的几种方式

python-spidermonkey

目前只支持python2

停止开发的起始项目:https://github.com/garywiz/python-spidermonkey

相对新的clone项目:https://github.com/smurfix/python-spidermonkey/

PyExecJS

比较新的一个项目,以插件的方式,支持不同的JS引擎,

像v8,nodejs,spidermonkey等。

并且该项目支持python3。

主项目停止更新有一段时间,但clone项目今年最近还有更新,

官方项目仓库: https://github.com/doloopwhile/PyExecJS

相对新的clone项目:https://github.com/Timtam/PyExecJS

附注

这两个项目使用的方式,其他语言中也可以采用,不过要做许多的封装。

从测试来看,PyExecJS安装简单,使用也非常方便,在项目中可以用这个了。

在docker中安装运行gitlab要点记录

在docker中安装运行gitlab要点记录

存储卷

repositories gitlab-satellites .ssh uploads

Binds和Volume有什么关系与区别呢

首先对于存储目录务必使用Volume指令,否则容器停止,数据丢失。 然后,在指定Binds时,则Volume中的数据写入到Binds存储中。 如果没有指定Binds,则Volume中的数据写入到默认创建的Volume中。

认证问题,ssh_port问题

由于ssh方式git服务执行在docker容器中,所以要在docker容器中启动sshd服务。 并且还有要辅助的参数, -p 2222:22 把宿主机上的2222 端口映射到容器的22端口。 gitlab.yml中,设置ssh_port=2222 Dockerfile中,EXPOSE 添加22端口

Category:

Linux 微信(weixin)代理项目(wxagent)介绍

微信登陆代理:wxagent

微信桌面版做的很弱,并且没有Linux版。

虽然在Linux上可以使用微信web版,有时很难在一堆浏览器标签中找到。

像这样的应用,应该有属于自己的程序窗口与桌面空间。

微信登陆代理实现目标

提供后台服务,管理微信登陆会话,负责与服务器通信。

以后台服务的方式运行,占用资源少,并且能够长时间运行,避免了需要经常手机扫描登陆的麻烦。

不过,由于这个代理提供的消息服务不再有认证等安全功能,登陆代理最好安装在安全的机器上,像本机上,或者是内网的私有服务器上。

微信登陆代理原理

提到实现,不免要涉及到微信通信协议,好在已经有人对微信web版协议做了分析,虽然还有不完善的地方,基本上可以实现简单登陆与消息收发功能了。

微信登陆代理根据现有资料,使用PyQt5实现了微信web版协议,通过测试,把相关API更新到了最新的微信的wx2版本。

并且把二维码以dbus服务方式提供出来,这样该服务就不需要有UI的支持了,这也是与现有几个Linux版微信不同的地方。

除了以DBus方式提供API,还可以使用socket方式,可以更灵活了。

在PyQt5中使用Qt DBus的延时响应返回

在PyQt5中使用Qt DBus的延时响应返回

### dbus介绍
dbus是一种现代linux系统中的本机RPC调用实现,实现了程序间的松耦合依赖。

### RPC调用
RPC调用可分为同步调用和异步调用。
常用的同步调用很容易理解,就是调用并一直等待RPC服务器端的返回值。
异步调用,是针对某次耗时的RPC调用而言,像文件操作,或者是网络操作,或者计算操作。
如果再一直等待服务器端的返回,客户端的效率将非常低下。

### 原始DBus的方式
dbus是使用了异步IO回调方式,所以并不存在所谓的延时响应返回问题。
因为所有的调用都可以看作是异步的,延时的。
不过dbus提供了一个超时机制,如果超时,则dbus调用端不再接收响应返回值了。

### Qt DBus的方式
在Qt中,把DBus的服务,调用响应封装成为Qt的QObject和slots,从而简化DBus的使用。
同时,默认情况下,Qt还把对应slots的返回作为DBus调用结束的标志。
这样就引入一个问题,如果在这个slots中无法立即完成一个dbus调用,应该怎么处理?

docker应用小记

docker应用小记

这两天搞了点docker相关的东西,涉及到了docker两个相关的点,
都是关于网络方面的。

一个是docker使用的子网的配置。
一个是 docker pull/push使用的代理方式配置。

###
在centos7上,docker使用了这些配置文件:
/etc/sysconfig/docker
/etc/sysconfig/docker-network
/etc/sysconfig/docker-storage
/etc/sysconfig/docker-storage-setup

这几个文件内容比较简单,每个文件一行,而且默认是空参数。
这些文件叫做EnvironmentFile,用来设置docker的固定配置参数。

对本文开头提到的两个问题,修改这些文件即可实现。
比如这里只修改了/etc/sysconfig/docker-network文件,因为这两个配置都是关于网络方面的。

对实现了RUDP的enet库定制化改造

对实现了RUDP的enet库定制化改造

### enet库介绍
enet是使用C语言实现的、简洁的、基于UDP的网络开发库。
最重要的特性是实现了UDP包的可选的可靠性、有序性。

除些以外,还实现了透明压缩功能,降低传输网络负载等。

但为了保持库本身的简单、可移植、方便嵌入特性,忽略掉了认证,服务发现,加密等功能。

enet库文档:http://enet.bespin.org/index.html

### 我的定制需求
我需要使用其reliable部分代码,即接收包要按照发送包的顺序,并且不能有丢包。
但是我的包并非来自UDP socket,所有无法直接使用现有的原装代码。

Pages

Subscribe to www.qtchina.tk RSS


Main menu 2

by Dr. Radut