All Projects → b3log → Starfire

b3log / Starfire

Licence: mit
🌟 一个分布式的内容分享讨论社区,星星之火可以燎原。

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Starfire

Symphony
🎶 一款用 Java 实现的现代化社区(论坛/BBS/社交网络/博客)平台。
Stars: ✭ 13,080 (+9961.54%)
Mutual labels:  forum, bbs, community, discussion
superhighway84
USENET-inspired, uncensorable, decentralized internet discussion system running on IPFS & OrbitDB
Stars: ✭ 437 (+236.15%)
Mutual labels:  community, bbs, ipfs, forum
Symphony
🎶 一款用 Java 实现的现代化社区(论坛/问答/BBS/社交网络/博客)系统平台。A modern community (forum/Q&A/BBS/SNS/blog) system platform implemented in Java. https://ld246.com
Stars: ✭ 883 (+579.23%)
Mutual labels:  forum, bbs, community, discussion
Icarus
🕊️ An opensource community/forum project write with python3 aiohttp and vue.js. 一个开源的社区程序,临时测试站:https://t.myrpg.cn
Stars: ✭ 644 (+395.38%)
Mutual labels:  forum, bbs, community, discussion
Bbs
巡云轻论坛系统包含论坛、问答模块。系统采用JAVA+MYSQL架构,自适应手机端和电脑端,界面简洁,性能高效。数据库表结构设计使用分表方案,提高系统的负载能力。后台数据库备份/还原、全站指定目录打包、一键自动升级等功能使维护简单方便。系统拥有强大的模板管理功能,布局版块支持设置输出条件,让前端页面展示方便快捷。
Stars: ✭ 712 (+447.69%)
Mutual labels:  forum, bbs, community
Forum Java
一款用 Java(spring boot) 实现的现代化社区(论坛/问答/BBS/社交网络/博客)系统平台。A modern community (forum/Q&A/BBS/SNS/blog) system platform implemented in Java(spring boot).
Stars: ✭ 380 (+192.31%)
Mutual labels:  forum, bbs, community
Yii2 Podium
Yii 2 forum module project
Stars: ✭ 172 (+32.31%)
Mutual labels:  forum, community, discussion
dillo
Free and open web platform created to support crowd-driven content.
Stars: ✭ 62 (-52.31%)
Mutual labels:  community, discussion, forum
Elkarte
ElkArte Forum. A free, open source, PHP-based discussion forum.
Stars: ✭ 128 (-1.54%)
Mutual labels:  forum, community, discussion
Satellity
Yet another open source forum written in Golang, React and PostgreSQL.
Stars: ✭ 455 (+250%)
Mutual labels:  forum, community
Netcorebbs
ASP.NET Core Light forum NETCoreBBS
Stars: ✭ 483 (+271.54%)
Mutual labels:  forum, bbs
Core
Simple forum software for building great communities.
Stars: ✭ 5,372 (+4032.31%)
Mutual labels:  forum, community
Forum
一个简单的论坛项目,开发IDE为IntelliJ IDEA,通过Maven构建,后台采用Spring、SpringMVC、MyBatis,数据库采用MySQL、Redis,前台用到jQuery,图片被上传到七牛云。
Stars: ✭ 407 (+213.08%)
Mutual labels:  forum, bbs
Forum
🍺 Portando discussões feitas em grupos (Facebook, Google Groups, Slack, Disqus) para o GitHub Discussions
Stars: ✭ 3,868 (+2875.38%)
Mutual labels:  forum, discussion
Airesis
The Social Network for eDemocracy
Stars: ✭ 116 (-10.77%)
Mutual labels:  forum, discussion
Casbin Forum
Next-generation forum software based on React + Golang, QQ group: 555019739
Stars: ✭ 348 (+167.69%)
Mutual labels:  forum, bbs
Hifone
A free, open-source, self-hosted forum software based on the Laravel PHP Framework. QQ群:656868
Stars: ✭ 673 (+417.69%)
Mutual labels:  forum, bbs
Community
General discussion, cross-repo efforts and common information for projects in the community.
Stars: ✭ 24 (-81.54%)
Mutual labels:  community, discussion
Chatter
Chatter is a Simple Laravel Forum Package
Stars: ✭ 846 (+550.77%)
Mutual labels:  forum, discussion
Voten
The code that powers voten.co
Stars: ✭ 1,215 (+834.62%)
Mutual labels:  forum, community

星火

简介

星星之火可以燎原

星火是一个分布式的内容分享讨论社区,通过点对点超媒体协议让社区更快、更安全也更开放。

动机

  1. 在中心化的服务下,你的数据并不属于你,服务终止或者账号被封意味着你将失去你的数据
  2. 中心化服务会通过你的数据进行盈利,但并未从盈利中拿出透明公平的收益回报给你

星火的诞生主要解决第一个问题,即你的数据永远属于你。第二个问题星火会逐步尝试探索。一些细节和感想请浏览写在星火初版发布之际

功能

  • 发布帖子、发布回帖
  • 固定的个人主页地址
  • 无缝嵌入 IPFS 数据

星火可以用于记录你生活的点点滴滴、和其他志同道合的人开展讨论或者推广你的产品等,可以把星火当做个人博客、社区论坛、自媒体平台来使用,并且所有数据都是永久性的。

截图

首页列表

首页列表

帖子详情

帖子详情

个人主页

个人主页

个人设置

个人设置

技术

IPFS 为星火的实现提供了基础:

  • 通过 File 实现帖子、评论内容的存取
  • 通过 DAG 实现元数据的存取
  • 通过 PubSub 实现节点间的准实时交互
  • 通过 IPNS 实现用户个人主页寻址和更新

管理

在目前的技术条件下,仍然存在一个无法实现的中心化“节点”,即星火管理员,因为有一些事情需要特定的人来做:

  1. 确认代码和版本并进行发布
  2. 确认恶意节点并更新黑名单

这两项操作我们会通过管理员(QmfQUfpYh2J2jaihvfwsR6ACQnf3iQ551N1dNMfcNTmyjr)进行。所有管理运维操作都是公开透明的,不存在任何“暗箱操作”,用户可以对我们的管理运维操作进行监督。

FAQ

IPFS 是什么?

请看 IPFS 入门笔记。星火基于 IPFS 技术栈实现,用户可直接使用 IPFS 已有功能和数据。

我的数据存放在哪里?

你的数据在本地磁盘上会存有一份,如果有其他人看过,则在他的节点上会缓存一份;如果有其他人收藏(ipfs pin)过,则在他的节点上也会保存一份。

本地磁盘数据路径目录路径默认在 ~/.ipfs/(可通过环境变量 IPFS_PATH 指定该目录路径)。

如何备份数据?

需要完整备份 .ipfs 目录,里面包含了所有数据、账号和相关配置。

忘记密钥怎么办?

.ipfs/config 文件中的 PrivKey 项保存了你的密钥对,登录和发布内容时需要填写该项。一定要妥善保管密钥对,不要泄露给任何第三方。如果不慎遗失该密钥对,则你的账号将永远丢失,无法恢复。

会停服吗?

从技术上讲,只要 IPFS 网络能够运行,星火就不会也不可能停服。这意味着:

  • 你发布的内容将会得到永久存储
  • 星火的代码永远不会消失

匿名程度如何?

虽然星火不需要实名制使用,但你节点所在 IP 是可以被其他人获取到的,而 IP 使用记录在运营商那里是有记录的,所以从技术上而言,其他人是有办法可以查到你实名身份的。

存在封禁机制吗?

我们是通过一个全局的黑名单来进行节点的屏蔽。如果发现存在恶意节点,我们会将其列入黑名单中并进行广播,网络中的节点收到黑名单后会和其中所列出的恶意节点进行断开。这样恶意节点就会变成孤岛节点,防止其对网络的进一步干扰破坏。

使用到区块链吗?

没有使用,星火是完全基于 IPFS 实现的。另外,星火目前也没有使用到 IPFS 激励层 Filecoin。

开源吗?

https://github.com/b3log/starfire

由谁开发,如何实现盈利?

星火由 B3log 开源社区进行开发和维护。目前我们没有盈利计划,因为除了很少的开发工作量和引导节点架设外,我们并没有付出其他成本。将来如果有机会,我们会和大家一起探索动机部分提到的问题二。


安装

  1. 下载并安装 IPFS,配置引导节点
    ipfs bootstrap rm --all
    ipfs bootstrap add /ip4/47.111.58.76/tcp/4001/ipfs/QmZdWDS3qLbH55knn4hGjH2oq5hGwJz8sUHHz273xzX2rc
    
    🐋
    docker pull ipfs/go-ipfs
    docker exec ipfs_host ipfs bootstrap rm --all
    docker exec ipfs_host ipfs bootstrap add /ip4/47.111.58.76/tcp/4001/ipfs/QmZdWDS3qLbH55knn4hGjH2oq5hGwJz8sUHHz273xzX2rc
    
  2. 新建星火私网密钥文件(内容如下或者点此下载),保存路径是 $IPFS_PATH/swarm.key(默认 ~/.ipfs/swarm.key)
    /key/swarm/psk/1.0.0/
    /base16/
    9c28a3503c28d29bf0085de558cd4326ee08dba738588044e1ccaf6730413d89
    
  3. 启动 IPFS
    ipfs daemon --enable-pubsub-experiment
    
    🐋
    docker run -d --rm --name ipfs_host -v /root/.ipfs:/data/ipfs -p 4001:4001 -p :8080:8080 -p :5001:5001 ipfs/go-ipfs daemon --migrate=true --enable-pubsub-experiment
    
  4. 允许接口跨域
    • Windows:
      ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin  [\"*\"]
      
    • Linux/Mac:
      ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin  '["*"]'
      
      🐋
      docker exec ipfs_host ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin  '["*"]'
      
  5. 打开浏览器访问 http://127.0.0.1:8080/ipfs/QmauDX9WwBwVscpyXkHhxDr3AtDTLwHqjQ5MnJNEjWekMw
  6. 通过密钥对发帖回帖,密钥对是 ~/.ipfs/config 中的 PrivKey

开发相关

发布新版

  • 更新 config.ts 中的 env 项值 developmentproduct
  • 打包并发布
    npm run build
    ipfs add -r dist
    
  • 通过 starfire-moderator 更新版本

开发

ipfs daemon --enable-pubsub-experiment
npm run start
npm run scss

TODO

  • hotkey
  • upload file
  • update avatar

PubSub Topic

  • starfire

File Paths

  • /starfire/index
  • /starfire/users/id
  • /starfire/posts/id
  • /starfire/blacklist
  • /starfire/version

Theme

https://material.io/tools/color/#!/?view.left=0&view.right=1&primary.color=24282d&secondary.color=d93025

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].