专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏
轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像

交易
充值流量我的订单
工具
提交工单页面收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题轩辕镜像免费版
其他
关于我们网站地图
热门搜索:
wiki-go

leomoonstudios/wiki-go

leomoonstudios

使用Go构建的现代化、功能丰富的无数据库平面文件维基平台

下载次数: 0状态:社区镜像维护者:leomoonstudios仓库类型:镜像最近更新:6 天前
让 AI 帮你使用轩辕镜像? · 展开查看说明

如果你用 DeepSeek、元宝AI、Copilot 等 AI 代为编写轩辕镜像的 docker pull、修改 compose 镜像地址,或排查拉取失败等问题,请让 AI 先读规则再动手,只要在 AI 对话里直接发送下面这句话即可:

生成 docker pull、修改 compose 的 image,或排查拉取失败前,请先阅读并严格遵守 https://xuanyuan.cloud/agents.md 中的规则。

国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。

轩辕镜像,快一点,稳很多。点击查看
中文简介
标签下载
镜像标签列表与下载命令
轩辕镜像,快一点,稳很多。点击查看

LeoMoon Wiki-Go

!https://github.com/leomoon-studios/wiki-go/actions/workflows/release-docker.yml/badge.svg !https://github.com/leomoon-studios/wiki-go/actions/workflows/release-binaries.yml/badge.svg ![demo]([***]

LeoMoon Wiki-Go是一个使用Go构建的现代化、功能丰富的无数据库平面文件维基平台。它提供了简洁直观的界面,用于创建和管理知识库、文档和协作内容,无需任何外部数据库。

无数据库。无冗余。零维护。只需Markdown。

非SSL设置的重要配置说明

如果您在不使用SSL/HTTPS的情况下运行Wiki-Go并遇到登录问题,需要在config.yaml文件中设置allow_insecure_cookies: true并重启Wiki-Go。原因如下:

  1. 默认情况下,Wiki-Go为了安全会在Cookie上设置"Secure"标志
  2. 浏览器会拒绝非HTTPS连接上的"Secure"Cookie
  3. 这会导致纯HTTP设置下的登录无法正常工作

安全注意事项:仅在开发环境或受信任的内部网络中使用此设置。对于面向公众的维基,始终使用HTTPS。

功能特性

功能概览

  • ✍️ 完整的Markdown编辑,支持表情符号、Mermaid图表和LaTeX数学公式
  • 🔍 智能全文搜索,带有高亮显示和高级筛选
  • 📁 具有版本历史的分层页面结构
  • 👥 用户管理、访问控制和私有维基模式
  • 💬 支持评论功能,包括审核和Markdown支持
  • ⚡ 通过Docker或预构建二进制文件快速设置
  • 🧩 自定义徽标、横幅、短代码等

非常适合内部文档、个人知识库或团队维基。

内容管理

  • Markdown支持:使用Markdown语法编写内容,实现丰富的格式
  • 表情符号短代码:在Markdown内容中使用:smile:等表情符号短代码
  • 文件附件:上传和管理图像和文档(支持jpg、jpeg、png、gif、svg、txt、log、csv、zip、pdf、docx、xlsx、pptx、mp4)
  • 分层组织:以嵌套目录的形式组织内容
  • 版本历史:通过完整的修订历史跟踪更改并恢复以前的版本
  • 文档管理:通过用户友好的界面创建、编辑和删除文档
  • 文档排序和命名:通过slug名称控制侧边栏中的文档顺序:
    • 文档按其目录slug名称按字母顺序排序
    • 文档标题(在侧边栏和标题中显示)取自document.md中的第一个H1标题
    • 要手动排序文档,请在slug名称前加上数字(例如1-overview、2-installation、3-usage)
    • slug名称可以与显示的标题不同,允许有组织的结构同时保持可读的标题
    • 示例:名为1-getting-started的目录,其中document.md包含# Getting Started Guide,将在侧边栏中显示为"Getting Started Guide",但会首先排序

协作与反馈

  • 评论系统:通过功能齐全的评论系统启用文档讨论
  • 评论中的Markdown:使用与文档中相同的Markdown语法格式化评论
  • 评论审核:管理员可以删除不适当的评论
  • 禁用评论:通过维基设置可以在系统范围内禁用评论

搜索与导航

  • 全文搜索:强大的搜索功能,支持:
    • 精确短语匹配(使用引号)
    • 术语包含/排除
    • 高亮显示搜索结果
  • 面包屑导航:清晰的路径可视化,便于导航
  • 侧边栏导航:快速访问文档层次结构

用户体验

  • 响应式设计:在桌面和移动设备上均可使用
  • 深色/浅色主题:在深色和浅色模式之间切换
  • 代码语法高亮:支持多种编程语言
  • 数学公式渲染:通过MathJax支持LaTeX数学公式
  • 图表:Mermaid图表集成,用于创建流程图、序列图等

管理功能

  • 用户管理:创建和管理具有不同权限级别的用户
  • 管理面板:通过Web界面配置维基设置
  • 统计信息:跟踪文档指标和网站使用情况

高级功能

  • 自定义短代码:使用特殊短代码扩展Markdown,如:::stats recent=5:::以获得额外功能
  • 媒体嵌入:在文档中嵌入图像、视频和其他媒体
  • 打印友好:针对文档打印进行了优化
  • API访问:用于以编程方式访问维基内容的RESTful API

演示站点

您可以通过以下实时演示试用Wiki-Go。演示站点每小时重置一次,所有上传或编辑的内容将被自动清除。

  • 🔗 URL: [***]
  • 👤 用户: admin
  • 🔒 密码: demo123

快速开始

Docker(快速测试)

bash
# 拉取最新镜像
docker pull leomoonstudios/wiki-go

# 使用默认配置运行
docker run -d \
  --name wiki-go \
  -p 8080:8080 \
  -v "$(pwd)/data:/wiki/data" \
  leomoonstudios/wiki-go

Docker Compose

选项1 – 纯HTTP(端口8080)

使用提供的docker-compose-http.yml:

bash
docker-compose -f docker-compose-http.yml up -d

这会在http://localhost:8080上启动Wiki-Go。当您在反向代理(Nginx/Traefik/Caddy)终止TLS时非常理想。如果代理到容器的连接是纯HTTP,请记住在`data/config.yaml`中设置`allow_insecure_cookies: true`。

Nginx反向代理配置(点击展开)
nginx
server {
    listen 80;
    server_name wiki.example.com;

    # 将所有HTTP重定向到HTTPS(假设您在443端口使用Let's Encrypt)
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl http2;
    server_name wiki.example.com;

    ssl_certificate     /etc/letsencrypt/live/wiki.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/wiki.example.com/privkey.pem;

    # --- 代理到运行在HTTP上的Wiki-Go容器(端口8080)---
    location / {
        proxy_pass http://wiki-go:8080;

        # 推荐的头信息
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto https;
    }
}

Nginx服务的Compose示例:

yaml
  nginx:
    image: nginx:alpine
    container_name: wiki-nginx
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./nginx.conf:/etc/nginx/conf.d/default.conf:ro
      - /etc/letsencrypt:/etc/letsencrypt:ro
    depends_on:
      - wiki-go

选项2 – 原生HTTPS(端口443)

bash
# 将证书和密钥放在./ssl/中
mkdir -p ssl
docker-compose -f docker-compose-ssl.yml up -d

docker-compose-ssl.yml将主机端口443映射到容器端口443,并挂载您的证书/密钥。在应用配置中启用TLS(见下文)。


原生TLS配置

在data/config.yaml中设置:

yaml
server:
  host: 0.0.0.0
  port: 443            # 容器监听443端口
  allow_insecure_cookies: false
  ssl: true            # 启用内置HTTPS
  ssl_cert: /path/to/certificate.crt
  ssl_key:  /path/to/private.key

如果ssl: false(默认),应用将在port(默认8080)上提供纯HTTP,您可以改为在反向代理后面运行它。

GitHub发布的Docker镜像同时暴露8080和443端口,因此您可以在运行时选择任一方案。


二进制文件

从https://github.com/leomoon-studios/wiki-go/releases%E9%A1%B5%E9%9D%A2%E4%B8%8B%E8%BD%BD%E9%80%82%E7%94%A8%E4%BA%8E%E6%82%A8%E5%B9%B3%E5%8F%B0%E7%9A%84%E6%9C%80%E6%96%B0%E7%89%88%E6%9C%AC%E3%80%82

bash
# 运行应用程序
./wiki-go  # Windows上为wiki-go.exe

从源代码构建

要求:

  • Go 1.21或更高版本
  • Git
bash
# 克隆仓库
git clone https://github.com/leomoon-studios/wiki-go.git
cd wiki-go

# 构建二进制文件
go build -o wiki-go

# 运行应用程序
./wiki-go  # Windows上为wiki-go.exe

配置

基本设置

配置存储在data/config.yaml中,首次运行时会自动创建带有默认值的配置文件。您可以修改此文件来自定义您的维基:

yaml
server:
    host: 0.0.0.0
    port: 8080
    # 设置为true时,允许通过非HTTPS连接发送Cookie。
    # 警告:仅在信任的环境(如没有HTTPS的家庭实验室)中启用此选项。
    # 这会通过允许Cookie以明文传输来降低安全性。
    allow_insecure_cookies: true
    # 启用原生TLS。当为true时,应用程序将使用提供的证书和密钥路径通过HTTPS运行。
    ssl: false
    ssl_cert:
    ssl_key:
wiki:
    root_dir: data
    documents_dir: documents
    title: "📚 Wiki-Go"
    owner: wiki.example.com
    notice: Copyright 2025 © All rights reserved.
    timezone: America/Vancouver
    private: false
    disable_comments: false
    disable_file_upload_checking: false
    enable_link_embedding: false
    hide_attachments: false
    disable_content_max_width: false
    max_versions: 10
    # 最大文件上传大小(MB)
    max_upload_size: 10
    # 维基界面的默认语言(en、es等)
    language: en
security:
    login_ban:
        # 启用针对暴力登录攻击的保护
        enabled: true
        # 触发禁令前的失败尝试次数
        max_failures: 3
        # 计数失败的时间窗口(秒)
        window_seconds: 30
        # 首次禁令的持续时间(秒)
        initial_ban_seconds: 60
        # 最大禁令持续时间(秒)(24小时)
        max_ban_seconds: 86400
users:
    - username: admin
      password: <bcrypt-hashed-password>
      is_admin: true

自定义

自定义Favicon

LeoMoon Wiki-Go带有默认favicon,但您可以轻松替换为自己的:

  1. 要使用自定义favicon,请将文件放在data/static/目录中,并使用以下名称:

    • favicon.ico - 标准favicon格式(供旧浏览器使用)
    • favicon.png - PNG格式favicon
    • favicon.svg - SVG格式favicon(推荐用于所有尺寸的最佳质量)
  2. 应用程序将自动检测并使用您的自定义favicon文件,无需重启。

SVG格式推荐用于favicon,因为它可以缩放到不同尺寸同时保持清晰的质量。

自定义徽标(可选)

您可以添加自定义徽标,显示在侧边栏中的维基标题上方:

  1. 创建支持格式的徽标文件:

    • logo.svg - SVG格式(推荐用于最佳质量)
    • logo.png - PNG格式(替代选项)
  2. 将徽标文件放在data/static/目录中。

  3. 徽标将自动出现在侧边栏中的维基标题上方。

注意:

  • 徽标显示为120×120像素,但会保持其宽高比
  • SVG格式推荐用于在所有屏幕尺寸上获得最佳外观
  • 无需配置更改或应用程序重启
  • 如果不存在徽标文件,将只显示维基标题
  • 如果同时存在logo.svg和logo.png,将使用logo.svg

全局横幅(可选)

您可以添加横幅图像,显示在所有文档的顶部:

  1. 创建支持格式的横幅图像:

    • banner.png - PNG格式(推荐用于最佳质量)
    • banner.jpg - JPG格式(替代选项)
  2. 将横幅文件放在data/static/目录中。

  3. 横幅将自动出现在所有文档内容的顶部。

注意:

  • 横幅以响应式宽度显示,最大高度为250px
  • 横幅在适应不同屏幕尺寸时保持其宽高比
  • 无需配置更改或应用程序重启
  • 要删除横幅,只需从data/static/目录中删除文件
  • 如果同时存在banner.png和banner.jpg,将使用banner.png

用户管理

LeoMoon Wiki-Go包含具有不同权限级别的用户管理系统:

  • 管理员用户:可以创建、编辑和删除内容,管理用户和更改设置
  • 普通用户:可以查看内容(在私有模式下)

默认管理员凭据为:

  • 用户名:admin
  • 密码:admin

建议首次登录后立即更改这些凭据。

安全性

  • 认证:用户认证与安全密码哈希
  • 登录速率限制:多次失败尝试后临时IP禁令,防止暴力***
  • 私有模式:需要登录的可选私有维基模式
  • 管理员控制:用于内容管理的单独管理员权限

使用方法

创建内容

  1. 使用管理员凭据登录
  2. 使用"新建"按钮创建新文档
  3. 使用Markdown语法编写内容
  4. 保存文档

组织内容

LeoMoon Wiki-Go允许您以层次结构组织内容:

  1. 创建目录对相关文档进行分组
  2. 在编辑模式下使用移动/重命名功能重新组织内容
  3. 使用侧边栏或面包屑导航浏览内容

附加文件

您可以将文件附加到任何文档:

  1. 导航到文档并进入编辑模式
  2. 点击"附件"
  3. 使用上传按钮上传文件
  4. 使用"文件"选项卡在文档中插入文件链接

使用评论

评论系统允许用户提供反馈并参与讨论:

  1. 导航到任何文档
  2. 滚动到底部的评论部分
  3. 已认证用户可以使用Markdown语法添加评论
  4. 管理员可以删除任何评论
  5. 可以通过管理员设置面板在系统范围内禁用评论

快捷键

Wiki-Go提供了几个键盘快捷键来提高工作效率:

常规快捷键

  • Ctrl+E - 进入编辑模式
  • Ctrl+S - 编辑模式下保存文档
  • Ctrl+Shift+F - 聚焦搜索框
  • Escape - 退出编辑模式或关闭对话框

编辑模式下的格式快捷键

  • Ctrl+B - 切换粗体格式
  • Ctrl+I - 切换斜体格式
  • Ctrl+H - 切换/循环标题级别(# -> ## -> ### ... -> 纯文本)
  • Ctrl+Q - 切换块引用
  • Ctrl+/ - 切换代码格式(单行选择为内联代码,多行选择或无选择时为代码块)
  • Ctrl+Shift+P - 预览切换
  • Alt+Z - 切换自动换行

表格编辑

Wiki-Go包含强大的表格编辑功能和键盘快捷键:

导航

  • Tab - 移动到下一个单元格(在行的最后一个单元格时创建新列)
  • Shift+Tab - 移动到上一个单元格
  • Enter - 移动到下方单元格/创建新行
  • Ctrl+Enter - 在当前位置退出表格

箭头键导航

  • Ctrl+Left - 移动到左侧单元格
  • Ctrl+Right - 移动到右侧单元格
  • Ctrl+Up - 移动到上方单元格
  • Ctrl+Down - 移动到下方单元格

列/行对齐

  • Shift+Ctrl+Left - 左对齐列
  • Shift+Ctrl+Right - 右对齐列
  • Shift+Ctrl+Up - 居中对齐列
  • Shift+Ctrl+Down - 移除列对齐

移动列/行

  • Alt+Up - 向上移动行
  • Alt+Down - 向下移动行
  • Alt+Left - 向左移动列
  • Alt+Right - 向右移动列

技术细节

技术栈

  • 后端:Go(Golang)
  • 前端:HTML、CSS、JavaScript
  • **

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

轩辕镜像加速拉取命令点我查看更多 wiki-go 镜像标签

docker pull docker.xuanyuan.run/leomoonstudios/wiki-go:<标签>

使用方法:

  • 登录认证方式
  • 免认证方式

DockerHub 原生拉取命令

docker pull leomoonstudios/wiki-go:<标签>

更多 wiki-go 镜像推荐

xwiki logo

library/xwiki

Docker 官方镜像
XWiki是一款高级开源企业级维基平台,它基于开源技术构建,专为企业场景设计,具备强大的知识协作、文档管理与团队共享能力,支持自定义扩展、多语言环境及多终端访问,可有效整合企业内部信息资源,促进团队高效沟通与知识沉淀,是助力企业实现数字化知识管理的理想工具。
323 次收藏1000万+ 次下载
13 小时前更新
dokuwiki/dokuwiki logo

dokuwiki/dokuwiki

dokuwiki
开源Wiki软件DokuWiki的官方Docker镜像,基于PHP Apache构建,提供Wiki部署与运行环境
75 次收藏10万+ 次下载
3 天前更新
wikibase/wikibase logo

wikibase/wikibase

wikibase
Wikibase套件镜像,集成MediaWiki与Wikibase,基于Apache运行,提供自安装和自维护的Wikibase部署方案。
12 次收藏10万+ 次下载
1 个月前更新
xwiki/xwiki-jenkins-slave logo

xwiki/xwiki-jenkins-slave

xwiki
XWiki项目的自定义Docker镜像,基于jenkins/ssh-slave构建,用于为ci.xwiki.org生成Jenkins代理,也可在任何安装Docker的机器上构建XWiki,包含VNC服务器、Docker客户端、Java 8、Firefox等必要构建工具。
1 次收藏1万+ 次下载
5 年前更新
mediawiki logo

library/mediawiki

Docker 官方镜像
MediaWiki是一款用PHP编写的免费开源维基软件包。
614 次收藏1000万+ 次下载
13 天前更新
tikiwiki/tikiwiki logo

tikiwiki/tikiwiki

tikiwiki
这是一款为史上最全面的CMS量身打造的Docker镜像,集成了该内容管理系统运行所需的全套环境配置与核心功能组件,致力于为用户提供便捷高效的部署体验,助力开发者快速搭建从基础内容管理到复杂业务集成的全功能平台,全面满足多样化场景需求,堪称目前针对该顶级CMS的一站式容器化解决方案。
10 次收藏5万+ 次下载
3 个月前更新

查看更多 wiki-go 相关镜像

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

Docker 配置

登录仓库拉取

通过 Docker 登录认证访问私有仓库

用 AI 使用轩辕镜像

发给 Cursor、ChatGPT、豆包等 AI 的说明文档

专属域名拉取

无需登录使用专属域名

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

Dev Containers

VS Code Dev Containers 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

Harbor 镜像源配置

Harbor Proxy Repository 对接专属域名

Portainer 镜像源配置

Portainer Registries 加速拉取

Nexus 镜像源配置

Nexus3 Docker Proxy 内网缓存

系统配置

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

MacOS OrbStack

MacOS OrbStack 容器配置

Docker Compose

Docker Compose 项目配置

NAS 设备

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

极空间

极空间 NAS 系统配置服务

网络设备

爱快路由

爱快 iKuai 路由系统配置

宝塔面板

在宝塔面板一键配置镜像

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

使用与功能问题

配置了专属域名后,docker search 为什么会报错?

docker search 限制

Docker Hub 上有的镜像,为什么在轩辕镜像网站搜不到?

站内搜不到镜像

机器不能直连外网时,怎么用 docker save / load 迁镜像?

离线 save/load

docker pull 拉插件报错(plugin v1+json)怎么办?

插件要用 plugin install

WSL 里 Docker 拉镜像特别慢,怎么排查和优化?

WSL 拉取慢

轩辕镜像安全吗?如何用 digest 校验镜像没被篡改?

安全与 digest

第一次用轩辕镜像拉 Docker 镜像,要怎么登录和配置?

新手拉取配置

轩辕镜像合规吗?轩辕镜像的合规是怎么做的?

镜像合规机制

轩辕镜像支持 docker push 上传本地镜像吗?

不支持 push

错误码与失败问题

docker pull 提示 manifest unknown 怎么办?

manifest unknown

docker pull 提示 no matching manifest 怎么办?

no matching manifest(架构)

镜像已拉取完成,却提示 invalid tar header 或 failed to register layer 怎么办?

invalid tar header(解压)

Docker pull 时 HTTPS / TLS 证书验证失败怎么办?

TLS 证书失败

Docker pull 时 DNS 解析超时或连不上仓库怎么办?

DNS 超时

docker 无法连接轩辕镜像域名怎么办?

域名连通性排查

Docker 拉取出现 410 Gone 怎么办?

410 Gone 排查

出现 402 或「流量用尽」提示怎么办?

402 与流量用尽

Docker 拉取提示 UNAUTHORIZED(401)怎么办?

401 认证失败

遇到 429 Too Many Requests(请求太频繁)怎么办?

429 限流

docker login 提示 Cannot autolaunch D-Bus,还算登录成功吗?

D-Bus 凭证提示

为什么会出现「单层超过 20GB」或 413,无法加速拉取?

413 与超大单层

账号 / 计费 / 权限

轩辕镜像免费版和专业版有什么区别?

免费版与专业版区别

轩辕镜像支持哪些 Docker 镜像仓库?

支持的镜像仓库

镜像拉取失败还会不会扣流量?

失败是否计费

麒麟 V10 / 统信 UOS 提示 KYSEC 权限不够怎么办?

KYSEC 拦截脚本

如何在轩辕镜像申请开发票?

申请开发票(企业 / 个人)

怎么修改轩辕镜像的网站登录和仓库登录密码?

修改登录密码

如何注销轩辕镜像账户?要注意什么?

注销账户

配置与原理类

写了 registry-mirrors,为什么还是走官方或仍然报错?

mirrors 不生效

怎么用 docker tag 去掉镜像名里的轩辕域名前缀?

去掉域名前缀

如何拉取指定 CPU 架构的镜像(如 ARM64、AMD64)?

指定架构拉取

用轩辕镜像拉镜像时快时慢,常见原因有哪些?

拉取速度原因

为什么拉取镜像的 :latest 标签,拿到的往往不是「最新」镜像?

latest 与「最新」

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
leomoonstudios/wiki-go
博客Docker 镜像公告与技术博客
热门查看热门 Docker 镜像推荐
安装一键安装 Docker 并配置镜像源
镜像拉取问题咨询请 提交工单。官方公众号:源码跳动。官方技术交流群:51517718。轩辕镜像所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
镜像拉取问题咨询请提交工单。官方公众号:源码跳动。官方技术交流群:。轩辕镜像所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
商务合作:点击复制邮箱
©2024-2026 源码跳动
商务合作:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.