项目简介:Fire★
Fire★(Fire Star)是一个用于创建和共享P2P软件的平台。与传统的云软件不同,Fire★被称为“草根软件”,因为用户可以亲自接触和改变它。这个平台的独特之处在于,它不仅提供了一种全新的软件开发和共享模式,更通过去中心化的技术增强了用户的自主权。
实时协作开发
Fire★ 内置了一个应用程序编辑器,用户可以实时与其他用户一同编程。应用程序使用Lua编程语言编写,并且提供了专门设计用于P2P应用程序开发的API。此编辑器的即时性使得应用共享变得异常简单,用户只需在对话中使用该应用,即可让其他人安装并使用。
安全的点对点通讯
Fire★简化了建立P2P连接中的复杂步骤,如NAT穿越和UDP打洞,让开发者可以专注于应用的功能实现,而无需担心连接的实现方式。同伴之间的所有通信都进行了加密处理,保证了交流的安全性,而所有信息都不经过任何中央服务器的传递。
当前发展状态
需要注意的是,此软件仍在开发中,尚未经过专业安全审计,使用中需自行承担风险。它采用RSA 4k密钥用于握手,加密方法结合了AES和使用Diffie-Hellman生成的短暂密钥以保证会话安全。
技术实现与构建
Fire★主要由C++11编写,需要较新的编译器支持如gcc、clang或Visual Studio。项目结构内,src
为主目录,子目录则代表相应的库,核心应用程序位于src/firestr
中。
项目构建采用CMake进行配置。主要依赖包括:
- gcc 6.3+
- CMake
- Qt 5
- Boost 1.54+
- Botan 1.10+
- libopus
- libsnappy
- uuid
- libssl
- libgmp
使用Vagrant构建
开发人员可以使用Vagrant搭建开发环境。安装Vagrant后,只需打开终端并运行以下命令:
$ vagrant up
$ vagrant ssh
$ startxfce4&
如果需要输入密码,使用vagrant
。然后进入虚拟机终端,执行:
$ cd /vagrant
$ mkdir build
$ cd build
$ cmake ..
$ make -j2
随后,可以运行两实例进行测试:
$ cd src/firestr/
$ ./firestr --home test1 &
$ ./firestr --home test2 &
开源许可
Fire★ 是一款自由软件,根据GNU通用公共许可证第三版(或任意更新的版本)发布。开放源码不仅使得代码更透明和可定制,也促进了整个开发者社区的协同创新。对于想要参与或定制Fire★的开发人员,完整的许可证细节可以在GNU官方网站找到。