Skip to content
This repository has been archived by the owner on Apr 27, 2020. It is now read-only.

raycursive/dogemsg

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dogemsg

嘛大概就是想做一个有趣的且安全的通讯工具.

尽可能的削减服务器的功能. 目前就是提供一个收/存取信息的API, 一个保存用户信息(用户名及相关信息)的API, 以及一个保存用户好友列表(用public key加密)的API.

用户的身份识别由ECC生成的keypair来完成, 对用户身份的校验就是以private key签名的指定信息可以被public key正确解密. 双方的信息完全被加密,暴露出的仅仅是来源及去向(我们也想做到更好啊QwQ). 在双方能够保证身份确认的情况下, 可以在发起一个request, 交换IP以完成p2p的连接, 然后使用AES进行加密, 从而保证安全.

#计划

目前实现了的部分:

api.php

收/存取信息的API

删除冗余信息的API(待完善身份验证)

dogemsg.ui

客户端UI设计(prototype)

仍需实现:

对用户信息的保存

对用户列表的保存

客户端核心代码(加密解密,生成keypair等)(决定使用pyelliptic)

#更新日志

###2014/07/16

完成了对API的初步设计

仍需要更新对SQL注入的保护 以及对身份校验的完成

###2014/07/17

随便画了一个UI(ry

本来想用RSA 但是因为publickey 太 他 妈长了 改用ECC

python3的decode真他喵难用啥

找不到一个合适的php ecc库 QwQ

最后决定在php里以system的形式调用python. auth的部分解决.

目前的校验方式是, 以private key签名, 同时将signature和message发至服务器验证身份

signature的生成 key.sign(msg)

校验:ECC(pubkey = public_key).verify(signature, msg)

###2014/07/18

sendmessage基本实现完成

receive 校验部分仍待实现

ok Server端基本撸完 下午完善client 然后开始GUI开发

receive校验部分完成, 最后将返回一个包含所有信息的list

(之前若msg是中文的话会有bug, 果断encode, 解决问题)

下午将函数封装, 并且初步完成一个命令行下的客户端.

函数基本上弄的差不多了

主要的函数都在operators.py里.

添加了一个保存keypair的功能 添加的时候发现这个功能其实特别的自然, 其实是之前的设计问题吧.

添加了一个Class:Contact, 用以存放联系人信息.

接下来的主要任务:

  1. 先撸出一个本地的friendlist的存取和维护.

  2. 完成一个对config的读取和维护.

与此同时还实现了对message structure的完善, 接下来所有的信息发送都将完成的被纳入所定义的信息结构体系中.

还需要实现的是将收回的信息按照相同联系人分配. 其实还是先撸完friendlist再说啦.

啊对 还有二维码生成器的实现!

这个明天到网上找一个现成的就ok了...

才不要重复造轮子!

###2014/08/20

Orz之前电脑坏了一直没干活 从今天开始至少每天完成一部分工作吧.

之前好久没更新updatelog, 还是做了很多事情的.

现在基本上实现好了friendlist和msglog

接下来需要一个config, 并且全局的读入一个CONFIG class

(由于功能比较密集 想了一下其实封装成一个Class也挺好, 试一试好了.)

###2014/08/21

ATTENTION!

试图配置Mac下的开发环境.

在安装pyelliptic的时候遇到问题..

看起来是ctype什么的问题orz.

试一试这个.

brew install openssl

brew link openssl --force

Then everything will be ok~

About

Doge! M! E! S! S! A! G! E!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published