Skip to content

根据飞鸽传书协议实现的Linux版飞秋(feiq)

License

Notifications You must be signed in to change notification settings

inbei/linux_feiq

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fork from https://github.com/compilelife/feiq.git

概览

这是基于qt实现的Linux版飞秋

原为基于qt实现的mac版飞秋,后修改了mac的系统调用,使其支持Linux。

mac下的“飞秋”大多数只是飞鸽传书协议,而且未发现令人满意的开源项目,所以基于c++与qt实现了基础的飞秋协议。

支持特性

  • 收发文本、文件
  • 可与飞秋互发表情
  • 查找好友
  • 窗口抖动
  • 指定IP增加好友
  • 可添加自定义网段穿透屏蔽了广播包的路由器
  • 未读消息的好友自动置顶
  • 定时更新好友列表
  • 一些个性化设置
  • 未读消息自动提醒(可选)
  • 按沟通频繁度排序好友 (可选)

个性化设置(~/.feiq_setting.ini)包括:

[user]
name = CompileLife  ;设置用户名
host = Niubility Macbook ;设置主机名

[app]
title = Feiq by CompileLife ;设置一个高端大气上档次的窗口标题名称,亮瞎围观你飞秋的人
send_by_enter=0 ;0:cmd/ctrl+enter发送;enter回车;  1:相反

[network]
custom_group=192.168.74.|192.168.82. ;设置一些广播包无法触及的子网,点号结束一个网段的定义,竖线分隔各个网段

[rank_user]
enable=1 ;启用按沟通频繁度排序用户的功能

尚未支持的特性

  • 设置、显示文本格式:挺鸡肋的,暂时没兴趣实现
  • 图片收发:仅支持获取图片id,图片数据的协议未破解
  • 文件夹收发:飞秋貌似使用了自定义的文件夹收发协议
  • 日志:部分完成,日志功能我平时极少使用,后续版本不一定加入

一些BUG

  • 在接收文本框中显示gif图:QTextEdit不支持GIF动画,只会显示第一帧;结合QMovie可能可以实现(有网友反馈会内存泄露)

开发者

界面的实现与飞秋协议部分是分离的。

feiqlib是通信、协议解析、mvc构架部分,基于c++ 11封装,仅适用unix代码。理论上可移植到任意的unix/linux系统上。

界面部分基于qt实现。使用了部分平台相关的特性,如在其他平台使用,可参考osx目录使用对应平台的native特性。

目前使用到的平台相关特性有:

  1. mac dock上的badge文本(图标上的小红点)
  2. mac 通知中心的通知消息

引用代码,请注明代码出处。

About

根据飞鸽传书协议实现的Linux版飞秋(feiq)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 92.6%
  • C 3.6%
  • Objective-C++ 1.9%
  • QMake 1.5%
  • Objective-C 0.4%