kevachat / webapp
KevaChat Web应用程序
1.13.1
2024-05-07 21:22 UTC
Requires
- php: >=8.2
- ext-ctype: *
- ext-iconv: *
- clitor-is-protocol/kevacoin: ^1.0
- doctrine/doctrine-bundle: ^2.11
- doctrine/doctrine-migrations-bundle: ^3.3
- doctrine/orm: ^3.0
- kevachat/kevacoin: dev-main
- league/commonmark: ^2.4
- symfony/console: 7.0.*
- symfony/dotenv: 7.0.*
- symfony/flex: ^2
- symfony/framework-bundle: 7.0.*
- symfony/monolog-bundle: ^3.10
- symfony/runtime: 7.0.*
- symfony/translation: 7.0.*
- symfony/twig-bundle: 7.0.*
- symfony/yaml: 7.0.*
- twig/extra-bundle: ^3.8
- twig/intl-extra: ^3.8
- twig/markdown-extra: ^3.8
Requires (Dev)
- symfony/maker-bundle: ^1.54
Conflicts
README
KevaChat是一个分布式聊天平台,提供开放、不受审查和尊重隐私的通信,数据永久存储在区块链中。
技术
实例需要连接到KevaCoin钱包、memcached
服务器、clitor-is-protocol用于多媒体支持以及Symfony用于网络界面。
模型
KevaChat遵循开放钱包模型,社区为对话提供共享余额。
- 另一种方式,节点可以为发送的每条消息生成支付地址并收取实例货币化佣金。
- 此外,注册用户有支付账户,每个人都可以通过捐赠来增加他们的余额
管理员可以根据.env
文件中的说明灵活设置访问级别:只读房间、连接和发布限制等。
通信
每个人都可以加入聊天,以匿名或通过IP签名的方式发布消息。如果启用选项,用户还可以通过命名空间探索远程房间。
支持基本社交功能,如标识符、回复、提及、RSS订阅等。
协议
KevaChat协议遵循原生KevaCoin的key
/value
模型,其中key
可以包含@username
后缀,而value
则包含消息。
所有与它们房间namespace
相关的出版物。
示例
http://[201:23b4:991a:634d:8359:4521:5576:15b7]/kevachat/
- Yggdrasil实例http://kevachat.ygg
- Alfis DNS别名
安装
apt install git composer memcached sqlite3 php-curl php-memcached php-sqlite3 php-mbstring
git clone https://github.com/kevachat/webapp.git
cd webapp
composer update
php bin/console doctrine:schema:update --force
* * * * * /usr/bin/wget -q --spider http://../crontab/pool > /dev/null 2>&1
更新
cd webapp
git pull
composer update
php bin/console doctrine:migrations:migrate
APP_ENV=prod APP_DEBUG=0 php bin/console cache:clear
设置
应用程序包包含预设设置,只需几个步骤即可启动
- 确保
memcached
服务器已启用 - 使用
rpcuser
/rpcpassword
在~/.kevacoin/kevacoin.conf
中设置KevaCoin服务器连接 - 将
rpcuser
复制到env
.APP_KEVACOIN_USERNAME
,将rpcpassword
复制到env
.APP_KEVACOIN_PASSWORD
- 使用CLI
kevacoin-cli getnewaddress
生成新地址并将其复制到env
.APP_KEVACOIN_BOOST_ADDRESS
- 向此地址发送少量硬币并等待新块继续
- 要允许用户注册,创建命名空间
keva_namespace "_KEVACHAT_USERS_"
- 至少通过Web UI或CLI
keva_namespace "sandbox"
创建一个房间命名空间 - 可选地,在
env
.APP_KEVACOIN_ROOM_NAMESPACE_DEFAULT
(用于主页重定向)中提供默认聊天房间的命名空间
贡献
该项目由人们为人们创建:MIT许可证允许将其用于其他需求,例如新的分支、聊天实例或KevaCoin区块链浏览器。
加入开发并分享您的反馈!