阅读视图

发现新文章,点击刷新页面。

TestDisk 免费开源 Linux 数据恢复工具

作者 Teacher Du

近期整理公司资料时出现了误删除数据的情况,就想着做数据恢复。奈何 Linux 平台下数据恢复类的软件较少,相对较常用的是 TestDisk。故整理一篇相关的教程,供有需要的小伙伴参考。

介绍

TestDisk 是一款功能强大免费开源数据恢复软件,主要用于恢复丢失分区和修复无法启动的磁盘。支持多种文件系统,包括 NTFS 和 ext4 等。

TestDisk 可以帮助修复分区表、恢复已删除的分区、重建启动扇区、修复文件分配表以及从不同文件系统中恢复已删除文件。

特点

TestDisk 可以修复分区表,恢复因为软件故障、病毒或者人为错误而丢失的分区。

它能够从备份中恢复 FAT32 启动扇区,并重建 FAT12/FAT16/FAT32 以及 NTFS 的启动扇区。

TestDisk 可以从 NTFS 和 ext4 文件系统中恢复已删除的文件。

TestDisk 可以在 Windows 和 Linux 上运行。

除上述文件系统外,TestDisk 还支持 Linux RAID 和 XFS 等。

TestDisk 提供了适合新手和专家的功能。对于不熟悉数据恢复的用户,TestDisk 可以收集非启动驱动器的详细信息,然后发送给专业技术人员进行进一步分析。

TestDisk 提供了一步步的指南,帮助用户恢复丢失分区和修复损坏的启动扇区。

TestDisk 提供在线文档和指南,及一个活跃的社区论坛,用户可以在其中寻求帮助和分享经验。

安装

TestDisk 安装步骤因操作系统而异,以下是针对 Linux 安装步骤。对于不同 Linux 发行版,安装命令有所不同。Ubuntu 及 Debian 的安装命令如下:

1
2
sudo apt update
sudo apt -y install testdisk

Red Hat 和 CentOS 的安装命令如下:

1
2
yum -y install epel-release
yum -y install testdisk

Fedora 的安装命令如下:

1
sudo dnf -y install testdisk

Arch Linux 的安装命令如下:

1
sudo pacman -S testdisk

使用

注意使用 TestDisk 时,用户应避免在数据恢复过程中进一步使用存储已删除数据的介质,并且最好将恢复的文件复制到另一个分区或磁盘上,以防止数据被覆盖。打开终端界面,输入以下命令:

1
testdisk

首次启动,需要创建一个恢复日志,这里选择创建:

选择要恢复文件所在的磁盘,按回车键继续:

TestDisk 会显示检测的分区表类型,通常会自动识别正确的类型,按回车键继续:

选择 Analyse 即分析选项来检查当前的分区结构并搜索丢失的分区,按回车键开始分析。

TestDisk 会执行快速搜索以查找丢失的分区:

如仍有分区未找到,选择 Deeper Search 即深度搜索来进一步搜索:

深度搜索会扫描每一个柱面,寻找 FAT32 的备份启动扇区、NTFS 的备份启动超级块以及 ext2/ext3 的备份超级块。在深度搜索后,检查结果并确认找到的分区。

随机图片及视频的代码分享

作者 Teacher Du

有小伙伴看到杜老师侧边栏随机图片,想问如何实现?杜老师整理了一下代码分享出来,供需要的小伙伴们参考。杜老师的主机资源有限,就不再部署 API 端了,需要的小伙伴可以自行搭建!

随机白丝图片

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://v2.api-m.com/api/baisi",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
));
$response = curl_exec($curl);
if(curl_errno($curl)){
echo 'Request Error:' . curl_error($curl);
}
curl_close($curl);
$json = $response;
$data = json_decode($json, true);
if ($data && isset($data['data']) && filter_var($data['data'], FILTER_VALIDATE_URL)) {
$imageUrl = $data['data'];
header("HTTP/1.1 303 See Other");
header("Location: $imageUrl");
} else {
echo "无法解析数据或数据字段不存在。";
}
?>

注意:将上方的代码保存为 PHP 文件,如 baisi.php,放入 PHP 环境目录中,不限 PHP 的运行版本。前端直接调用即可,调用时会自动跳转至被解析图片地址。

随机黑丝图片

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://v2.api-m.com/api/heisi",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
));
$response = curl_exec($curl);
if(curl_errno($curl)){
echo 'Request Error:' . curl_error($curl);
}
curl_close($curl);
$json = $response;
$data = json_decode($json, true);
if ($data && isset($data['data']) && filter_var($data['data'], FILTER_VALIDATE_URL)) {
$imageUrl = $data['data'];
header("HTTP/1.1 303 See Other");
header("Location: $imageUrl");
} else {
echo "无法解析数据或数据字段不存在。";
}
?>

注意:将上方的代码保存为 PHP 文件,如 heisi.php,放入 PHP 环境目录中,不限 PHP 的运行版本。前端直接调用即可,调用时会自动跳转至被解析图片地址。

随机美女图片

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://v2.api-m.com/api/meinvpic",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
));
$response = curl_exec($curl);
if(curl_errno($curl)){
echo 'Request Error:' . curl_error($curl);
}
curl_close($curl);
$json = $response;
$data = json_decode($json, true);
if ($data && isset($data['data']) && filter_var($data['data'], FILTER_VALIDATE_URL)) {
$imageUrl = $data['data'];
header("HTTP/1.1 303 See Other");
header("Location: $imageUrl");
} else {
echo "无法解析数据或数据字段不存在。";
}
?>

注意:将上方的代码保存为 PHP 文件,如 meinvpic.php,放入 PHP 环境目录中,不限 PHP 的运行版本。前端直接调用即可,调用时会自动跳转至被解析图片地址。

随机美女视频

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://v2.api-m.com/api/meinv",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
));
$response = curl_exec($curl);
if(curl_errno($curl)){
echo 'Request Error:' . curl_error($curl);
}
curl_close($curl);
$json = $response;
$data = json_decode($json, true);
if ($data && isset($data['data']) && filter_var($data['data'], FILTER_VALIDATE_URL)) {
$imageUrl = $data['data'];
header("HTTP/1.1 303 See Other");
header("Location: $imageUrl");
} else {
echo "无法解析数据或数据字段不存在。";
}
?>

注意:将上方的代码保存为 PHP 文件,如 meinv.php,放入 PHP 环境目录中,不限 PHP 的运行版本。前端直接调用即可,调用时会自动跳转至被解析视频地址。

Yearning 开源 SQL 审核平台

作者 Teacher Du

Yearning 是一个开源的 SQL 审核平台,专门为简化 SQL 管理流程设计,通常用于数据库的审核和自动化流程管理。Yearning 支持 MySQL 等数据库,提供 Web UI 来审核和管理 SQL 执行。

测试环境

在安装 Yearning 之前,请确保服务器环境满足以下条件。

操作系统:Ubuntu 或者 CentOS「本文默认为 Ubuntu」

数据库 MySQL 5.7 或 8.0。

运行语言:Yearning 是 Go 开发的,所以需要 Go 语言的环境。

安装 MySQL 数据库

如尚未安装 MySQL,可以使用以下命令安装:

1
2
3
4
5
6
7
# Ubuntu 安装 MySQL
sudo apt update
sudo apt -y install mysql-server

# CentOS 安装 MySQL
sudo yum update
sudo yum -y install mysql-server

启动 MySQL 服务并设置开机自启:

1
2
sudo systemctl start mysql
sudo systemctl enable mysql

测试 MySQL 数据库安装成功:

1
mysql -u root -p

在 MySQL 中创建 Yearning 所需的数据库:

1
2
3
4
CREATE DATABASE yearning;
CREATE USER 'yearning'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON yearning.* TO 'yearning'@'localhost';
FLUSH PRIVILEGES;

安装运行语言

Yearning 需要 Go 环境,因此需要先安装 Go。可以使用以下命令安装官方网站的 Go:

1
wget https://golang.org/dl/go1.23.2.linux-amd64.tar.gz

解压安装:

1
sudo tar -xzf go1.23.2.linux-amd64.tar.gz -C /usr/local

配置环境变量:

1
2
echo "export PATH=$PATH:/usr/local/go/bin" >> ~/.bashrc
source ~/.bashrc

验证安装:

1
go version

下载配置

使用以下命令克隆 Yearning 项目源代码:

1
2
3
4
5
# 克隆 Yearning 源代码仓库
git clone https://github.com/cookieY/Yearning.git

# 进入目录
cd Yearning/

Yearning 提供一个配置文件来指定数据库连接等参数。在 Yearning/config 目录中找到 conf.yaml 文件,编辑并配置数据库连接信息:

1
2
3
4
5
6
db:
host: "127.0.0.1"
port: 3306
user: "yearning"
password: "your_password"
name: "yearning"

编译访问

Yearning 需要使用 Go 编译运行。执行以下命令来编译 Yearning:

1
2
3
4
5
# 编译
go build -o Yearning

# 运行
./Yearning

会启动 Web 服务,默认情况端口是 8000。使用浏览器访问 Yearning 的 Web UI:

1
http://IP:8000

初始使用

首次访问 Yearning Web UI 时,会要求设置管理员账号。

设置管理员账号后,可登录系统并开始使用 Yearning 进行 SQL 审核。

Yearning 需连接管理的数据库实例。

前往配置页面,添加要管理的 MySQL 数据库实例。

Yearning 提供了 SQL 提交和审核功能。用户可以通过 Web 界面提交 SQL,管理员审核后可执行或拒绝该 SQL。

Yearning 提供 SQL 审核和执行的记录功能,可以查看每次执行的历史记录和结果。

使用 Docker 安装 Yearning

如果希望使用 Docker 来简化安装过程,Yearning 提供 Docker 支持。将下面的代码保存为 docker-compose.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
version: '3'

services:
yearning:
image: yeelabs/yearning:latest
environment:
MYSQL_USER: yearning
MYSQL_PASSWORD: ukC2ZkcG_ZTeb
MYSQL_ADDR: mysql
MYSQL_DB: yearning
SECRET_KEY: dbcjqheupqjsuwsm
IS_DOCKER: is_docker
ports:
- 8000:8000
# 首次使用请先初始化
command: /bin/bash -c "./Yearning install && ./Yearning run"
depends_on:
- mysql
restart: always

mysql:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: ukC2ZkcG_ZTeb
MYSQL_DATABASE: yearning
MYSQL_USER: yearning
MYSQL_PASSWORD: ukC2ZkcG_ZTeb
command:
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_general_ci
volumes:
- ./data/mysql:/var/lib/mysql

# 默认账号:admin,默认密码:Yearning_admin

使用下面命令启动容器。docker-compose 会自动拉取 Yearning 的镜像并启动 Yearning 服务,打开浏览器访问 http://IP:8000,同样按照之前步骤完成初始化配置和使用:

1
docker-compose up -d

常见问题

无法访问 Yearning时:

  1. 检查防火墙是否阻止了端口 8000 的访问;
  2. 检查 Yearning 是否在正确的 IP 和端口上运行。

数据库连接问题:

  1. 确保配置文件中的数据库用户名、密码、主机正确;
  2. 确认 MySQL 允许 Yearning 连接,可以在 MySQL 中执行 GRANT 语句,确保正确权限。

Jellyfin 软件媒体系统介绍与部署

作者 Teacher Du

群晖越来越坑,前后下线了 Chat 和 Video Station 套件。自从 Video Station 套件下线后,一直没找到相关的套件,直到发现了 Jellyfin。本文简单介绍 Jellyfin 和其部署的方式,同时推荐给需要的小伙伴们!

什么是 Jellyfin

Jellyfin 是一个开源自由软件媒体系统,旨在帮助用户管理和流式传输他们的媒体内容。

作为 Emby 和 Plex 免费替代品,Jellyfin 允许用户通过专用服务器将媒体传输到各种终端设备。

Jellyfin 的特点

  • 免费开源:Jellyfin 是完全免费,没任何隐藏费用或高级功能。所有的功能对所有用户开放。

  • 隐私保护:Jellyfin 没有任何追踪或数据收集行为,所有数据都保存在用户自己服务器上。

  • 社区驱动:Jellyfin 由志愿者社区开发和维护,用户可自由地贡献代码、文档、翻译、支持。

  • 多客户端支持:Jellyfin 提供多种官方和第三方客户端,支持智能电视、智能手机、平板电脑和游戏主机上访问媒体内容。

Jellyfin 的部署

使用 Docker 部署 Jellyfin,首先拉取 Jellyfin 的镜像:

1
docker pull jellyfin/jellyfin

通过下面的命令运行 Jellyfin 容器:

1
docker run -d --name=jellyfin --user=1000:1000 --net=host -v /path/to/config:/config -v /path/to/cache:/cache -v /path/to/media:/media jellyfin/jellyfin

群晖部署

下面分享在群晖的部署方式。在群晖面板中,选择套件中心,点击设置,切换到套件来源项,点击新增,添加链接 https://packages.synocommunity.com 到位置:

在套件中心搜索框中输入 Jellyfin,点击安装套件:

安装好套件后,可在启动栏中看到 Jellyfin 的图标,点击可进入到初始页面。在首次启动时,系统会引导用户创建一个管理员账号:

用户可以添加电影、音乐等媒体库,选择相应的文件夹路径。根据需要配置缓存目录、硬件加速选项,以优化媒体流体验。

免费、快速、稳定的公益 API 平台推荐

作者 Teacher Du

小小 API 是一个公益的 API 平台,其基于 Golang 自主开发,并采用微服务架构,致力于为开发者们提供稳定、快速的 API 服务,帮助他们更高效地构建应用。

什么是 API

API 是现代软件开发中不可或缺的工具。

无论是在移动应用,还是集成第三方服务时,API 都能极大地简化开发流程。

然而,选一个适合的 API 平台对提升开发效率、保障应用稳定性和响应速度至关重要。

那么,如何找到一个可靠的 API 服务商呢?

如何选择 API 服务商

  1. 查询平台历史。通过 Whois 查询 API 平台域名注册时间,了解其在市场上的长期表现。可靠的 API 服务商通常拥有多年的运营经验,并在技术支持方面表现优异;

  2. 核实备案。查看服务商是否拥有正规 ICP 备案;

  3. 考察运营时间。运营时间越长,平台在处理实际应用场景和技术挑战时积累经验越丰富,这也是确保高可用性服务的重要依据;

  4. 评估自主研发能力。自主研发的平台通常对其系统有更强的掌控力,能够快速响应问题。使用自研系统平台在安全性、可扩展性和服务稳定性方面表现更加出色。

可信赖的 API 服务商推荐

无论是个人开发者、初创团队,还是大型企业,小小 API 都可以提供高效、稳定的 API 服务,助力开发项目更轻松更高效。:

小小 API 始终重视服务的稳定性和响应速度。如图所示,小小 API 平台的测速数据表明高效性能:

平台特点

  1. 小小 API 完全基于 Golang 自主开发,平台对技术的完全掌控让其在处理高并发和大流量时依然能够保持卓越的响应速度和稳定性;

  2. 小小 API 提供完全免费 API 服务,帮助开发者们显著降低开发成本。虽然免费,依然在性能表现上领先市场,确保了数据的快速响应和流畅的集成体验;

  3. 小小 API 覆盖了多种应用场景,满足不同开发需求。无论项目是需要处理简单查询还是复杂的数据和多媒体服务,小小 API 都能提供优质的支持;

  4. 平台采用了微服务架构,确保每一个 API 服务独立运行,轻松应对流量高峰和复杂的服务场景。即使在高并发的情况下,小小 API 依然能够保持服务的高可用性,为开发者提供稳定支持;

  5. 小小 API 拥有正规 ICP 备案,合法合规运营。此外,平台通过自主研发技术确保数据的安全性,经过严格测试 API 服务能够满足不同应用场景的需求,帮助开发者专注于核心业务;

  6. 无论是使用 PHP、JavaScript 等语言,还是其它编程语言,小小 API 都提供完善的文档和示例代码。

Look Scanned 开源 PDF 扫描项目

作者 Teacher Du

Look Scanned 是一个纯前端的网站项目,可把文档、图片或者其它文件搞得像是用老旧扫描仪扫出来的效果。所有的操作都是在浏览器中完成,不需要任何服务器或外部设备的协助。

项目特点

项目拥有隐私保护、速度快等特点:

项目部署

更多细节内容,感兴趣的小伙伴可以去项目地址进行查看:

安装部署非常简单,直接下载项目源码,按照下面的步骤到本地进行开发:

1
2
npm run dev
npm run build

使用方法

使用也很简单,打开网站,点击开始扫描:

先选择 PDF 文件,之后根据需要进行扫描设置,包括旋转角度、边框、亮度、模糊、噪点、对比度等参数设置,右边可以即时查看修改后的预览。如果觉得预览效果不错,点击生成扫描版 PDF 按钮,下载保存即可:

项目效果

左边是原始 PDF 文件,右边是经过 Look Scanned 处理后的文件,效果还是很不错的:

Duplicati 强大的开源备份工具

作者 Teacher Du

Duplicati 是一款广受好评免费开源备份软件,它以其先进的加密技术确保数据安全,防止未授权的访问。其增量备份功能允许用户只备份自上次备份以来发生变化的文件,从而节省存储空间。支持定时任务,用户可以设置自动备份计划,确保重要数据定期得到保护。

功能特点

无论是个人用户还是企业用户都可以通过 Duplicati 来守护自己的珍贵资料并确保数据的安全性和可用性。

Duplicati 采用 AES-256 加密技术,确保备份数据在传输和存储过程的安全性和隐私性。只有知道密码的用户才能执行恢复数据的操作,有效防止数据泄露。

首次备份时会上传完整数据,之后只会上传修改过的部分,大大节省了带宽和存储空间。这种备份方式不仅提高备份效率,还减少备份所需的时间。

允许用户设定自动备份计划,例如每天、每周或每月的特定时间自动进行备份。这样可以确保数据始终保持最新状态,减少人工干预。

支持将数据备份到多种存储位置,包括本地磁盘、网络文件服务器等。用户可以根据自己的需求选择合适的存储目标。

允许用户自定义备份内容和规则,例如只备份特定类型的文件或排除某些不需要备份的文件夹。这样可以更精确地控制备份过程,减少不必要数据传输和存储。

界面操作

提供直观易用图形界面,用户可通过界面进行备份任务的配置、管理和监控等操作。即使是非专业用户也能轻松上手。

除了图形界面,还提供了命令行接口供高级用户使用。这为用户提供更多的灵活性和控制权。

支持对正在运行的应用程序中的数据进行备份,如在 Microsoft Outlook 运行时备份文件。这确保了数据的实时性和完整性。

在备份过程中可能会执行数据验证和校验操作,确保备份数据的完整性和可用性。

如果数据在传输或存储过程中发生损坏或篡改,Duplicati 会发出警报或采取相应措施来处理。

用户可通过 Duplicati 的界面或相关工具来监控备份任务的执行情况。如备份任务出现异常或失败,用户会及时收到通知以便迅速采取措施进行排查和修复。

部署过程

要使用 Docker 部署 Duplicati 工具,首先确保系统上已经安装 Docker,并支持 docker-compose 命令。可使用下面的命令检查:

1
docker-compose --version

若显示命令未找到,可使用下面命令安装 docker-compose

1
2
curl -L https://github.com/docker/compose/releases/download/v2.29.5/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

创建一个名为 docker-compose.yml 的文件,写入以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
version: "3"
services:
duplicati:
image: linuxserver/duplicati:latest
container_name: duplicati
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
volumes:
- /path/to/appdata/config:/config
- /path/to/backups:/backups
- /path/to/source:/source
ports:
- 8200:8200
restart: unless-stopped

在包含 docker-compose.yml 文件的目录中,打开终端或命令提示符,运行以下命令启动容器:

1
docker-compose up -d

运行截图

在服务启动后,访问 http://IP:8200 就行了。首页可以看到各备份项目的执行情况:

如需新建备份项目,可以点击左侧新增备份,按照界面提示填写对应信息即可:

腾飞 Webos 如 Win11 体验的私有云盘

作者 Teacher Du

Webos 私有云是一种基于网页的操作系统,提供了类似传统操作系统的文件管理、应用程序使用功能,但数据存储和处理都在私有云环境中,用户可以完全掌控自己数据。

工具介绍

Webos 是一款免费的个人私有云,支持多种存储,支持私有部署。

具有类似 Win11 操作界面和操作习惯,包括快捷键及菜单功能等,用户用起来非常熟悉和顺手,降低学习成本,能够快速上手操作。

它支持私有化部署,可在纯局域网内或连接外网的情况下使用,方便用户根据自己需求进行灵活的配置和管理。

支持挂载市面上大多数网盘,如 OneDrive、阿里云盘、百度云盘、天翼云盘、腾讯微云。

用户可将这些网盘添加到 Webos 的文件管理系统中,方便地进行统一管理和操作,实现跨网盘数据传输和文件管理。

可支持第三方跨盘秒传功能,在部分网盘平台允许情况下,可以实现文件快速传输,提高工作效率。

提供流畅在线文件管理体验,支持文件上传、下载、删除、移动、复制、剪切、粘贴、重命名等基本操作。

全盘支持从浏览器直接上传文件到服务器,或从服务器直接下载文件到本地,不经中转,提高了文件传输的速度和安全性。

无论上传还是下载文件,文件传输过程中因意外断网等原因被迫停止后,支持继续传输,避免因网络问题导致的文件传输中断而需要重新开始的麻烦。

支持数百种文件格式的在线预览、编辑、播放,并且支持金山文档协同办公,方便用户在线对文件进行编辑和协作。

可以设置不同的用户角色和权限,管理员能够对用户的操作进行细粒度管控,例如设置用户对文件的访问、编辑、删除权限,保证数据的安全性和隐私性。

提供大量免费的插件和应用程序,用户可以根据自己的需求进行下载和安装,扩展系统功能,满足多样化办公和娱乐需求。

部署方法

使用命令运行镜像。本示例采用 8088 端口,文件配置持久化地址/data/webos/rootPath,插件持久化地址/data/webos/apps,宿主机映射根目录。命令如下:

1
docker run -itd --name webos --restart=always -p 8088:8088 -v /:/webosMnt -v /data/webos/rootPath:/webos/api/rootPath -v /data/webos/apps:/webos/web/apps docker.1ms.run/fs185085781/webos

部署成功后使用下面的地址访问:

1
http://IP:8088

效果截图

第一次访问时需初始化,如果个人使用选择 SQLite 数据库类型即可,缓存类型推荐选择内存,验证下两者即可下一步:

转到主页即可看到类似 Win11 的界面,操作习惯也与本地系统相同,极大降低了用户的学习成本:

各平台端

官方提供各种平台的客户端,下面是 Windows 版本下载地址:

下载地址

下面是 Linux 版本下载地址:

下载地址

macOS 版本的下载地址。因杜老师没有苹果电脑,所以需要小伙伴们自行测试:

下载地址

安卓版本下载地址:

下载地址
❌