550 lines
42 KiB
Markdown
550 lines
42 KiB
Markdown
```xml
|
||
<!-- -*- nxml-child-indent: 4; tab-width: 4; indent-tabs-mode: nil -*- -->
|
||
<config>
|
||
|
||
<!-- 更详细的配置文档请参阅:https://sdk.collaboraonline.com/docs/installation/Configuration.html -->
|
||
|
||
<!-- 注意:'default' 属性用于记录设置的默认值,并在部署时缺少该条目时用作备用值 -->
|
||
<!-- 注意:添加新条目时,必须在 WSD 中设置默认值,以防部署时缺少该条目 -->
|
||
|
||
<!-- ========================================
|
||
辅助功能设置
|
||
======================================== -->
|
||
<accessibility desc="辅助功能设置">
|
||
<enable type="bool" desc="控制是否启用辅助功能支持" default="false">false</enable>
|
||
</accessibility>
|
||
|
||
<!-- ========================================
|
||
允许的写作辅助语言
|
||
======================================== -->
|
||
<allowed_languages desc="此实例支持的写作辅助语言列表(拼写检查、语法检查、同义词词典、连字符)。允许过多会对启动性能产生负面影响。" default="de_DE en_GB en_US es_ES fr_FR it nl pt_BR pt_PT ru">de_DE en_GB en_US es_ES fr_FR it nl pt_BR pt_PT ru zh_CN</allowed_languages>
|
||
|
||
<!-- ========================================
|
||
外部拼写和语法检查服务配置
|
||
======================================== -->
|
||
<languagetool desc="远程拼写和语法检查 API 设置">
|
||
<enabled desc="启用远程拼写和语法检查器" type="bool" default="false">false</enabled>
|
||
<base_url desc="API 服务器的 HTTP 端点,末尾不带 /check 或 /languages 后缀" type="string" default=""></base_url>
|
||
<user_name desc="高级使用的 LanguageTool 或 Duden 账户用户名" type="string" default=""></user_name>
|
||
<api_key desc="高级使用的 API 密钥" type="string" default=""></api_key>
|
||
<ssl_verification desc="启用或禁用 SSL 验证。在使用自签名证书的测试环境中可能需要禁用" type="string" default="true">true</ssl_verification>
|
||
<rest_protocol desc="REST API 协议。LanguageTool 留空,Duden Korrekturserver 使用字符串 'duden'" type="string" default=""></rest_protocol>
|
||
</languagetool>
|
||
|
||
<!-- ========================================
|
||
DeepL 翻译服务配置
|
||
======================================== -->
|
||
<deepl desc="DeepL 翻译服务 API 设置">
|
||
<enabled desc="如果为 true,在紧凑视图中显示翻译选项为菜单条目,在选项卡视图中显示为图标" type="bool" default="false">false</enabled>
|
||
<api_url desc="API 的 URL" type="string" default=""></api_url>
|
||
<auth_key desc="由您的账户生成的身份验证密钥" type="string" default=""></auth_key>
|
||
</deepl>
|
||
|
||
<!-- ========================================
|
||
系统路径配置
|
||
======================================== -->
|
||
<sys_template_path desc="包含共享库等的模板树路径,用作子进程 chroot jail 的源" type="path" relative="true" default="systemplate"></sys_template_path>
|
||
<child_root_path desc="将在其下创建子进程 chroot jail 的目录路径。应与 systemplate 和 lotemplate 位于同一文件系统上。必须是空目录。" type="path" relative="true" default="jails"></child_root_path>
|
||
<mount_jail_tree desc="控制是否挂载 systemplate 和 lotemplate 内容,这比默认的链接/复制每个文件快得多" type="bool" default="true">true</mount_jail_tree>
|
||
|
||
<!-- ========================================
|
||
服务器配置
|
||
======================================== -->
|
||
<server_name desc="运行 coolwsd 的服务器的外部主机名:端口。如果为空,则从请求中派生(如果这不起作用,请设置它)。可以在反向代理后面或主机名无法直接访问时指定。" type="string" default=""></server_name>
|
||
<file_server_root_path desc="应被视为文件服务器根目录的目录路径。这应该是包含 cool 的目录。" type="path" relative="true" default="browser/../"></file_server_root_path>
|
||
<hexify_embedded_urls desc="启用以保护编码的 URL 不被中间跳点解码。在 Azure 部署上特别有用" type="bool" default="false">false</hexify_embedded_urls>
|
||
<experimental_features desc="启用/禁用实验性功能" type="bool" default="true">true</experimental_features>
|
||
|
||
<!-- ========================================
|
||
性能和资源配置
|
||
======================================== -->
|
||
<memproportion desc="所有 Collabora Online 进程消耗的可用内存的最大百分比,超过此百分比后,我们开始清理空闲文档。如果设置了 cgroup 内存限制,则这是该限制的最大百分比。" type="double" default="80.0"></memproportion>
|
||
<num_prespawn_children desc="提前启动并等待新客户端的子进程数量" type="uint" default="4">4</num_prespawn_children>
|
||
<fetch_update_check desc="每隔多少小时获取最新版本数据。默认为 10 小时。" type="uint" default="10">10</fetch_update_check>
|
||
<allow_update_popup desc="允许在编辑器中显示关于更新的通知" type="bool" default="true">true</allow_update_popup>
|
||
|
||
<!-- ========================================
|
||
文档特定设置
|
||
======================================== -->
|
||
<per_document desc="文档特定设置,包括 LO Core 设置">
|
||
<max_concurrency desc="处理文档时使用的最大线程数" type="uint" default="4">4</max_concurrency>
|
||
<batch_priority desc="批处理(如 convert-to)进程使用的(较低)优先级,以避免使交互式进程饿死" type="uint" default="5">5</batch_priority>
|
||
<bgsave_priority desc="后台保存进程使用的(较低)优先级,以释放时间给交互式进程" type="uint" default="5">5</bgsave_priority>
|
||
<bgsave_timeout_secs desc="等待后台保存进程完成的默认最大秒数,超时后放弃并恢复为同步保存" type="uint" default="120">120</bgsave_timeout_secs>
|
||
<redlining_as_comments desc="如果为 true,则将修订显示为注释" type="bool" default="false">false</redlining_as_comments>
|
||
<pdf_resolution_dpi desc="用于将 PDF 文档渲染为图像的分辨率(DPI)。内存消耗成比例增长。必须是小于 385 的正值。默认为 96。" type="uint" default="96">96</pdf_resolution_dpi>
|
||
|
||
<!-- 超时设置 -->
|
||
<idle_timeout_secs desc="卸载空闲文档之前的最大秒数。默认为 1 小时。" type="uint" default="3600">3600</idle_timeout_secs>
|
||
<idlesave_duration_secs desc="文档空闲后,如果已修改,应保存的秒数。设为 0 时禁用。默认为 30 秒。" type="uint" default="30">36000</idlesave_duration_secs>
|
||
<autosave_duration_secs desc="文档修改后,应自动保存的秒数。设为 0 时禁用。默认为 5 分钟。" type="uint" default="300">0</autosave_duration_secs>
|
||
|
||
<!-- 保存设置 -->
|
||
<background_autosave desc="允许在可能的情况下在 forked 后台进程中进行自动保存" type="bool" default="true">true</background_autosave>
|
||
<background_manualsave desc="允许在可能的情况下在 forked 后台进程中进行手动保存" type="bool" default="true">true</background_manualsave>
|
||
<always_save_on_exit desc="在退出最后一个编辑器时,如果文档已修改,始终执行保存和上传。这允许存储来存储文档,如果它之前作为优化而跳过了这样做。" type="bool" default="false">false</always_save_on_exit>
|
||
|
||
<!-- 资源限制 -->
|
||
<limit_virt_mem_mb desc="每个文档进程允许的最大虚拟内存。0 表示无限制。" type="uint">0</limit_virt_mem_mb>
|
||
<limit_stack_mem_kb desc="每个文档进程允许的最大堆栈大小。0 表示无限制。" type="uint">8000</limit_stack_mem_kb>
|
||
<limit_file_size_mb desc="每个文档进程允许写入的最大文件大小。0 表示无限制。" type="uint">0</limit_file_size_mb>
|
||
<limit_num_open_files desc="每个文档进程允许打开的最大文件数。0 表示无限制。" type="uint">0</limit_num_open_files>
|
||
<limit_load_secs desc="等待文档加载成功的最大秒数。0 表示无限制。" type="uint" default="100">100</limit_load_secs>
|
||
<limit_store_failures desc="卸载文档时连续保存并上传到存储失败的最大次数。0 表示无限制(不推荐)。" type="uint" default="5">5</limit_store_failures>
|
||
<limit_convert_secs desc="等待文档转换成功的最大秒数。0 表示无限制。" type="uint" default="100">100</limit_convert_secs>
|
||
<min_time_between_saves_ms desc="在磁盘上保存文档之间的最小毫秒数" type="uint" default="500">500</min_time_between_saves_ms>
|
||
<min_time_between_uploads_ms desc="将文档上传到存储之间的最小毫秒数" type="uint" default="5000">5000</min_time_between_uploads_ms>
|
||
|
||
<!-- 清理设置 -->
|
||
<cleanup desc="检查资源消耗(不良)文档并终止相关的 kit 进程。如果文档在 idle_time_secs 时间内处于空闲状态且内存使用超过 limit_dirty_mem_mb 或 CPU 使用超过 limit_cpu_per,则认为该文档是资源消耗型(不良)文档" enable="true">
|
||
<cleanup_interval_ms desc="两次检查之间的间隔" type="uint" default="10000">10000</cleanup_interval_ms>
|
||
<bad_behavior_period_secs desc="在终止相关 kit 进程之前,文档处于不良状态的最小时间段。如果在此期间不良文档的条件未满足一次,则此期间将重置" type="uint" default="60">60</bad_behavior_period_secs>
|
||
<idle_time_secs desc="文档成为不良状态候选者的最小空闲时间" type="uint" default="300">300</idle_time_secs>
|
||
<limit_dirty_mem_mb desc="文档成为不良状态候选者的最小内存使用量" type="uint" default="3072">3072</limit_dirty_mem_mb>
|
||
<limit_cpu_per desc="文档成为不良状态候选者的最小 CPU 使用率" type="uint" default="85">85</limit_cpu_per>
|
||
<lost_kit_grace_period_secs desc="丢失的 kit 进程(未被 coolwsd 引用)在终止之前解决其丢失状态的最小宽限期。要禁用丢失的 kit 清理,请使用值 0" default="120">120</lost_kit_grace_period_secs>
|
||
</cleanup>
|
||
</per_document>
|
||
|
||
<!-- ========================================
|
||
视图特定设置
|
||
======================================== -->
|
||
<per_view desc="视图特定设置">
|
||
<out_of_focus_timeout_secs desc="当浏览器选项卡不再处于焦点时,在变暗并停止更新之前的最大秒数。默认为 300 秒。" type="uint" default="300">300</out_of_focus_timeout_secs>
|
||
<idle_timeout_secs desc="当用户不再活动时(即使浏览器处于焦点),在变暗并停止更新之前的最大秒数。默认为 15 分钟。" type="uint" default="900">900</idle_timeout_secs>
|
||
<custom_os_info desc="在'关于'对话框中显示的自定义 OS 版本字符串,如果为空则从系统获取" type="string" default=""></custom_os_info>
|
||
<min_saved_message_timeout_secs type="uint" desc="显示上次修改消息之前的最小秒数" default="6">6</min_saved_message_timeout_secs>
|
||
</per_view>
|
||
|
||
<!-- ========================================
|
||
版本后缀
|
||
======================================== -->
|
||
<ver_suffix desc="附加到 etag 以允许在开发期间轻松刷新已更改的文件" type="string" default=""></ver_suffix>
|
||
|
||
<!-- ========================================
|
||
日志配置
|
||
======================================== -->
|
||
<logging>
|
||
<color type="bool">true</color>
|
||
<!-- 注意:使用 "make run" 时,logging.level 将在 coolwsd 命令行上设置,
|
||
因此如果要更改它进行测试,请在 Makefile.am 中进行,而不是在这里 -->
|
||
<level type="string" desc="可以是 0-8(数字越小越不详细),或 none(关闭日志记录),fatal、critical、error、warning、notice、information、debug、trace" default="warning">warning</level>
|
||
<level_startup type="string" desc="与 level 相同 - 但用于最有问题的初始启动阶段,启动完成后日志记录恢复为上面配置的 level" default="trace">trace</level_startup>
|
||
<disabled_areas type="string" desc="高详细日志(即 info 到 trace)可禁用,逗号分隔:Generic、Pixel、Socket、WebSocket、Http、WebServer、Storage、WOPI、Admin、Javascript" default="Socket,WebSocket,Admin,Pixel">Socket,WebSocket,Admin,Pixel</disabled_areas>
|
||
<most_verbose_level_settable_from_client type="string" desc="来自客户端的 loggingleveloverride 消息不能设置比这更详细的日志级别" default="notice">notice</most_verbose_level_settable_from_client>
|
||
<least_verbose_level_settable_from_client type="string" desc="来自客户端的 loggingleveloverride 消息不能设置比这更不详细的日志级别" default="fatal">fatal</least_verbose_level_settable_from_client>
|
||
<protocol type="bool" desc="从开始启用最小的客户端 JS 协议日志记录">false</protocol>
|
||
<!-- lokit_sal_log 示例:记录与 WebDAV 相关的消息,这对调试插入 - 图像操作很有趣:"+TIMESTAMP+INFO.ucb.ucp.webdav+WARN.ucb.ucp.webdav"
|
||
另请参阅:https://docs.libreoffice.org/sal/html/sal_log.html -->
|
||
<lokit_sal_log type="string" desc="微调来自 LOKit 的日志消息。默认是抑制来自 LOKit 的日志消息。" default="-INFO-WARN">-INFO-WARN</lokit_sal_log>
|
||
|
||
<!-- 文件日志配置 -->
|
||
<file enable="false">
|
||
<!-- 如果使用 /var/log 以外的路径,并且从 systemd 运行 coolwsd,请确保在 coolwsd.service 中启用该路径(ReadWritePaths)。
|
||
此外,日志文件路径必须对 'cool' 用户可写。 -->
|
||
<property name="path" desc="日志文件路径">/var/log/coolwsd.log</property>
|
||
<property name="rotation" desc="日志文件轮换策略。参见 Poco FileChannel。">never</property>
|
||
<property name="archive" desc="将时间戳或数字附加到存档的日志文件名">timestamp</property>
|
||
<property name="compress" desc="启用/禁用日志文件压缩">true</property>
|
||
<property name="purgeAge" desc="要保留的日志文件的最大年龄。参见 Poco FileChannel。">10 days</property>
|
||
<property name="purgeCount" desc="要保留的日志存档的最大数量。使用 'none' 禁用清除。参见 Poco FileChannel。">10</property>
|
||
<property name="rotateOnOpen" desc="启用/禁用打开时的日志文件轮换">true</property>
|
||
<property name="flush" desc="启用/禁用记录每行后刷新。可能会损害性能。请注意,如果不在每行后刷新,来自不同进程的日志行将不会按时间顺序出现。">false</property>
|
||
</file>
|
||
|
||
<!-- 匿名化配置 -->
|
||
<anonymize>
|
||
<anonymize_user_data type="bool" desc="启用以在日志中匿名化/混淆用户数据。如果默认值为 true,则在编译时强制执行,无法禁用。" default="false">false</anonymize_user_data>
|
||
<anonymization_salt type="uint" desc="用于在日志中匿名化/混淆用户数据的盐。使用秘密的 64 位随机数。" default="82589933">82589933</anonymization_salt>
|
||
</anonymize>
|
||
|
||
<docstats type="bool" desc="启用以在日志中查看文档处理信息" default="false">false</docstats>
|
||
<userstats desc="启用用户统计。即:记录文件和用户的详细信息" type="bool" default="false">false</userstats>
|
||
<disable_server_audit type="bool" desc="禁用服务器审计对话框和通知。管理员将不再在应用程序用户界面中看到警告。这不会影响日志文件。" default="false">false</disable_server_audit>
|
||
</logging>
|
||
|
||
<!-- ========================================
|
||
Canvas 幻灯片放映
|
||
======================================== -->
|
||
<canvas_slideshow_enabled type="bool" desc="如果为 true,则在客户端渲染 WebGL 演示文稿,否则使用交互式 SVG" default="true">true</canvas_slideshow_enabled>
|
||
|
||
<!-- ========================================
|
||
UI 命令日志
|
||
======================================== -->
|
||
<logging_ui_cmd>
|
||
<merge type="bool" desc="如果为 true,则将彼此之后的重复命令合并到 1 行。如果为 false,则每个命令都是 1 个新行。" default="true">true</merge>
|
||
<merge_display_end_time type="bool" desc="如果为 true,则还会记录合并命令的持续时间" default="false">true</merge_display_end_time>
|
||
<file enable="false">
|
||
<property name="path" desc="日志文件路径">/var/log/coolwsd-ui-cmd.log</property>
|
||
<property name="purgeCount" desc="要保留的日志存档的最大数量。使用 'none' 禁用清除。参见 Poco FileChannel。">10</property>
|
||
<property name="rotateOnOpen" desc="启用/禁用打开时的日志文件轮换">true</property>
|
||
<property name="flush" desc="启用/禁用记录每行后刷新">false</property>
|
||
</file>
|
||
</logging_ui_cmd>
|
||
|
||
<!-- ========================================
|
||
跟踪事件
|
||
======================================== -->
|
||
<trace_event desc="打开生成 Chrome 跟踪事件文件的可能性" enable="false">
|
||
<path desc="跟踪事件文件的输出路径,如果在运行时打开,将写入该路径" type="string" default="/var/log/coolwsd.trace.json">/var/log/coolwsd.trace.json</path>
|
||
</trace_event>
|
||
|
||
<!-- ========================================
|
||
浏览器控制台日志
|
||
======================================== -->
|
||
<browser_logging desc="在浏览器控制台中记录" default="false">false</browser_logging>
|
||
|
||
<!-- ========================================
|
||
跟踪配置
|
||
======================================== -->
|
||
<trace desc="转储命令和通知以供重放。当 'snapshot' 为 true 时,源文件首先被复制到路径。" enable="false">
|
||
<path desc="保存跟踪文件和文档的输出路径。使用 '%' 作为时间戳以避免覆盖。例如:/some/path/to/cooltrace-%.gz" compress="true" snapshot="false"></path>
|
||
<filter>
|
||
<message desc="要排除的消息的正则表达式模式"></message>
|
||
</filter>
|
||
<outgoing>
|
||
<record desc="是否记录传出消息" default="false">false</record>
|
||
</outgoing>
|
||
</trace>
|
||
|
||
<!-- ========================================
|
||
网络设置
|
||
======================================== -->
|
||
<net desc="网络设置">
|
||
<!-- 在 localhost 解析为 IPv6 [::1] 地址优先的系统上,当 net.proto 为 all 且 net.listen 为 loopback 时,
|
||
coolwsd 意外地仅在 [::1] 上监听。如果要使用 127.0.0.1,则需要将 net.proto 更改为 IPv4。 -->
|
||
<proto type="string" default="all" desc="要使用的协议:IPv4、IPv6 或 all(两者)">all</proto>
|
||
<listen type="string" default="any" desc="coolwsd 绑定到的监听地址。可以是 'any' 或 'loopback'">any</listen>
|
||
<!-- 这允许您将所有 URL 移到子路径中,从 https://my.com/browser/a123... 到 https://my.com/my/sub/path/browser/a123... -->
|
||
<service_root type="path" default="" desc="为所有页面、websocket 等的基本 URL 添加此路径前缀。这包括发现 URL。"></service_root>
|
||
|
||
<!-- POST 请求允许/拒绝配置 -->
|
||
<post_allow desc="允许/拒绝 POST(REST)的客户端 IP 地址" allow="true">
|
||
<host desc="IPv4 私有 192.168 块作为纯 IPv4 点分十进制地址">192\.168\.[0-9]{1,3}\.[0-9]{1,3}</host>
|
||
<host desc="同上,但作为 IPv4 映射的 IPv6 地址">::ffff:192\.168\.[0-9]{1,3}\.[0-9]{1,3}</host>
|
||
<host desc="IPv4 环回(localhost)地址">127\.0\.0\.1</host>
|
||
<host desc="同上,但作为 IPv4 映射的 IPv6 地址">::ffff:127\.0\.0\.1</host>
|
||
<host desc="IPv6 环回(localhost)地址">::1</host>
|
||
<host desc="IPv4 私有 172.16.0.0/12 子网第 1 部分">172\.1[6789]\.[0-9]{1,3}\.[0-9]{1,3}</host>
|
||
<host desc="同上,但作为 IPv4 映射的 IPv6 地址">::ffff:172\.1[6789]\.[0-9]{1,3}\.[0-9]{1,3}</host>
|
||
<host desc="IPv4 私有 172.16.0.0/12 子网第 2 部分">172\.2[0-9]\.[0-9]{1,3}\.[0-9]{1,3}</host>
|
||
<host desc="同上,但作为 IPv4 映射的 IPv6 地址">::ffff:172\.2[0-9]\.[0-9]{1,3}\.[0-9]{1,3}</host>
|
||
<host desc="IPv4 私有 172.16.0.0/12 子网第 3 部分">172\.3[01]\.[0-9]{1,3}\.[0-9]{1,3}</host>
|
||
<host desc="同上,但作为 IPv4 映射的 IPv6 地址">::ffff:172\.3[01]\.[0-9]{1,3}\.[0-9]{1,3}</host>
|
||
<host desc="IPv4 私有 10.0.0.0/8 子网(Podman)">10\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}</host>
|
||
<host desc="同上,但作为 IPv4 映射的 IPv6 地址">::ffff:10\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}</host>
|
||
</post_allow>
|
||
|
||
<!-- LOK 允许配置 -->
|
||
<lok_allow desc="允许作为已编辑文件内的外部数据源的主机。所有允许的 post_allow.host 和 storage.wopi 条目也被视为允许的数据源。例如用于:PostMessage Action_InsertGraphic、=WEBSERVICE() 函数、单元格中的外部引用">
|
||
<host desc="IPv4 私有 192.168 块作为纯 IPv4 点分十进制地址">192\.168\.[0-9]{1,3}\.[0-9]{1,3}</host>
|
||
<host desc="同上,但作为 IPv4 映射的 IPv6 地址">::ffff:192\.168\.[0-9]{1,3}\.[0-9]{1,3}</host>
|
||
<host desc="IPv4 环回(localhost)地址">127\.0\.0\.1</host>
|
||
<host desc="同上,但作为 IPv4 映射的 IPv6 地址">::ffff:127\.0\.0\.1</host>
|
||
<host desc="IPv6 环回(localhost)地址">::1</host>
|
||
<host desc="IPv4 私有 172.16.0.0/12 子网第 1 部分">172\.1[6789]\.[0-9]{1,3}\.[0-9]{1,3}</host>
|
||
<host desc="同上,但作为 IPv4 映射的 IPv6 地址">::ffff:172\.1[6789]\.[0-9]{1,3}\.[0-9]{1,3}</host>
|
||
<host desc="IPv4 私有 172.16.0.0/12 子网第 2 部分">172\.2[0-9]\.[0-9]{1,3}\.[0-9]{1,3}</host>
|
||
<host desc="同上,但作为 IPv4 映射的 IPv6 地址">::ffff:172\.2[0-9]\.[0-9]{1,3}\.[0-9]{1,3}</host>
|
||
<host desc="IPv4 私有 172.16.0.0/12 子网第 3 部分">172\.3[01]\.[0-9]{1,3}\.[0-9]{1,3}</host>
|
||
<host desc="同上,但作为 IPv4 映射的 IPv6 地址">::ffff:172\.3[01]\.[0-9]{1,3}\.[0-9]{1,3}</host>
|
||
<host desc="IPv4 私有 10.0.0.0/8 子网(Podman)">10\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}</host>
|
||
<host desc="同上,但作为 IPv4 映射的 IPv6 地址">::ffff:10\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}</host>
|
||
<host desc="通过名称访问 localhost">localhost</host>
|
||
</lok_allow>
|
||
|
||
<content_security_policy desc="通过指定一个或多个策略指令(用分号分隔)来自定义 CSP 标头。参见 w3.org/TR/CSP2"></content_security_policy>
|
||
<frame_ancestors desc="已过时:使用 content_security_policy。指定允许嵌入 Collabora Online iframe 的人(coolwsd 和 WOPI 主机始终允许)。用空格分隔多个主机。"></frame_ancestors>
|
||
<connection_timeout_secs desc="指定 coolwsd 发起的连接(如 WOPI 连接)的连接、发送、接收超时(以秒为单位)" type="int" default="30">30</connection_timeout_secs>
|
||
|
||
<!-- 此设置从根本上改变了 online 的工作方式,不应在生产环境中使用 -->
|
||
<proxy_prefix type="bool" default="false" desc="启用通过传入的 ProxyPrefix 重定向请求">false</proxy_prefix>
|
||
</net>
|
||
|
||
<!-- ========================================
|
||
SSL 配置
|
||
======================================== -->
|
||
<ssl desc="SSL 设置">
|
||
<!-- 从 https:// + wss:// 切换到 http:// + ws:// -->
|
||
<enable type="bool" desc="控制是否启用 coolwsd 与网络之间的 SSL 加密(生产部署不要禁用)。如果默认值为 false,则必须先使用 SSL 支持编译才能启用。" default="true">true</enable>
|
||
<!-- SSL 卸载可以在代理中完成,如果是这样,则禁用 SSL,并在生产中启用下面的终止 -->
|
||
<termination desc="通过代理连接,其中 coolwsd 作为通过 https 工作,但实际使用 http" type="bool" default="false">false</termination>
|
||
<cert_file_path desc="证书文件路径" type="path" relative="false">/etc/coolwsd/cert.pem</cert_file_path>
|
||
<key_file_path desc="密钥文件路径" type="path" relative="false">/etc/coolwsd/key.pem</key_file_path>
|
||
<ca_file_path desc="CA 文件路径" type="path" relative="false">/etc/coolwsd/ca-chain.cert.pem</ca_file_path>
|
||
<ssl_verification desc="启用或禁用 coolwsd 远程主机的 SSL 验证。如果为 true,则 SSL 验证将是严格的,否则不会验证主机的证书。在使用自签名证书的测试环境中可能需要禁用它。" type="string" default="false">false</ssl_verification>
|
||
<cipher_list desc="要接受的 OpenSSL 密码列表" type="string" default="ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH"></cipher_list>
|
||
|
||
<!-- HTTP 公钥固定 -->
|
||
<hpkp desc="启用 HTTP 公钥固定" enable="false" report_only="false">
|
||
<max_age desc="HPKP 的 max-age 指令 - 浏览器应记住 pin 的时间(秒)" enable="true" type="uint" default="1000">1000</max_age>
|
||
<report_uri desc="HPKP 的 report-uri 指令 - pin 验证失败在此 URL 报告" enable="false" type="string"></report_uri>
|
||
<pins desc="要固定的密钥的 Base64 编码 SPKI 指纹">
|
||
<pin></pin>
|
||
</pins>
|
||
</hpkp>
|
||
|
||
<!-- 严格传输安全 -->
|
||
<sts desc="严格传输安全设置,根据 rfc6797。始终包括子域">
|
||
<enabled desc="是否启用严格传输安全。仅在准备生产时启用。在不重置浏览器的情况下无法禁用。" type="bool" default="false">false</enabled>
|
||
<max_age desc="严格传输安全 max-age 指令,以秒为单位。允许 0;有关详细信息,请参见 rfc6797。默认为 1 年。" type="int" default="31536000">31536000</max_age>
|
||
</sts>
|
||
</ssl>
|
||
|
||
<!-- ========================================
|
||
安全设置
|
||
======================================== -->
|
||
<security desc="更改这些默认值可能会使您面临重大风险">
|
||
<seccomp desc="启用 seccomp 系统调用过滤失败是否应是致命错误" type="bool" default="true">true</seccomp>
|
||
|
||
<!-- 已弃用:如果 capabilities 为 'false',coolwsd 将假定 mount_namespaces 为 'true' 以实现此目标,
|
||
仅在 linux 命名空间不可用时避免 chroot 进行进程隔离 -->
|
||
<capabilities desc="我们是否需要 capabilities 来将进程隔离到 chroot jail 中" type="bool" default="true">true</capabilities>
|
||
|
||
<jwt_expiry_secs desc="管理控制台的 JWT 令牌过期前的时间(秒)" type="int" default="1800">1800</jwt_expiry_secs>
|
||
<!-- 启用宏执行以支持 Python 脚本 (CallPythonScript PostMessage) -->
|
||
<enable_macros_execution desc="指定是否一般启用宏执行。这将启用 Basic 和 Python 脚本从已安装的和文档中执行。如果设置为 false,则忽略 macro_security_level。如果设置为 true,则提到的条目指定宏安全级别。" type="bool" default="false">true</enable_macros_execution>
|
||
<macro_security_level desc="宏安全级别。1(中)在执行来自不受信任来源的宏之前需要确认。0(低,不推荐)所有宏将在没有确认的情况下执行。" type="int" default="1">0</macro_security_level>
|
||
<enable_websocket_urp desc="我们是否应启用通过 websocket 的 URP(UNO 远程协议)通信。这允许任何有权访问 websocket 的人完全控制 Kit 子服务器,包括在没有确认的情况下执行宏或在 jail 中运行任意 shell 命令。" type="bool" default="false">false</enable_websocket_urp>
|
||
<enable_metrics_unauthenticated desc="启用后,/cool/getMetrics 端点将不需要身份验证" type="bool" default="false">false</enable_metrics_unauthenticated>
|
||
<server_signature desc="是否在 HTTP 响应标头中发送服务器签名" type="bool" default="false">false</server_signature>
|
||
</security>
|
||
|
||
<!-- ========================================
|
||
证书数据库
|
||
======================================== -->
|
||
<certificates>
|
||
<database_path type="string" desc="所有用户都可以使用的 NSS 证书的路径" default=""></database_path>
|
||
</certificates>
|
||
|
||
<!-- ========================================
|
||
水印配置
|
||
======================================== -->
|
||
<watermark>
|
||
<opacity desc="屏幕水印的不透明度,从 0.0 到 1.0" type="double" default="0.2">0.2</opacity>
|
||
<text desc="如果输入,要在文档上显示的水印文本" type="string"></text>
|
||
</watermark>
|
||
|
||
<!-- ========================================
|
||
🎨 用户界面配置(UI 定制核心)
|
||
======================================== -->
|
||
<user_interface>
|
||
<!-- UI 模式:default(默认)/ compact(紧凑)/ tabbed(选项卡) -->
|
||
<mode type="string" desc="控制用户界面样式。'default' 表示:从 ui_defaults 获取值,或决定使用 compact 或 tabbed 之一" default="default">compact</mode>
|
||
|
||
<!-- 集成主题 -->
|
||
<use_integration_theme desc="使用来自集成商的主题" type="bool" default="true">true</use_integration_theme>
|
||
|
||
<!-- 状态栏保存指示器 -->
|
||
<statusbar_save_indicator desc="在状态栏中显示保存状态指示器" type="bool" default="true">false</statusbar_save_indicator>
|
||
|
||
<!-- 🆕 以下是增强的 UI 定制选项(基于官方文档和社区实践) -->
|
||
|
||
<!-- 显示/隐藏菜单栏 -->
|
||
<!-- 注意:这些选项可能需要通过 URL 参数或 PostMessage API 配合使用 -->
|
||
<!-- 通过 URL 参数 ui_defaults 可以实现更细粒度的控制,例如:
|
||
ui_defaults=UIMode=compact;TextRuler=false;TextStatusbar=false;TextSidebar=false
|
||
-->
|
||
</user_interface>
|
||
|
||
<!-- ========================================
|
||
后端存储配置
|
||
======================================== -->
|
||
<storage desc="后端存储">
|
||
<filesystem allow="false" />
|
||
|
||
<!-- WOPI 配置 -->
|
||
<wopi desc="允许/拒绝 wopi 存储" allow="true">
|
||
<max_file_size desc="要加载的最大文档大小(字节)。0 表示无限制。" type="uint">0</max_file_size>
|
||
|
||
<!-- 锁定设置 -->
|
||
<locking desc="锁定设置">
|
||
<refresh desc="我们应该多久与存储服务器重新获取一次锁,以秒为单位(默认 15 分钟)或 0 表示不刷新" type="int" default="900">900</refresh>
|
||
</locking>
|
||
|
||
<!-- 别名组配置 -->
|
||
<alias_groups desc="默认模式是 'first',当未定义组时,它只允许第一个主机。将模式设置为 'groups' 并定义组以允许多个主机及其别名" mode="groups">
|
||
<!-- 如果需要使用多个 wopi 主机,请将模式更改为 "groups" 并在下面添加主机。
|
||
如果一个主机可以通过多个 IP 地址或名称访问,请将它们添加为别名。 -->
|
||
<group>
|
||
<host desc="Allow some IP" allow="true">http://172\.16\.0\.[0-9]{1,3}</host>
|
||
<alias desc="Remix Domain">http://nas\.7bm\.co.*</alias>
|
||
<!-- <host desc="Remix Base" allow="true">http://172.16.0.78:51703</host>
|
||
<alias desc="Remix Dynamic Ports">http://172\.16\.0\.78:517\d{2}</alias> -->
|
||
</group>
|
||
<!-- 这里可以有更多 "group" -->
|
||
</alias_groups>
|
||
|
||
<is_legacy_server desc="对于需要已弃用标头的旧服务器,设置为 true" type="bool" default="false">false</is_legacy_server>
|
||
</wopi>
|
||
|
||
<!-- 存储 SSL 配置 -->
|
||
<ssl desc="SSL 设置">
|
||
<as_scheme type="bool" default="true" desc="设置后,我们专门使用 WOPI URI 的方案来启用存储的 SSL">true</as_scheme>
|
||
<enable type="bool" desc="如果 as_scheme 为 false 或未设置,则可以设置此项以强制存储和 coolwsd 之间的 SSL 加密。当为空时,默认遵循 ssl.enable 设置"></enable>
|
||
<cert_file_path desc="证书文件路径。当为空时,默认遵循 ssl.cert_file_path 设置" type="path" relative="false"></cert_file_path>
|
||
<key_file_path desc="密钥文件路径。当为空时,默认遵循 ssl.key_file_path 设置" type="path" relative="false"></key_file_path>
|
||
<ca_file_path desc="CA 文件路径。当为空时,默认遵循 ssl.ca_file_path 设置" type="path" relative="false"></ca_file_path>
|
||
<cipher_list desc="要接受的 OpenSSL 密码列表。如果为空,则使用默认值。只有在绝对必要时才能覆盖这些。"></cipher_list>
|
||
</ssl>
|
||
</storage>
|
||
|
||
<!-- ========================================
|
||
管理控制台配置
|
||
======================================== -->
|
||
<admin_console desc="Web 管理控制台设置">
|
||
<enable desc="启用管理控制台功能" type="bool" default="true">true</enable>
|
||
<enable_pam desc="使用 PAM 启用管理用户身份验证" type="bool" default="false">false</enable_pam>
|
||
<username desc="管理控制台的用户名。如果启用了 PAM,则忽略。"></username>
|
||
<password desc="管理控制台的密码。在大多数平台上已弃用。相反,使用 PAM 或 coolconfig 设置安全密码。"></password>
|
||
|
||
<!-- 日志记录 -->
|
||
<logging desc="记录管理活动,不考虑 logging.level">
|
||
<admin_login desc="当管理员登录到控制台时记录" type="bool" default="true">true</admin_login>
|
||
<metrics_fetch desc="当访问 metrics 端点并启用 metrics 端点身份验证时记录" type="bool" default="true">true</metrics_fetch>
|
||
<monitor_connect desc="当外部监视器连接时记录" type="bool" default="true">true</monitor_connect>
|
||
<admin_action desc="当管理员执行某些操作(例如终止进程)时记录" type="bool" default="true">true</admin_action>
|
||
</logging>
|
||
</admin_console>
|
||
|
||
<!-- ========================================
|
||
监视器配置
|
||
======================================== -->
|
||
<monitors desc="我们在启动时连接以进行监视的服务器地址">
|
||
<!-- <monitor desc="监视器的地址以及断开连接后应尝试重新连接的间隔" retryInterval="20">wss://foobar:234/ws</monitor> -->
|
||
</monitors>
|
||
|
||
<!-- ========================================
|
||
隔离文件配置
|
||
======================================== -->
|
||
<quarantine_files desc="在崩溃或类似情况下,文件存储在此处以供以后检查" default="false" enable="false">
|
||
<limit_dir_size_mb desc="最大目录大小,以 MB 为单位。超过指定限制时,将删除较旧的文件。" default="250" type="uint">250</limit_dir_size_mb>
|
||
<max_versions_to_maintain desc="要保留同一文件的多少个版本" default="5" type="uint">5</max_versions_to_maintain>
|
||
<path desc="将存储隔离文件的目录的绝对路径。不要使用相对路径。" type="path" relative="false"></path>
|
||
<expiry_min desc="隔离文件将被删除的时间(分钟)" type="int" default="3000">3000</expiry_min>
|
||
</quarantine_files>
|
||
|
||
<!-- ========================================
|
||
缓存文件配置
|
||
======================================== -->
|
||
<cache_files desc="文件缓存在此处以加快配置支持">
|
||
<path desc="将存储缓存文件的目录的绝对路径。不要使用相对路径。" type="path" relative="false"></path>
|
||
<expiry_min desc="不使用后缓存文件将被删除的时间(分钟)" type="int" default="3000">1000</expiry_min>
|
||
</cache_files>
|
||
|
||
<!-- ========================================
|
||
额外导出格式
|
||
======================================== -->
|
||
<extra_export_formats desc="启用各种额外的导出格式以实现额外的兼容性。请注意,禁用此处的选项*仅*在视觉上禁用它们:这些导出都是'安全'的,只是可能不希望显示它们,因此您不能在服务器端禁用导出这些">
|
||
<impress_swf desc="启用从演示文稿导出 Adobe flash .swf 文件" type="bool" default="false">false</impress_swf>
|
||
<impress_bmp desc="启用从演示文稿幻灯片导出 .bmp 位图文件" type="bool" default="false">false</impress_bmp>
|
||
<impress_gif desc="启用从演示文稿幻灯片导出 .gif 图像文件" type="bool" default="false">false</impress_gif>
|
||
<impress_png desc="启用从演示文稿幻灯片导出 .png 图像文件" type="bool" default="false">false</impress_png>
|
||
<impress_svg desc="启用从演示文稿导出交互式 .svg 图像文件" type="bool" default="false">false</impress_svg>
|
||
<impress_tiff desc="启用从演示文稿幻灯片导出 .tiff 图像文件" type="bool" default="false">false</impress_tiff>
|
||
</extra_export_formats>
|
||
|
||
<!-- ========================================
|
||
服务器端配置
|
||
======================================== -->
|
||
<serverside_config>
|
||
<idle_timeout_secs desc="卸载空闲子 forkit 之前的最大秒数。默认为 1 小时。" type="uint" default="3600">3600</idle_timeout_secs>
|
||
</serverside_config>
|
||
|
||
<!-- ========================================
|
||
远程配置
|
||
======================================== -->
|
||
<remote_config>
|
||
<remote_url desc="您将向其发送请求以在响应中获取远程配置的远程服务器" type="string" default=""></remote_url>
|
||
</remote_config>
|
||
|
||
<!-- ========================================
|
||
配置更改时停止
|
||
======================================== -->
|
||
<stop_on_config_change desc="每当配置文件更改时停止 coolwsd" type="bool" default="false">false</stop_on_config_change>
|
||
|
||
<!-- ========================================
|
||
远程字体配置
|
||
======================================== -->
|
||
<remote_font_config>
|
||
<url desc="列出要包含在 Online 中的字体的可选 JSON 文件的 URL" type="string" default=""></url>
|
||
</remote_font_config>
|
||
|
||
<!-- ========================================
|
||
缺少字体处理
|
||
======================================== -->
|
||
<fonts_missing>
|
||
<handling desc="如何处理文档中缺少的字体:'report'、'log'、'both' 或 'ignore'" type="string" default="log">log</handling>
|
||
</fonts_missing>
|
||
|
||
<!-- ========================================
|
||
间接端点配置
|
||
======================================== -->
|
||
<indirection_endpoint>
|
||
<url desc="以 json 格式提供 routeToken 的服务器的 URL 端点" type="string" default=""></url>
|
||
<migration_timeout_secs desc="在卸载文档之前等待来自间接服务器的关闭迁移消息的最大秒数。默认为 180 秒。" type="uint" default="180">180</migration_timeout_secs>
|
||
|
||
<!-- 地理位置设置 -->
|
||
<geolocation_setup>
|
||
<enable desc="使用具有地理位置配置的间接服务器时启用 geolocation_setup" type="bool" default="false">false</enable>
|
||
<timezone desc="服务器的 IANA 时区。例如:Europe/Berlin" type="string"></timezone>
|
||
<allowed_websocket_origins desc="在 websocket 升级期间接受的 Origin 标头">
|
||
<!-- <origin></origin> -->
|
||
</allowed_websocket_origins>
|
||
</geolocation_setup>
|
||
|
||
<server_name desc="要在集群概述管理面板中显示的服务器名称" type="string" default=""></server_name>
|
||
</indirection_endpoint>
|
||
|
||
<!-- ========================================
|
||
家庭模式
|
||
======================================== -->
|
||
<home_mode>
|
||
<enable desc="家庭用户可以启用此设置,这将禁用欢迎屏幕和用户反馈弹出窗口,但也将并发打开连接限制为 20,并发打开文档限制为 10。默认值表示并发打开连接和并发打开文档的数量是无限的,但无法关闭欢迎屏幕和用户反馈。" type="bool" default="false">false</enable>
|
||
</home_mode>
|
||
|
||
<!-- ========================================
|
||
Zotero 插件
|
||
======================================== -->
|
||
<zotero desc="Zotero 插件配置。有关 Zotero 的更多详细信息,请访问 https://www.zotero.org/">
|
||
<enable desc="启用 Zotero 插件" type="bool" default="true">true</enable>
|
||
</zotero>
|
||
|
||
<!-- ========================================
|
||
帮助 URL
|
||
======================================== -->
|
||
<help_url desc="帮助根 URL,或留空表示没有帮助(隐藏帮助按钮)" type="string" default="https://help.collaboraoffice.com/help.html?"></help_url>
|
||
|
||
<!-- ========================================
|
||
覆写模式
|
||
======================================== -->
|
||
<overwrite_mode>
|
||
<enable desc="启用覆写模式(用户可以使用插入键)" type="bool" default="false">false</enable>
|
||
</overwrite_mode>
|
||
|
||
<!-- ========================================
|
||
WASM 支持
|
||
======================================== -->
|
||
<wasm desc="WASM 特定设置">
|
||
<enable desc="启用 WASM 支持" type="bool" default="false">false</enable>
|
||
<force desc="启用后,所有请求都重定向到 WASM" type="bool" default="false">false</force>
|
||
</wasm>
|
||
|
||
<!-- ========================================
|
||
文档签名
|
||
======================================== -->
|
||
<document_signing desc="文档签名设置">
|
||
<enable desc="启用文档签名" type="bool" default="true">true</enable>
|
||
</document_signing>
|
||
|
||
</config>
|
||
|
||
```
|
||
|
||
|
||
|
||
|
||
|
||
369 行,要改成前端具体的 ip 地址
|
||
|