Friend OS v1.3.0,"氦"
发行说明
此版本正在进行中——在发布之前可能会有波动,也可能在此ReadMe中。1.3.0最终发布时将附带完整说明。
Friend OS利用互联网的计算能力,提供了Chrome OS、Windows、Linux、Android、macOS或iOS的许多功能和特点,无需选择特定的硬件平台或专有软件包。如果你有一台连接互联网的设备,你就可以使用Friend OS。
Friend OS将你从大科技公司中解放出来:它赋予你跨所有设备创建、协作、存储和共享信息、数据和内容的控制权,确保在任何设备上的安全私人环境中访问这些内容。
跨设备
通过响应式桌面环境和客户端的基于JavaScript的技术,Friend OS提供了一种新现实,让你在不依赖本地网络硬件的情况下在线工作和娱乐。通过支持从手机到笔记本电脑以及VR的所有屏幕格式,Friend OS为你提供了一个通向整个用户市场的单一目标。
要在设备上安装Friend OS,从手机/平板或桌面浏览器选择“安装Friend OS”。
分布式和强大
Friend OS旨在让新兴的强大网络技术变得易于使用。这就是我们与大家联系的原因,希望大家帮助我们用DOS驱动、模块、库和应用程序丰富这个平台,以便涵盖人们使用和喜爱的所有有趣技术。 在未来,Friend OS对于云用户来说将如同Linux之于机器。
安装说明
- 将此仓库克隆到一个文件夹中
- 安装以下依赖项——以下是为Ubuntu 20.04安装:
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt-get install bash libssh2-1-dev libssh-dev libssl-dev libaio-dev mysql-server php7.4-cli php7.4-gd php7.4-imap php7.4-mysql php7.4-curl libmysqlclient-dev build-essential libmatheval-dev libmagic-dev libgd-dev libuv1 rsync valgrind-dbg libxml2-dev php7.4-readline cmake ssh make libsmbclient-dev libwebsockets-dev libsqlite3-dev
- 切换到仓库文件夹
cd friendup
- 构建FriendCore
echo "USE_SSH_THREADS_LIB=0" >> Config
echo "OPENSSL_INTERNAL=1" >> Config
make clean setup
make compile
make install
- 创建数据库/访问权限
在你的Friend文件夹中:
sudo mysql
create user frienduser@localhost identified by "somepassword";
create database frienddb;
use frienddb;
source db/FriendCoreDatabase.sql;
grant all privileges on frienddb.* to frienduser@localhost;
flush privileges;
exit
- 配置配置文件,位于 build/cfg/cfg.ini (配置Friend OS) 注意,如果你还没有设置这个文件,在build/cfg/cfg.ini.example中有一个示例文件——你可以在设置好你的设置后将其重命名为cfg.ini。
- 一旦你配置好cfg.ini文件,运行FriendCore:
cd build/
./FriendCore
就完成了。
如果你使用推送通知,你需要安装composer和php Web Push:
sudo apt-get install composer
cd build/php
composer require minishlink/web-push
这将允许你运行网络推送,并在cfg.ini中启用:
[Security]
push_system = "php-web-push"
配置服务器
默认登录
安装脚本完成并且本地的FriendCore启动后,使用以下凭据登录:
用户:fadmin
密码:securefassword
你可能想做的第一件事就是添加一个新用户:在工作区的系统菜单中运行“Run command”的“System”应用。
使用site.ini
设置完所有内容后,你可能想自定义你的网站。在build/文件夹中创建一个名为site.ini的文件,使用以下配置填充此ini文件:
[Customization]
SiteName = "My Friend OS Site"
SiteShortName = "MySite"
Description = "我的组织的酷炫 hang out 场所!"
BackgroundColor = "#000088"
在[Customization]下的可选设置
SiteLogo = "mylogo.png"
SiteCSS = "mycss.css"
这些文件需要放在build/cfg/文件夹中,从那里它们将被复制到你的Friend OS网站的活动构建资源中。
可以修改site.ini文件以使用你自己的favicon和其他适应性,以赋予其你自己的身份或品牌。
可选包
可选功能和模块
从Friend OS 1.3.x开始,你可以使用install_optional.sh脚本安装Friend OS的特殊功能,这些功能默认情况下未启用,或需要使用第三方项目才能运行。当前模块有:
- SSHy 用于终端应用中的SSH功能
- Web push(Minishlink)以启用网络推送通知(在Convos中)
Friend Network
Friend Network已包含在此项目中,但必须单独安装。它只能安装在已安装的Friend Core上。
要安装Friend Network,在shell中输入以下命令:
cd myfriend
./installFriendNetwork.sh
为了运行,Friend Network需要在机器上运行一个节点服务器。Friend Network安装程序将自动安装最新版本的node、npm和n。
你还需要提供TURN服务器、STUN服务器的链接和进入TURN服务器的凭据。 安装程序提供了一个公用的stun和turn服务器:
turn服务器:ice.friendup.cloud
turn用户:TINA
turn密码:TURNER
stun服务器:ice.friendup.cloud
Friend Network服务器将在成功安装后,运行Friend Core时自动启动。
为了杀死Friend Core和所有相关服务器,我们建议使用**'killfriend.sh'脚本**。
Friend Chat
你也可以安装Friend Chat,我们的集成文本和视频通信工具。
FriendChat只能安装在已安装的Friend Core上。
要安装FriendChat,在shell中输入以下命令:
cd myfriend
./installFriendChat.sh
安装程序将检查node.js、npm和n并在必要时安装它们。
Friend Chat需要Friend Core运行TLS保护:如果在安装Friend Core时未定义TLS密钥,Friend Chat安装程序将为你提供创建它们的机会。一旦完成,Friend Core将以TLS模式运行,并且你将需要以“https”而不是“http”连接到你的Friend机。
与Friend Network一样,你需要提供TURN服务器、STUN服务器的链接和进入TURN服务器的凭据。
Friend Chat需要两个服务器才能运行,即'Presence'服务器和'Friend Chat'服务器。Friend Core将自动启动这两个服务器。
为了杀死Friend Core和所有相关服务器,我们建议使用**'killfriend.sh'脚本**。
请注意,'Presence'服务器(IRC连接所需)无法使用用户'fadmin':你必须创建一个真实用户,并定义其名称和用户名,并使用其会话进行连接。
端口
- 6502 -> 用于主要的Friend工作区。需要通过路由器转发以允许远程访问。
- 6500 ->
- 3306 -> 用于MSQL数据库
- 3478 ->(UDP,TCP)Stun服务器
- 5349 ->(TLS)Stun服务器
文档
您可以在docs文件夹中找到开发者文档。管理员指南将很快添加。
许可证
Friend OS是一个包含多个层次的大系统。它有一个管理Friend资源的核心内核。此部分是MIT许可证下的。然后它有模块、DOS驱动和运行时链接库。这些是在LGPLv3许可证下的。最后,我们有Friend的图形用户界面——Friend工作区。这是在AGPLv3许可证下的。
测试 - 大量
我们广泛测试了我们的平台,并使用https://www.browserstack.com/进行跨浏览器测试。