mirror of
https://github.com/jumpserver/jumpserver.git
synced 2026-03-18 19:12:07 +00:00
Merge branch 'osm' of github.com:jumpserver/jumpserver into osm
This commit is contained in:
@@ -1,129 +0,0 @@
|
||||
<!doctype html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<title>User Agreement & Privacy Policy</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<style>
|
||||
body {
|
||||
font-family:
|
||||
-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial,
|
||||
'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;
|
||||
line-height: 1.7;
|
||||
color: #333;
|
||||
max-width: 960px;
|
||||
margin: 0 auto;
|
||||
padding: 24px;
|
||||
background: #fff;
|
||||
}
|
||||
h1,
|
||||
h2,
|
||||
h3 {
|
||||
color: #111;
|
||||
margin-top: 1.6em;
|
||||
}
|
||||
h1 {
|
||||
font-size: 26px;
|
||||
border-bottom: 2px solid #eee;
|
||||
padding-bottom: 8px;
|
||||
}
|
||||
h2 {
|
||||
font-size: 20px;
|
||||
}
|
||||
p,
|
||||
li {
|
||||
font-size: 14px;
|
||||
}
|
||||
ul {
|
||||
padding-left: 20px;
|
||||
}
|
||||
.lang {
|
||||
margin-top: 48px;
|
||||
padding-top: 24px;
|
||||
border-top: 2px dashed #ddd;
|
||||
}
|
||||
.note {
|
||||
background: #f8f9fa;
|
||||
border-left: 4px solid #409eff;
|
||||
padding: 12px 16px;
|
||||
margin: 16px 0;
|
||||
font-size: 13px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- ================= ENGLISH ================= -->
|
||||
<div>
|
||||
<h1>User Agreement & Privacy Policy</h1>
|
||||
|
||||
<p>
|
||||
<strong>Version:</strong> 2026-01<br />
|
||||
<strong>Effective Date:</strong> Feb 1, 2026
|
||||
</p>
|
||||
|
||||
<h2>1. User Agreement</h2>
|
||||
|
||||
<h3>1.1 Product Nature</h3>
|
||||
<p>
|
||||
This system is an enterprise-grade system deployed in a private environment. All
|
||||
deployment environments and data are fully controlled by the customer.
|
||||
</p>
|
||||
|
||||
<h3>1.2 User Obligations</h3>
|
||||
<ul>
|
||||
<li>Use the system only within authorized scope;</li>
|
||||
<li>Do not perform illegal or unauthorized activities;</li>
|
||||
<li>Do not bypass or interfere with security controls and audit mechanisms.</li>
|
||||
</ul>
|
||||
|
||||
<h3>1.3 Account Security</h3>
|
||||
<p>
|
||||
Users are responsible for safeguarding their credentials. Risks caused by improper
|
||||
credential management shall be borne by the user or customer.
|
||||
</p>
|
||||
|
||||
<h2>2. Privacy Policy</h2>
|
||||
|
||||
<h3>2.1 Scope</h3>
|
||||
<p>
|
||||
This policy applies to the privately deployed version of this system. All personal
|
||||
data is stored within the customer's own environment. The software provider does not
|
||||
access, store, or transmit such data.
|
||||
</p>
|
||||
|
||||
<h3>2.2 Personal Information We Process</h3>
|
||||
<ul>
|
||||
<li>Username</li>
|
||||
<li>Phone number</li>
|
||||
<li>Email address</li>
|
||||
</ul>
|
||||
|
||||
<h3>2.3 Authentication Information</h3>
|
||||
<p>
|
||||
Passwords are never stored in plaintext. Only irreversible encrypted password hashes
|
||||
are stored for authentication.
|
||||
</p>
|
||||
|
||||
<h3>2.4 Facial Recognition Data</h3>
|
||||
<p>
|
||||
Facial recognition is an optional premium feature and is disabled by default. If
|
||||
enabled, facial image or feature data will be processed solely for identity
|
||||
verification.
|
||||
</p>
|
||||
<p>
|
||||
Such data is considered sensitive personal information and is stored only within the
|
||||
customer's local environment.
|
||||
</p>
|
||||
|
||||
<h3>2.5 Cookies and Similar Technologies</h3>
|
||||
<p>
|
||||
Necessary cookies and session identifiers are used to maintain login sessions and
|
||||
system security. These technologies are not used for advertising or cross-site
|
||||
tracking.
|
||||
</p>
|
||||
|
||||
<h3>2.6 Policy Updates</h3>
|
||||
<p>Material changes to this policy will require renewed user consent.</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -46,11 +46,14 @@
|
||||
<script>
|
||||
var message = ''
|
||||
var time = '{{ interval }}'
|
||||
{% if error %}
|
||||
message = '{{ error }}'
|
||||
{% else %}
|
||||
var error = '{{ error }}'
|
||||
var auto_redirect = '{{ auto_redirect }}'
|
||||
|
||||
if (error) {
|
||||
message = error
|
||||
} else {
|
||||
message = '{{ message|safe }}'
|
||||
{% endif %}
|
||||
}
|
||||
|
||||
function redirect_page() {
|
||||
if (time >= 0) {
|
||||
@@ -62,9 +65,10 @@
|
||||
window.location.href = "{{ redirect_url }}";
|
||||
}
|
||||
}
|
||||
{% if auto_redirect %}
|
||||
|
||||
if (auto_redirect) {
|
||||
window.onload = redirect_page;
|
||||
{% endif %}
|
||||
}
|
||||
</script>
|
||||
{% endblock %}
|
||||
|
||||
|
||||
@@ -0,0 +1,145 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Privacy Policy</title>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<style>
|
||||
body {
|
||||
font-family:
|
||||
-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial,
|
||||
sans-serif;
|
||||
line-height: 1.7;
|
||||
color: #333;
|
||||
max-width: 960px;
|
||||
margin: 0 auto;
|
||||
padding: 24px;
|
||||
background: #fff;
|
||||
}
|
||||
h2,
|
||||
h3 {
|
||||
color: #111;
|
||||
margin-top: 1.6em;
|
||||
}
|
||||
h2 {
|
||||
font-size: 26px;
|
||||
border-bottom: 2px solid #eee;
|
||||
padding-bottom: 8px;
|
||||
}
|
||||
h3 {
|
||||
font-size: 20px;
|
||||
}
|
||||
p,
|
||||
li {
|
||||
font-size: 14px;
|
||||
}
|
||||
ul {
|
||||
padding-left: 20px;
|
||||
}
|
||||
.lang {
|
||||
margin-top: 48px;
|
||||
padding-top: 24px;
|
||||
border-top: 2px dashed #ddd;
|
||||
}
|
||||
.note {
|
||||
background: #f8f9fa;
|
||||
border-left: 4px solid #409eff;
|
||||
padding: 12px 16px;
|
||||
margin: 16px 0;
|
||||
font-size: 13px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h2>Privacy Policy</h2>
|
||||
<p><strong>Version:</strong></p>
|
||||
<h2 id="introduction">Introduction</h2>
|
||||
<p>
|
||||
Welcome to the software (the "Software") developed by Hangzhou Feizhiyun Information Technology Co., Ltd. (hereinafter referred to as "we"). We are the personal information processor of the Software. In accordance with the Personal Information Protection Law of the People's Republic of China, the Civil Code of the People's Republic of China, and other applicable laws and regulations, we have formulated this Privacy Policy to clarify the scope, manner, and purpose of our processing of your information and the rights and obligations of both parties, and to protect the security and legitimate rights and interests of your information.
|
||||
</p>
|
||||
<p>
|
||||
When you log in to the Software for the first time, you must read this policy carefully and expressly agree to it before you can use all features of the Software. If you do not agree to this policy, you will not be able to log in or use the Software. This policy may be amended due to updates in laws and regulations, regulatory requirements, or business optimization. You must read and expressly agree to any changes before you can continue using the Software. If you do not agree to the amended policy, you will not be able to continue using the Software.
|
||||
</p>
|
||||
<p>This policy may exist in multiple language versions. In the event of any inconsistency between language versions, the Simplified Chinese version shall prevail.</p>
|
||||
<h2 id="1">1. Scope of Application</h2>
|
||||
<p>
|
||||
This Privacy Policy applies to the software provided by Feizhiyun. The Software is deployed locally and privately; all data generated by the system is stored in the user's own environment, and the software provider does not access, store, or transmit user business data. All personal information collected is stored only on local servers designated by you or your organization. We do not collect data remotely, store data in the cloud, or maintain off-site backups. You or your organization assume full responsibility for the security management of local servers, including but not limited to server protection, access control, and data backup.
|
||||
</p>
|
||||
<h2 id="2">2. Information Collection and Use</h2>
|
||||
<h3 id="21">2.1 Basic Account Information</h3>
|
||||
<p>Personal information we collect: username, mobile number, and email address.</p>
|
||||
<p>Purpose of use: for account management, identity verification, and security notifications.</p>
|
||||
<p>Such information is stored on local servers designated by you or your organization.</p>
|
||||
<p>
|
||||
As use of the Software requires your name, mobile number, and email address for identity verification and login, the processing of such information is necessary to provide the product or service. If you do not agree to such processing, we may refuse to provide the service.
|
||||
</p>
|
||||
<h3 id="22">2.2 Authentication Information</h3>
|
||||
<p>The Software does not store user passwords in plain text; only irreversible encrypted password digests are stored for identity verification.</p>
|
||||
<h3 id="23">2.3 Log and Audit Information</h3>
|
||||
<p>
|
||||
The Software may record user login time, login IP address, and user operation audit logs for security auditing, compliance records, and issue tracing. Such information is stored locally by the user; we do not access, store, or transmit such information.
|
||||
</p>
|
||||
<h2 id="3">3. Processing of Personal Information in Additional Features</h2>
|
||||
<p>
|
||||
For users who have purchased our commercial edition, in order to provide you with additional features of our products and/or services, you may choose to consent or not consent to our collection and use of certain information. If you refuse to provide such information, you may not be able to use the related additional features or achieve the intended functionality, but your use of our basic features will not be affected.
|
||||
</p>
|
||||
<p>
|
||||
Face recognition: Face recognition is an optional value-added service. It is disabled by default and takes effect only when the customer or user actively enables it. If this feature is enabled, the system will collect and process the user's face images or feature information for identity authentication and prevention of account impersonation.
|
||||
</p>
|
||||
<p>
|
||||
Such information is stored and processed only in the user's local deployment environment. We do not collect your facial information. Users or user administrators may disable face recognition at any time and delete collected face information.
|
||||
</p>
|
||||
<h2 id="4">4. Cookies and Similar Technologies</h2>
|
||||
<p>
|
||||
To ensure normal operation of the system, maintain login state, and provide security protection, the system may store necessary cookies or session identifiers (e.g., Session, CSRF Token) on your device.
|
||||
</p>
|
||||
<p>Such technologies are used only for system functionality and are not used for advertising or cross-site tracking.</p>
|
||||
<h2 id="5">5. Data Storage Location and Retention</h2>
|
||||
<p>Personal information in the system is stored in the user's own local environment. The specific retention period is determined by the user according to their own management requirements.</p>
|
||||
<h2 id="6">6. Information Sharing, Transfer, and Disclosure</h2>
|
||||
<p>The software provider will not share, transfer, or disclose personal information in the system, except as required by laws, regulations, or judicial authorities.</p>
|
||||
<h2 id="7">7. Your Rights</h2>
|
||||
<p>You may view and update your personal information in the personal information settings, and may disable face recognition and delete face recognition information.</p>
|
||||
<h2 id="8">8. Privacy Policy Updates</h2>
|
||||
<ul>
|
||||
<li>
|
||||
8.1 Policy changes: We reserve the right to modify this policy in accordance with updates to laws and regulations, regulatory requirements, or business needs.
|
||||
</li>
|
||||
<li>
|
||||
8.2 Consent mechanism: In accordance with Article 14 of the Personal Information Protection Law of the People's Republic of China, if changes to this policy involve the purpose, manner, or types of personal information processing, we will obtain your explicit consent again. When you log in to the Software for the first time and click "I have read and agree to this Privacy Policy", this policy takes effect and is legally binding on both you and us. After the policy is amended, the amended policy will take effect for you only after you click to agree to it again. If you do not agree to the amended policy, you will not be able to continue using the Software.
|
||||
</li>
|
||||
</ul>
|
||||
<h2 id="9">9. Disclaimer</h2>
|
||||
<ul>
|
||||
<li>
|
||||
9.1 Third-party responsibility: As the Software is locally deployed and your personal information is stored on local servers of you or your organization, we shall not be liable for compensation if your personal information is disclosed, altered, lost, or illegally accessed due to failure by you or your organization to fulfill security management responsibilities (including but not limited to failure to protect servers, disclosure of access rights, or failure to back up data in a timely manner). We will, upon request by you or your organization, cooperate in troubleshooting and provide technical support.
|
||||
</li>
|
||||
<li>
|
||||
9.2 Force majeure: We shall not be liable for any direct or indirect losses arising from the Software's failure to operate normally or any impact on your personal information due to factors beyond our control, including force majeure, network attacks, virus infection, hacking, natural disasters (such as earthquakes and floods), and failure of public facilities, provided that we have exercised reasonable care and taken timely remedial measures (including but not limited to timely notification, technical troubleshooting, and assistance with recovery).
|
||||
</li>
|
||||
<li>
|
||||
9.3 Legal compliance: We shall not be liable for any consequences arising from our processing of your personal information in accordance with mandatory requirements of laws, regulations, judicial authorities, or administrative regulators, but we will inform you of the relevant circumstances in a timely manner (except where disclosure is prohibited by law).
|
||||
</li>
|
||||
</ul>
|
||||
<h2 id="10">10. Dispute Resolution</h2>
|
||||
<p>
|
||||
Any dispute arising from or relating to this policy shall first be resolved through negotiation. If negotiation fails, either party may bring a lawsuit in a people's court with jurisdiction in the place where the software provider is located. The formation, performance, interpretation, and dispute resolution of this policy shall be governed by the laws of the People's Republic of China (excluding the laws of the Hong Kong Special Administrative Region, the Macao Special Administrative Region, and Taiwan).
|
||||
</p>
|
||||
<h2 id="11">11. Miscellaneous</h2>
|
||||
<ul>
|
||||
<li>
|
||||
11.1 Applicable regulations: Matters not covered in this policy shall be strictly implemented in accordance with the Personal Information Protection Law of the People's Republic of China, the Civil Code of the People's Republic of China, the Cybersecurity Law of the People's Republic of China, and other relevant laws, regulations, and regulatory requirements.
|
||||
</li>
|
||||
<li>
|
||||
11.2 Contact: If you have any questions, comments, complaints, or requests regarding your rights in relation to this policy, you may contact us by email at support@fit2cloud.com or by mail at: Marketing Department, Room 501, Tower A, Fortune Plaza Office Building, No. 7 Dongsanhuan Middle Road, Chaoyang District, Beijing, China. We will respond within 15 business days.
|
||||
</li>
|
||||
<li>
|
||||
11.3 Effectiveness and termination: This policy takes effect from the date you first click to agree. After the policy is amended, the amended policy takes effect from the date you click to agree to it again.
|
||||
</li>
|
||||
<li>
|
||||
11.4 Severability: If any provision of this policy is held to be invalid, void, or unenforceable, the remaining provisions shall remain in full force and effect.
|
||||
</li>
|
||||
</ul>
|
||||
<p><strong>Release Date:</strong></p>
|
||||
<p><strong>Effective Date:</strong></p>
|
||||
</body>
|
||||
</html>
|
||||
@@ -52,79 +52,67 @@
|
||||
</head>
|
||||
<body>
|
||||
<h2>隐私政策</h2>
|
||||
<p><strong>版本号:</strong>2026-01</p>
|
||||
<p><strong>生效日期:</strong>2026-02-01</p>
|
||||
<p><strong>版本号:</strong></p>
|
||||
<h2 id="-">【引言】</h2>
|
||||
<p>
|
||||
欢迎使用杭州飞致云信息科技有限公司(以下简称"我们")开发的商业版软件(以下简称"本软件")。本软件仅供企业客户内部授权人员使用,我们是本软件的个人信息处理者,依据《中华人民共和国个人信息保护法》《中华人民共和国民法典》等相关法律法规,制定本隐私协议,旨在明确我们处理用户(企业内部授权人员,以下简称"您")信息的范围、方式、目的及双方权利义务,保障您的信息安全与合法权益。
|
||||
欢迎使用杭州飞致云信息科技有限公司(以下简称"我们")开发的软件(以下简称"本软件")。我们是本软件的个人信息处理者,依据《中华人民共和国个人信息保护法》《中华人民共和国民法典》等相关法律法规,制定本隐私协议,旨在明确我们处理用户(以下简称"您")信息的范围、方式、目的及双方权利义务,保障您的信息安全与合法权益。
|
||||
</p>
|
||||
<p>
|
||||
您在首次登录本软件时,必须认真阅读并明确同意本协议,方可使用本软件的全部功能;若您不同意本协议,将无法登录及使用本软件。<strong
|
||||
>本协议内容可能因法律法规更新、监管要求调整或业务优化需要进行变更,您需重新阅读并明确同意后,方可继续使用本软件;若您不同意变更后的协议,将无法继续使用本软件。</strong
|
||||
>
|
||||
您在首次登录本软件时,必须认真阅读并明确同意本协议,方可使用本软件的全部功能;若您不同意本协议,将无法登录及使用本软件。本协议内容可能因法律法规更新、监管要求调整或业务优化需要进行变更,您需重新阅读并明确同意后,方可继续使用本软件;若您不同意变更后的协议,将无法继续使用本软件。
|
||||
</p>
|
||||
<p>本政策可能存在多种语言版本,如各语言版本条款不一致,以中文简体版本为准。</p>
|
||||
<h2 id="-">适用范围</h2>
|
||||
<h2 id="1">1.适用范围</h2>
|
||||
<p>
|
||||
本隐私政策适用于杭州飞致云为企业客户提供的商业版软件。该软件采用本地私有化部署,系统所产生的数据均存储于客户自有环境中,软件提供方不接触、不存储、不回传客户业务数据。所有收集的个人信息仅存储于您所在企业指定的本地服务器,我们不进行远程收集、云端存储或异地备份,由您所在企业对本地服务器的安全管理承担全部责任,包括但不限于服务器防护、访问权限管控、数据备份等。
|
||||
本隐私政策适用于杭州飞致云提供的软件。该软件采用本地私有化部署,系统所产生的数据均存储于用户自有环境中,软件提供方不接触、不存储、不回传用户业务数据。所有收集的个人信息仅存储于您或您所在企业指定的本地服务器,我们不进行远程收集、云端存储或异地备份,由您或您所在企业对本地服务器的安全管理承担全部责任,包括但不限于服务器防护、访问权限管控、数据备份等。
|
||||
</p>
|
||||
<h2 id="-">信息收集与使用</h2>
|
||||
<h3 id="-">基本账号信息</h3>
|
||||
<h2 id="2">2.信息收集与使用</h2>
|
||||
<h3 id="21">2.1基本账号信息</h3>
|
||||
<p>我们收集的个人信息范围:用户名、手机号码、电子邮箱。</p>
|
||||
<p>我们使用该信息的目的:用于账号管理、身份识别与安全通知。</p>
|
||||
<p>以上信息储存于您所在企业指定的本地服务器。</p>
|
||||
<p>以上信息储存于您或您所在企业指定的本地服务器。</p>
|
||||
<p>
|
||||
<strong
|
||||
>鉴于本软件的使用需依赖您的姓名、手机号码、邮箱地址完成身份核验与登录,该等信息的处理是提供产品或服务所必需的,如您不同意处理该等信息的,我们有权拒绝提供服务。</strong
|
||||
>
|
||||
鉴于本软件的使用需依赖您的姓名、手机号码、邮箱地址完成身份核验与登录,该等信息的处理是提供产品或服务所必需的,如您不同意处理该等信息的,我们有权拒绝提供服务。
|
||||
</p>
|
||||
<h3 id="-">身份认证信息</h3>
|
||||
<h3 id="22">2.2身份认证信息</h3>
|
||||
<p>本软件不会以明文形式存储用户密码, 仅以不可逆加密方式保存密码摘要,用于身份校验。</p>
|
||||
<h3 id="-">日志与审计信息</h3>
|
||||
<h3 id="23">2.3日志与审计信息</h3>
|
||||
<p>
|
||||
本软件可能会记录用户登录时间、登录
|
||||
IP及用户操作审计日志,用于安全审计、合规留痕与问题追溯。前述信息储存于企业客户本地,我们不接触、不存储、不回传此类信息。
|
||||
本软件可能会记录用户登录时间、登录 IP及用户操作审计日志,用于安全审计、合规留痕与问题追溯。前述信息储存于用户本地,我们不接触、不存储、不回传此类信息。
|
||||
</p>
|
||||
<h2 id="-">附加功能使用中个人信息的处理</h2>
|
||||
<h2 id="3">3.附加功能使用中个人信息的处理</h2>
|
||||
<p>
|
||||
为实现向您提供我们产品及/或服务的附加功能,您可选择单独同意或不同意我们收集、使用的信息。如您拒绝提供,您将无法正常使用相关附加功能或无法达到我们拟达到的功能效果,但不会影响您使用我们的基本功能。
|
||||
对于购买了我们商业版软件的用户,为实现向您提供我们产品及/或服务的附加功能,您可选择单独同意或不同意我们收集、使用的信息。如您拒绝提供,您将无法正常使用相关附加功能或无法达到我们拟达到的功能效果,但不会影响您使用我们的基本功能。
|
||||
</p>
|
||||
<p>
|
||||
人脸识别功能:人脸识别功能为可选增值服务,系统默认不开启,仅在客户或用户主动启用后生效。如启用该功能,系统将采集并处理用户的人脸图像或特征信息,用于身份认证与防止账号冒用。
|
||||
</p>
|
||||
<p>
|
||||
上述信息仅存储和处理于客户本地部署环境中,我们不会收集你的面容信息。用户或客户管理员可随时关闭人脸识别功能,并删除已采集的人脸信息。
|
||||
上述信息仅存储和处理于用户本地部署环境中,我们不会收集你的面容信息。用户或用户管理员可随时关闭人脸识别功能,并删除已采集的人脸信息。
|
||||
</p>
|
||||
<h2 id="cookie-">Cookie 与同类技术</h2>
|
||||
<h2 id="4">4.Cookie 与同类技术</h2>
|
||||
<p>
|
||||
为保障系统正常运行、登录状态维持及安全防护, 系统会在用户设备中存储必要的 Cookie
|
||||
或会话标识 (如 Session、CSRF Token)。
|
||||
为保障系统正常运行、登录状态维持及安全防护, 系统会在用户设备中存储必要的 Cookie 或会话标识 (如 Session、CSRF Token)。
|
||||
</p>
|
||||
<p>上述技术仅用于系统功能实现, 不用于广告投放或跨站追踪。</p>
|
||||
<h2 id="-">数据存储位置与期限</h2>
|
||||
<p>系统中的个人信息均存储于客户自有本地环境中,具体保存期限由客户根据自身管理要求决定。</p>
|
||||
<h2 id="-">信息共享、转让与披露</h2>
|
||||
<h2 id="5">5.数据存储位置与期限</h2>
|
||||
<p>系统中的个人信息均存储于用户自有本地环境中,具体保存期限由用户据自身管理要求决定。</p>
|
||||
<h2 id="6">6.信息共享、转让与披露</h2>
|
||||
<p>软件提供方不会共享、转让或披露系统中的个人信息,但法律法规或司法机关另有要求的除外。</p>
|
||||
<h2 id="-">用户权利</h2>
|
||||
<h2 id="7">7.用户权利</h2>
|
||||
<p>用户可以在个人信息设置界面查询、更正个人信息,关闭人脸识别功能及删除人脸识别信息。</p>
|
||||
<h2 id="8">8.隐私政策更新</h2>
|
||||
<ul>
|
||||
<li>
|
||||
用户可以在个人信息设置界面查询、更正个人信息,关闭人脸识别功能及删除人脸识别信息。
|
||||
</li>
|
||||
</ul>
|
||||
<h2 id="-">隐私政策更新</h2>
|
||||
<ul>
|
||||
<li>
|
||||
8.1
|
||||
协议变更:我们有权根据法律法规的更新、监管要求调整或业务发展需要,对本协议内容进行修改。
|
||||
8.1 协议变更:我们有权根据法律法规的更新、监管要求调整或业务发展需要,对本协议内容进行修改。
|
||||
</li>
|
||||
<li>
|
||||
8.2同意机制:根据《中华人民共和国个人信息保护法》第十四条规定,本协议内容变更涉及个人信息处理目的、处理方式或个人信息种类的,将重新取得您的明确同意。您在首次登录本软件时,点击"我已阅读并同意本隐私协议"后,本协议正式生效,对您和我们均具有法律约束力。协议变更后,您重新点击同意变更后的协议,变更后的协议方可对您生效;若您不同意变更后的协议,将无法继续使用本软件。
|
||||
</li>
|
||||
</ul>
|
||||
<h2 id="-">免责条款</h2>
|
||||
<h2 id="9">9.免责条款</h2>
|
||||
<ul>
|
||||
<li>
|
||||
9.1第三方责任免责:因本软件为本地部署,您的个人信息存储于您所在企业的本地服务器,若因您所在企业未履行安全管理责任(包括但不限于服务器未采取防护措施、访问权限泄露、未及时备份数据等),导致您的个人信息泄露、篡改、丢失、非法访问等情况,我们不承担赔偿责任,但会应您所在企业的请求配合进行问题排查与技术支持。
|
||||
9.1第三方责任免责:因本软件为本地部署,您的个人信息存储于您或您所在企业的本地服务器,若因您或您所在企业未履行安全管理责任(包括但不限于服务器未采取防护措施、访问权限泄露、未及时备份数据等),导致您的个人信息泄露、篡改、丢失、非法访问等情况,我们不承担赔偿责任,但会应您或您所在企业的请求配合进行问题排查与技术支持。
|
||||
</li>
|
||||
<li>
|
||||
9.2不可归责情形免责:因不可抗力、网络攻击、病毒感染、黑客入侵、自然灾害(如地震、洪水等)、公共设施故障等非我们所能控制的因素,导致本软件无法正常运行或您的个人信息受到影响的,我们在履行了合理注意义务及及时采取补救措施(包括但不限于及时通知、技术排查、协助恢复等)后,不承担由此造成的直接或间接损失。
|
||||
@@ -133,17 +121,18 @@
|
||||
9.3合法合规免责:我们按照法律法规、司法机关或行政监管部门的强制性要求处理您的个人信息,由此产生的一切后果,我们不承担责任,但会及时将相关情况告知您(法律法规禁止告知的除外)。
|
||||
</li>
|
||||
</ul>
|
||||
<h2 id="-">争议解决</h2>
|
||||
<h2 id="10">10.争议解决</h2>
|
||||
<p>
|
||||
因本协议引起的或与本协议相关的任何争议,您可首先与您所在企业及我们协商解决;协商不成的,任何一方均有权向本软件提供方所在地有管辖权的人民法院提起诉讼。本协议的订立、履行、解释及争议解决均适用中华人民共和国法律(不包括香港特别行政区、澳门特别行政区及台湾地区法律)。
|
||||
因本协议引起的或与本协议相关的任何争议,优先通过协商解决;协商不成的,任何一方均有权向本软件提供方所在地有管辖权的人民法院提起诉讼。本协议的订立、履行、解释及争议解决均适用中华人民共和国法律(不包括香港特别行政区、澳门特别行政区及台湾地区法律)。
|
||||
</p>
|
||||
<h2 id="-">其他</h2>
|
||||
<h2 id="11">11.其他</h2>
|
||||
<ul>
|
||||
<li>
|
||||
11.1法规适用:本协议未尽事宜,严格按照《中华人民共和国个人信息保护法》《中华人民共和国民法典》《中华人民共和国网络安全法》等相关法律法规、行政规章及监管要求执行。
|
||||
</li>
|
||||
<li>
|
||||
11.2联系方式:您若对本协议有任何疑问、意见、投诉或权利行使申请,可通过以下方式联系我们,我们将在15个工作日内予以响应处理:
|
||||
11.2联系方式:您若对本协议有任何疑问、意见、投诉或权利行使申请,可通过以下方式联系我们,我们将在15个工作日内予以响应处理:<br />
|
||||
可发送电子邮件至 support@fit2cloud.com 或邮寄至: 北京市朝阳区东三环中路7号财富中心写字楼A座501市场部。
|
||||
</li>
|
||||
<li>
|
||||
11.3生效与终止:本协议自您首次点击同意之日起生效,协议变更后自您重新点击同意变更后的协议之日起生效。
|
||||
@@ -152,5 +141,7 @@
|
||||
11.4条款独立性:本协议任何条款被依法认定为无效、可撤销或不成立的,不影响其他条款的效力,其他条款仍应严格履行。
|
||||
</li>
|
||||
</ul>
|
||||
<p><strong>发布日期:</strong></p>
|
||||
<p><strong>生效日期:</strong></p>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -0,0 +1,147 @@
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<title>User Agreement</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<style>
|
||||
body {
|
||||
font-family:
|
||||
-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial,
|
||||
sans-serif;
|
||||
line-height: 1.7;
|
||||
color: #333;
|
||||
max-width: 960px;
|
||||
margin: 0 auto;
|
||||
padding: 24px;
|
||||
background: #fff;
|
||||
}
|
||||
h1,
|
||||
h2,
|
||||
h3 {
|
||||
color: #111;
|
||||
margin-top: 1.6em;
|
||||
}
|
||||
h1 {
|
||||
font-size: 26px;
|
||||
border-bottom: 2px solid #eee;
|
||||
padding-bottom: 8px;
|
||||
}
|
||||
h2 {
|
||||
font-size: 20px;
|
||||
}
|
||||
h3 {
|
||||
font-size: 18px;
|
||||
}
|
||||
p,
|
||||
li {
|
||||
font-size: 14px;
|
||||
}
|
||||
ul {
|
||||
padding-left: 20px;
|
||||
}
|
||||
.lang {
|
||||
margin-top: 48px;
|
||||
padding-top: 24px;
|
||||
border-top: 2px dashed #ddd;
|
||||
}
|
||||
.note {
|
||||
background: #f8f9fa;
|
||||
border-left: 4px solid #409eff;
|
||||
padding: 12px 16px;
|
||||
margin: 16px 0;
|
||||
font-size: 13px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div>
|
||||
<h1>User Agreement</h1>
|
||||
<p><strong>Version:</strong></p>
|
||||
|
||||
<h2>Introduction</h2>
|
||||
<p>
|
||||
Welcome to the commercial edition software (the "Software") developed by Hangzhou Feizhiyun Information Technology Co., Ltd. (hereinafter referred to as "we"). This Agreement is a legally binding agreement between you (hereinafter referred to as the "User") and the owner of the intellectual property rights in the Software (hereinafter referred to as the "Licensor") regarding your use of the Software. Please read all terms of this Agreement carefully. By clicking "I Agree" and completing your first login, you indicate that you have fully understood and voluntarily accept all terms of this Agreement, have reached agreement with the Licensor, will strictly comply with all provisions hereof, and become a user of the Software. If you do not agree to this Agreement, you cannot complete the first login and cannot become a user of the Software.
|
||||
</p>
|
||||
|
||||
<h2>I. Software Description and License Grant</h2>
|
||||
<h3>1.1 License Type</h3>
|
||||
<p>
|
||||
The Licensor grants the User a non-exclusive, non-transferable, non-sublicensable, revocable license to use the Software free of charge or for a fee. The User may use the Software only within the enterprise for its own business operations and management, and may not provide paid or free software use, leasing, licensing, or other services to any third party.
|
||||
</p>
|
||||
<h3>1.2 Scope of Authorization</h3>
|
||||
<p>
|
||||
The User may use the Software only within the authorized scope and in the authorized server environment designated by the enterprise (meeting the Software's minimum operating requirements), including open-source base features and commercial edition value-added features. Use beyond the authorized scope is prohibited.
|
||||
</p>
|
||||
<h3>1.3 Version Updates</h3>
|
||||
<p>
|
||||
During the maintenance service period, the User may receive patch updates and minor version upgrades within the authorized major version of the Software at no additional charge. Major version upgrades require separate authorization from the Licensor.
|
||||
</p>
|
||||
|
||||
<h2>II. User Rights and Obligations</h2>
|
||||
<h3>2.1 Rights</h3>
|
||||
<p>
|
||||
Within the authorized scope, the User has the right to lawfully use all features of the Software and to make suggestions regarding the user experience and feature improvements. During the maintenance service period, the User has the right to receive technical support and free update services from the Licensor, and the right to require the Licensor to promptly fix software vulnerabilities (within the scope of patch updates).
|
||||
</p>
|
||||
<h3>2.2 Obligations</h3>
|
||||
<ul>
|
||||
<li>(1) Strictly comply with this Agreement and applicable laws and regulations; do not use the Software for any illegal or non-compliant activities, or use the Software to infringe the legitimate rights and interests of third parties;</li>
|
||||
<li>(2) Do not use the Software beyond the authorized scope; do not copy, transfer, lease, lend, sell, or provide the Software to any third party;</li>
|
||||
<li>(3) Do not reverse engineer, decompile, or disassemble the Software; do not attempt to obtain the source code of the Software; do not modify, adapt, translate the Software, or create derivative works;</li>
|
||||
<li>(4) Safely keep the Software login credentials, authorization credentials, and related documentation; take reasonable security measures to prevent unauthorized access; the User shall bear any losses caused by its own improper management;</li>
|
||||
<li>(5) Install software patch updates in a timely manner; cooperate with the Licensor on technical support and troubleshooting; do not change software runtime configuration or system parameters without authorization;</li>
|
||||
<li>(6) Do not remove or modify copyright notices, trademark identifiers, or other intellectual property-related content in the Software; respect all intellectual property rights of the Licensor.</li>
|
||||
</ul>
|
||||
|
||||
<h2>III. Licensor Rights and Obligations</h2>
|
||||
<h3>3.1</h3>
|
||||
<p>
|
||||
The Licensor owns all intellectual property rights in the Software; has the right to supervise the User's use of the Software and, upon discovering User breach of this Agreement, may take measures such as requiring rectification within a time limit, restricting account functions, or suspending/terminating use rights, and has the right to decide whether to restore the User's use rights based on actual circumstances; for serious breaches, the Licensor has the right to pursue legal liability.
|
||||
</p>
|
||||
<h3>3.2</h3>
|
||||
<p>
|
||||
The Licensor has the right to upgrade and modify the Software in accordance with technological development and market demand, and to decide matters related to major version upgrades.
|
||||
</p>
|
||||
<h3>3.3 Obligations</h3>
|
||||
<p>
|
||||
Ensure that the Software does not infringe any intellectual property rights; provide reasonable technical support and software delivery services; promptly push patch update and minor version upgrade notifications and provide guidance; keep confidential the User's trade secrets, usage data, and the like (except as otherwise required by laws and regulations).
|
||||
</p>
|
||||
|
||||
<h2>IV. Intellectual Property and Confidentiality</h2>
|
||||
<h3>4.1</h3>
|
||||
<p>
|
||||
All intellectual property rights in technical achievements or solutions developed by the Licensor for providing products and services to the User or lawfully obtained from third parties belong to the Licensor or such third parties. Without the Licensor's consent, the User may not use, modify, or otherwise deal with the foregoing intellectual property or any part thereof beyond the authorized scope. User data generated by the User in the course of using the Software belongs to the User.
|
||||
</p>
|
||||
<h3>4.2</h3>
|
||||
<p>
|
||||
Both parties shall keep confidential the content of this Agreement, software-related technical information, trade secrets, and other confidential information, and shall not disclose such information to third parties. The confidentiality obligation shall survive termination of this Agreement until the confidential information naturally enters the public domain and becomes public.
|
||||
</p>
|
||||
|
||||
<h2>V. Disclaimer</h2>
|
||||
<p><strong>5.1</strong> The Software is provided only in its "as is" and "current functionality" state. The Licensor does not warrant that the Software will operate free of faults or vulnerabilities, or that it will meet all of the User's requirements. For minor software faults and vulnerabilities, the Licensor will fix them within a reasonable period (within the scope of patch updates) and shall not be liable for other damages;</p>
|
||||
<p><strong>5.2</strong> Losses such as software malfunctions or data loss caused by the User's improper operation, poor security management, use beyond the authorized scope, or by third-party attacks or force majeure shall be borne by the User; the Licensor shall not be liable;</p>
|
||||
<p><strong>5.3</strong> Any disputes or losses arising from the User's breach of this Agreement or laws and regulations shall be borne by the User; if the Licensor suffers losses, the User shall compensate the Licensor;</p>
|
||||
<p><strong>5.4</strong> The Licensor shall not bear additional liability for the use, modification, or derivation of the Software; related liability shall be borne by the User.</p>
|
||||
|
||||
<h2>VI. Amendment and Termination of the Agreement</h2>
|
||||
<p><strong>6.1</strong> The Licensor may amend the terms of this Agreement as circumstances require. After amendment, the terms will be published on the Software login page or through official channels. The User's next login shall be deemed acceptance of the amended terms;</p>
|
||||
<p><strong>6.2</strong> If the User breaches this Agreement, the Licensor may unilaterally terminate the User's right to use the Software. The User shall immediately cease using the Software and delete all copies and related materials;</p>
|
||||
<p><strong>6.3</strong> When the authorization period expires, the User voluntarily discontinues use, or in other circumstances prescribed by laws and regulations, this Agreement shall terminate automatically and the User shall cease use and delete Software-related materials.</p>
|
||||
|
||||
<h2>VII. Liability for Breach</h2>
|
||||
<p>
|
||||
If the User breaches any term of this Agreement, the User shall bear all losses caused to the Licensor (including direct losses, indirect losses, attorney fees, litigation costs, etc.). The Licensor has the right to terminate the User's use rights, confiscate related fees (if any), and pursue the User's legal liability.
|
||||
</p>
|
||||
|
||||
<h2>VIII. Miscellaneous</h2>
|
||||
<p><strong>8.1</strong> Disputes arising in the performance of this Agreement shall be resolved through friendly negotiation; if negotiation fails, the dispute shall be submitted to the people's court where the Licensor is located for resolution;</p>
|
||||
<p><strong>8.2</strong> This Agreement shall be interpreted and governed by the laws of the People's Republic of China (excluding Hong Kong, Macao, and Taiwan);</p>
|
||||
<p><strong>8.3</strong> By clicking "I Agree" and completing login, you indicate that you have read, fully understood, and voluntarily accept all terms of this Agreement. This Agreement takes effect from the date of your confirmation.</p>
|
||||
<div class="note">[Confirmation Notice] You have read and fully understood all terms of this Agreement. By clicking "I Agree", you are deemed to accept the terms of this Agreement and may continue to use the Software. If you do not agree, please click "Cancel" to terminate login and cease using the Software.</div>
|
||||
<p><strong>8.4</strong> The Licensor may revise this Agreement from time to time. Revisions shall form part of this Agreement. Updated agreements will be published through the official website, service pages, or other appropriate means. Once published, they replace the original terms. Please refer to the latest version of the agreement. If the User does not accept the amended agreement, the User shall immediately cease using the Software.</p>
|
||||
<p><strong>8.5 Contact:</strong> If you have any questions, comments, complaints, or requests regarding your rights in relation to this Agreement, you may contact us through the following. We will respond within 15 business days:<br />
|
||||
Phone: 400-052-0755<br />
|
||||
Email: support@fit2cloud.com<br />
|
||||
Address: Room 501, Tower A, Fortune Plaza Office Building, No. 7 Dongsanhuan Middle Road, Chaoyang District, Beijing, China</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,147 @@
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<title>用户协议</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<style>
|
||||
body {
|
||||
font-family:
|
||||
-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial,
|
||||
'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;
|
||||
line-height: 1.7;
|
||||
color: #333;
|
||||
max-width: 960px;
|
||||
margin: 0 auto;
|
||||
padding: 24px;
|
||||
background: #fff;
|
||||
}
|
||||
h1,
|
||||
h2,
|
||||
h3 {
|
||||
color: #111;
|
||||
margin-top: 1.6em;
|
||||
}
|
||||
h1 {
|
||||
font-size: 26px;
|
||||
border-bottom: 2px solid #eee;
|
||||
padding-bottom: 8px;
|
||||
}
|
||||
h2 {
|
||||
font-size: 20px;
|
||||
}
|
||||
h3 {
|
||||
font-size: 18px;
|
||||
}
|
||||
p,
|
||||
li {
|
||||
font-size: 14px;
|
||||
}
|
||||
ul {
|
||||
padding-left: 20px;
|
||||
}
|
||||
.lang {
|
||||
margin-top: 48px;
|
||||
padding-top: 24px;
|
||||
border-top: 2px dashed #ddd;
|
||||
}
|
||||
.note {
|
||||
background: #f8f9fa;
|
||||
border-left: 4px solid #409eff;
|
||||
padding: 12px 16px;
|
||||
margin: 16px 0;
|
||||
font-size: 13px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div>
|
||||
<h1>用户协议</h1>
|
||||
<p><strong>版本号:</strong></p>
|
||||
|
||||
<h2>【引言】</h2>
|
||||
<p>
|
||||
欢迎使用杭州飞致云信息科技有限公司(以下简称"我们")开发的商业版软件(以下简称"本软件")。本协议是您(以下简称"用户")与本软件知识产权权利人(以下简称"许可方")之间就使用本软件所订立的具有法律效力的协议。请您仔细阅读本协议全部条款,您点击"确认同意"并完成首次登录,即表示您已充分理解并自愿接受本协议所有约定,与许可方达成一致,严格遵守本协议各项条款,并成为本软件的用户。若您不同意本协议,则不能完成首次登录,无法成为本软件的用户。
|
||||
</p>
|
||||
|
||||
<h2>一、软件说明与许可授权</h2>
|
||||
<h3>1.1 许可方式</h3>
|
||||
<p>
|
||||
许可方授予用户一项非独占、不可转让、不可分许可、可撤销的免费/付费使用许可,用户仅可在企业内部用于自身经营管理,不得向任何第三方提供有偿或无偿的软件使用、租赁、授权等服务。
|
||||
</p>
|
||||
<h3>1.2 授权范围</h3>
|
||||
<p>
|
||||
用户仅可在企业指定的授权服务器环境(符合本软件最低运行要求)、授权范围内使用本软件功能(含开源基础功能及商业版增值功能),不得超出授权范围使用。
|
||||
</p>
|
||||
<h3>1.3 版本更新</h3>
|
||||
<p>
|
||||
维保服务期限内,用户可免费获得本软件的补丁更新及授权大版本范围内的小版本升级;大版本升级需另行获得许可方授权。
|
||||
</p>
|
||||
|
||||
<h2>二、用户权利与义务</h2>
|
||||
<h3>2.1 权利</h3>
|
||||
<p>
|
||||
在授权范围内,有权合法使用本软件全部功能,对本软件使用体验、功能优化提出建议;在维保服务期间,有权享受许可方提供的技术支持及免费更新服务,有权要求许可方及时修复软件漏洞(补丁更新范围内)。
|
||||
</p>
|
||||
<h3>2.2 义务</h3>
|
||||
<ul>
|
||||
<li>(1)严格遵守本协议及相关法律法规,不得将本软件用于任何违法违规活动,不得利用本软件侵犯第三方合法权益;</li>
|
||||
<li>(2)不得超出授权范围使用本软件,不得复制、转让、出租、出借、出售或向第三方提供本软件;</li>
|
||||
<li>(3)不得对本软件进行反向工程、反向编译、反汇编,不得试图获取本软件的源代码,不得修改、改编、翻译本软件或创建衍生作品;</li>
|
||||
<li>(4)妥善保管本软件的登录账号、授权凭证及相关文档,采取合理安全措施防止未授权访问,因自身管理不当造成的损失由用户自行承担;</li>
|
||||
<li>(5)及时安装软件补丁更新,配合许可方进行技术支持、故障排查,不得擅自更改软件运行配置、系统参数;</li>
|
||||
<li>(6)不得删除、修改本软件中的版权声明、商标标识等知识产权相关内容,尊重许可方的全部知识产权。</li>
|
||||
</ul>
|
||||
|
||||
<h2>三、许可方权利与义务</h2>
|
||||
<h3>3.1</h3>
|
||||
<p>
|
||||
许可方享有本软件的全部知识产权;有权监督用户的软件使用情况,发现用户违反本协议的,有权对用户采取限期整改、限制账号功能、中止/终止使用权限等处置措施,且有权根据实际情况决定是否恢复用户使用权限;用户违反协议行为情节严重的,许可方有权追究相关法律责任;
|
||||
</p>
|
||||
<h3>3.2</h3>
|
||||
<p>
|
||||
许可方有权根据技术发展、市场需求对本软件进行升级、修改,并决定大版本升级相关事宜。
|
||||
</p>
|
||||
<h3>3.3 义务</h3>
|
||||
<p>
|
||||
保证本软件不存在知识产权侵权情形;提供合理的技术支持及软件交付服务;及时推送补丁更新、小版本升级通知并提供指导;对用户的商业秘密、使用数据等予以保密(法律法规另有规定的除外)。
|
||||
</p>
|
||||
|
||||
<h2>四、知识产权与保密</h2>
|
||||
<h3>4.1</h3>
|
||||
<p>
|
||||
许可方为向用户提供产品和服务而开发或从第三方合法获得的技术成果或方案的全部知识产权均归许可方或该第三方所有。未经许可方同意,用户不得以任何形式对前述知识产权或其任何部分进行超越授权范围的使用、修改等。用户在使用本软件过程中产生的用户数据,归用户所有。
|
||||
</p>
|
||||
<h3>4.2</h3>
|
||||
<p>
|
||||
双方均应对本协议内容、软件相关技术信息、商业秘密等保密信息予以保密,不得向第三方泄露,保密义务在本协议终止后继续有效,直至保密信息自然进入公共领域成为公开信息。
|
||||
</p>
|
||||
|
||||
<h2>五、免责条款</h2>
|
||||
<p><strong>5.1</strong> 本软件仅以"现状""当前功能"的状态提供,许可方不保证本软件运行完全无故障、无漏洞,不保证能满足用户全部使用需求,对软件轻微故障、漏洞,许可方将在合理期限内修复(补丁更新范围内),不承担其他赔偿责任;</p>
|
||||
<p><strong>5.2</strong> 因用户自身操作不当、安全管理不善、超出授权范围使用,或因第三方攻击、不可抗力导致的软件故障、数据丢失等损失,由用户自行承担,许可方不承担责任;</p>
|
||||
<p><strong>5.3</strong> 因用户违反本协议、法律法规导致的任何纠纷、损失,由用户自行承担,给许可方造成损失的,用户应予以赔偿;</p>
|
||||
<p><strong>5.4</strong> 许可方对本软件的使用、修改、衍生等不承担额外责任,相关责任由用户自行承担。</p>
|
||||
|
||||
<h2>六、协议的变更与终止</h2>
|
||||
<p><strong>6.1</strong> 许可方可根据实际情况变更本协议条款,变更后将在软件登录页面或官方渠道公示,用户再次登录即视为接受变更后的条款;</p>
|
||||
<p><strong>6.2</strong> 用户违反本协议约定,许可方可单方终止用户的软件使用权限,用户应立即停止使用本软件,删除所有软件副本及相关资料;</p>
|
||||
<p><strong>6.3</strong> 授权期限届满、用户主动放弃使用或法律法规规定的其他情形,本协议自动终止,用户应停止使用并删除软件相关资料。</p>
|
||||
|
||||
<h2>七、违约责任</h2>
|
||||
<p>
|
||||
用户违反本协议任何条款,应承担由此给许可方造成的全部损失(包括直接损失、间接损失、律师费、诉讼费等);许可方有权终止用户的使用权限,没收相关费用(如有),并追究用户的法律责任。
|
||||
</p>
|
||||
|
||||
<h2>八、其他条款</h2>
|
||||
<p><strong>8.1</strong> 本协议履行过程中发生的争议,双方应友好协商解决;协商不成的,提交许可方所在地人民法院诉讼解决;</p>
|
||||
<p><strong>8.2</strong> 本协议受中华人民共和国(不含港、澳、台地区)法律解释和管辖;</p>
|
||||
<p><strong>8.3</strong> 您点击"确认同意"并完成登录,即表示您已仔细阅读、充分理解并自愿接受本协议全部条款,本协议自您确认之日起生效。</p>
|
||||
<div class="note">【确认提示】您已阅读并充分理解本协议全部条款,点击"确认同意",即视为您接受本协议约束,方可继续使用本软件;若不同意,请点击"取消",终止登录并停止使用本软件。</div>
|
||||
<p><strong>8.4</strong> 许可方会适时对本协议进行修订,修订内容构成本协议的组成部分。更新后的协议将通过官方网站或服务页面等适当的方式进行公示。一旦公布即代替原协议条款,请用户自行查阅最新版协议条款。如用户不接受修改后的协议,请用户立即停止使用本软件。</p>
|
||||
<p><strong>8.5 联系方式:</strong>您若对本协议有任何疑问、意见、投诉或权利行使申请,可通过以下方式联系我们,我们将在15个工作日内予以响应处理:<br />
|
||||
电话:400-052-0755<br />
|
||||
邮箱:support@fit2cloud.com<br />
|
||||
联系地址:北京市朝阳区东三环中路7号财富中心写字楼A座501室</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,126 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<title>Community Edition User Agreement</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<style>
|
||||
body {
|
||||
font-family:
|
||||
-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial,
|
||||
sans-serif;
|
||||
line-height: 1.7;
|
||||
color: #333;
|
||||
max-width: 960px;
|
||||
margin: 0 auto;
|
||||
padding: 24px;
|
||||
background: #fff;
|
||||
}
|
||||
h1,
|
||||
h2,
|
||||
h3 {
|
||||
color: #111;
|
||||
margin-top: 1.6em;
|
||||
}
|
||||
h1 {
|
||||
font-size: 26px;
|
||||
border-bottom: 2px solid #eee;
|
||||
padding-bottom: 8px;
|
||||
}
|
||||
h2 {
|
||||
font-size: 20px;
|
||||
}
|
||||
h3 {
|
||||
font-size: 18px;
|
||||
}
|
||||
p,
|
||||
li {
|
||||
font-size: 14px;
|
||||
}
|
||||
ul {
|
||||
padding-left: 20px;
|
||||
}
|
||||
.lang {
|
||||
margin-top: 48px;
|
||||
padding-top: 24px;
|
||||
border-top: 2px dashed #ddd;
|
||||
}
|
||||
.note {
|
||||
background: #f8f9fa;
|
||||
border-left: 4px solid #409eff;
|
||||
padding: 12px 16px;
|
||||
margin: 16px 0;
|
||||
font-size: 13px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div>
|
||||
<h1>Community Edition User Agreement</h1>
|
||||
<p><strong>Version:</strong></p>
|
||||
|
||||
<h2>Introduction</h2>
|
||||
<p>
|
||||
Welcome to the Community Edition software (the "Feizhiyun Community Software") developed by Hangzhou Feizhiyun Information Technology Co., Ltd. (hereinafter referred to as "we" or "Feizhiyun"). This Agreement is a legally binding agreement between you, as an individual or company (the "User"), and Feizhiyun (the "Licensor") regarding your use of the Feizhiyun Community Software. Please read all terms of this Agreement carefully. Your use of the Feizhiyun Community Software (including but not limited to obtaining source code or installation packages by any means, and installing or using the Feizhiyun Community Software) constitutes your full understanding and voluntary acceptance of all terms herein, your agreement with the Licensor, and your commitment to comply with all provisions of this Agreement. If you do not agree to any term of this Agreement or are not authorized to enter into this Agreement, you must immediately cease using the Feizhiyun Community Software and delete all copies.
|
||||
</p>
|
||||
|
||||
<h2>I. Agreement Description and Modifications</h2>
|
||||
<h3>1.1 Scope of Application</h3>
|
||||
<p>
|
||||
This Community Edition User Agreement (this "Agreement") is a legally binding contract between you and Feizhiyun and governs your use of Feizhiyun Community Software. Feizhiyun Community Software includes but is not limited to JumpServer (Community Edition), MeterSphere (Community Edition), DataEase (Community Edition), Halo (Community Edition), 1Panel (Community Edition), MaxKB (Community Edition), SQLBot (Community Edition), and CordysCRM (Community Edition).
|
||||
</p>
|
||||
<h3>1.2 Relationship Between This Agreement and GPLv3</h3>
|
||||
<p>
|
||||
The above software is open source software licensed under the GNU General Public License Version 3 (GPLv3) (full text available at: <a href="https://www.gnu.org/licenses/gpl-3.0.html" target="_blank" rel="noopener">GNU General Public License v3.0 - GNU Project - Free Software Foundation</a>, hereinafter "GPLv3"). You must comply with all terms and conditions of GPLv3 when downloading, copying, modifying, or distributing the Software. This Agreement is an additional statement and supplement to GPLv3 with respect to the intellectual property rights in the Software and the Company. This Agreement incorporates and references the full terms of GPLv3. You must comply with GPLv3 and must also comply with the additional terms set forth in this Agreement.
|
||||
</p>
|
||||
<h3>1.3 Modifications to the Agreement</h3>
|
||||
<p>
|
||||
Feizhiyun may change the terms of this Agreement as circumstances require. If Feizhiyun needs to amend or modify this Agreement, Feizhiyun will announce such changes in advance by means of a notice on the Company website at <a href="https://www.fit2cloud.com/legal/licenses.html" target="_blank" rel="noopener">https://www.fit2cloud.com/legal/licenses.html</a>. If you continue to use Feizhiyun Community Software after the announcement of such changes, you are deemed to have read, understood, and accepted the amended Agreement and to be bound by the amended terms.
|
||||
</p>
|
||||
|
||||
<h2>II. Intellectual Property</h2>
|
||||
<h3>2.1</h3>
|
||||
<p>
|
||||
Hangzhou Feizhiyun Information Technology Co., Ltd. owns all intellectual property rights in the Feizhiyun Community Software, including copyright, trademark, patent, and trade secret rights, which are protected by the Copyright Law, Trademark Law, Patent Law, Anti-Unfair Competition Law, and other intellectual property laws and regulations of the People's Republic of China.
|
||||
</p>
|
||||
<h3>2.2 Grant of License</h3>
|
||||
<p>
|
||||
The Feizhiyun Community Software is licensed to you, not sold. Feizhiyun retains all intellectual property rights related to the Feizhiyun Community Software. During the term of this Agreement and subject to your compliance with this Agreement and GPLv3, Feizhiyun grants you a non-exclusive, royalty-free license to install and use the Feizhiyun Community Software.
|
||||
</p>
|
||||
<h3>2.3 License Restrictions</h3>
|
||||
<p>
|
||||
(a) All copyright, trademark, patent, and other intellectual property rights in the Software are owned by Feizhiyun. (b) The trademarks, trade names, logos, product names, and all related graphics and designs of the Software (hereinafter "our Marks") are protected by trademark and other intellectual property laws. You may not use our Marks in any way without our express written authorization, including but not limited to promoting your modified derivative works or implying any association with or endorsement by the Company. (c) This Agreement does not grant any rights to any commercial or enterprise version (non-community edition) of Feizhiyun software or services; such rights are subject to separate terms. (d) You are prohibited from using the Feizhiyun Community Software to conduct any act that violates national laws, endangers national security, social stability, or public order and good morals, or any improper, defamatory, obscene, violent, or otherwise illegal act.
|
||||
</p>
|
||||
|
||||
<h2>III. Privacy and Data Security</h2>
|
||||
<p>
|
||||
Under this Agreement, Feizhiyun's use of any user data (if any) that Feizhiyun collects is subject to Feizhiyun's Privacy Policy, currently available at: <a href="https://www.fit2cloud.com/legal/privacy-policy.html" target="_blank" rel="noopener">https://www.fit2cloud.com/legal/privacy-policy.html</a>. Your use of the Feizhiyun Community Software constitutes your agreement to the practices described in Feizhiyun's Privacy Policy.
|
||||
</p>
|
||||
|
||||
<h2>IV. Disclaimer</h2>
|
||||
<h3>4.1</h3>
|
||||
<p>
|
||||
To the maximum extent permitted by applicable law: (a) the Feizhiyun Community Software is licensed to you on an "as is" and "as available" basis, without any warranty of any kind, including any warranty of fault-free operation, and Feizhiyun makes no express, implied, or statutory warranties, including but not limited to implied warranties of merchantability, satisfactory quality, fitness for a particular purpose, accuracy, or availability; and (b) without limiting the foregoing, Feizhiyun does not warrant that the Feizhiyun Community Software will meet your requirements, that its operation will be uninterrupted or error-free, or that defects will be corrected. Any information or advice provided by Feizhiyun does not constitute any warranty; (c) if your use of the Feizhiyun Community Software violates national laws or regulations, you shall bear the relevant responsibility and Feizhiyun shall not be liable.
|
||||
</p>
|
||||
<h3>4.2 Limitation of Liability</h3>
|
||||
<p>
|
||||
To the maximum extent permitted by applicable law: in no event shall Feizhiyun be liable for any direct, incidental, special, indirect, or consequential damages, loss of profits, loss of data, loss of goodwill, business interruption, or any other form of loss, or for any other damages or losses arising from or in connection with your use or inability to use the Feizhiyun Community Software.
|
||||
</p>
|
||||
|
||||
<h2>V. No Commercial Support</h2>
|
||||
<p>
|
||||
You acknowledge and confirm that the Feizhiyun Community Software is a free community edition and does not include related commercial services or support. Feizhiyun has no obligation or responsibility to organize user exchanges regarding the Feizhiyun Community Software. Feizhiyun assumes no potential risks or actual tangible or intangible economic losses or legal liability that may result from system failures on any party's side arising from technical discussions in user communities regarding the Feizhiyun Community Software. Feizhiyun has no obligation to provide or continue to provide the Feizhiyun Community Software (including any updates, upgrades, or new versions), nor any obligation to bear any losses or liability that may arise from the Feizhiyun Community Software. This Agreement does not grant any rights to any commercial or enterprise version (non-community edition) of Feizhiyun software or services; such rights are subject to separate terms.
|
||||
</p>
|
||||
|
||||
<h2>VI. Governing Law and Dispute Resolution</h2>
|
||||
<p>
|
||||
The validity, interpretation, modification, performance, and dispute resolution of this Agreement shall be governed by the laws of the People's Republic of China. Any dispute arising from this Agreement shall be resolved in accordance with the laws of mainland China, and shall be under the jurisdiction of the people's court where Feizhiyun is located.
|
||||
</p>
|
||||
|
||||
<h2>VII. Miscellaneous</h2>
|
||||
<p><strong>7.1</strong> If you have any questions about this Agreement or the GPLv3 terms, or are unsure whether your use complies with this Agreement or GPLv3, please contact us before taking any action.</p>
|
||||
<p><strong>7.2</strong> If you wish to obtain a non-open-source version of the Software (such as a proprietary commercial license) or need customized development, technical support, trademark licensing, or other rights, please feel free to contact us.</p>
|
||||
<p><strong>7.3 Contact:</strong> You may send an email to support@fit2cloud.com or mail to: Marketing Department, Room 501, Tower A, Fortune Plaza Office Building, No. 7 Dongsanhuan Middle Road, Chaoyang District, Beijing, China.</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,7 +1,7 @@
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<title>用户协议</title>
|
||||
<title>社区版用户协议</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<style>
|
||||
body {
|
||||
@@ -29,6 +29,9 @@
|
||||
h2 {
|
||||
font-size: 20px;
|
||||
}
|
||||
h3 {
|
||||
font-size: 18px;
|
||||
}
|
||||
p,
|
||||
li {
|
||||
font-size: 14px;
|
||||
@@ -52,40 +55,72 @@
|
||||
</head>
|
||||
<body>
|
||||
<div>
|
||||
<h1>用户协议与隐私政策</h1>
|
||||
<h1>社区版用户协议</h1>
|
||||
<p><strong>版本号:</strong></p>
|
||||
|
||||
<h2>【引言】</h2>
|
||||
<p>
|
||||
<strong>版本号:</strong>2026-01<br />
|
||||
<strong>生效日期:</strong>2026-02-01
|
||||
欢迎使用杭州飞致云信息科技有限公司(以下简称"我们""飞致云")开发的社区版软件(以下简称"飞致云社区软件")。本协议是您作为个人或公司(用户)与飞致云(许可方)之间就使用飞致云社区软件所订立的具有法律效力的协议。请您仔细阅读本协议全部条款,您对飞致云社区软件的使用(包括但不限于通过任何形式获取源代码或安装包、安装使用飞致云社区软件),即表示您已充分理解并自愿接受本协议所有约定,与许可方达成一致,严格遵守本协议各项条款。如果您不同意本协议的任何条款或尚未取得授权签署本协议,则必须立即停止使用飞致云社区软件,并删除所有副本。
|
||||
</p>
|
||||
|
||||
<div class="note">本软件为企业级私有化部署系统,仅供客户内部授权人员使用。</div>
|
||||
|
||||
<h2>一、用户协议</h2>
|
||||
|
||||
<h3>1. 产品性质</h3>
|
||||
<h2>一、协议说明及修改</h2>
|
||||
<h3>1.1 协议的适用范围</h3>
|
||||
<p>
|
||||
本系统为企业级运维与安全管理系统,
|
||||
采用私有化部署方式运行,系统的部署环境、运行环境及数据均由客户自行控制。
|
||||
本社区版用户协议(下称"本协议")系您与飞致云之间具有法律约束力的合同,并约束您对飞致云旗下社区软件的使用。飞致云旗下社区软件,包括但不限于 JumpServer(社区版),MeterSphere(社区版),DataEase(社区版),Halo(社区版),1Panel(社区版),MaxKB(社区版),SQLBot(社区版),CordysCRM(社区版)。
|
||||
</p>
|
||||
<h3>1.2 本协议与 GPLv3 协议的关系</h3>
|
||||
<p>
|
||||
以上软件是根据《GNU通用公共许可证第3版(GPLv3)》(全文参见官方链接:<a href="https://www.gnu.org/licenses/gpl-3.0.html" target="_blank" rel="noopener">GNU通用公共许可证 v3.0 - GNU工程 - 自由软件基金会</a>,以下简称"GPLv3")授权的开源软件。您在下载、复制、修改或分发本软件时,必须遵守GPLv3的所有条款和条件。本协议是在GPLv3基础上,针对本软件及本公司的知识产权所做的额外说明和补充,本协议包含并引用GPLv3的全部条款。用户必须遵守 GPLv3 协议,同时也必须遵守本协议中列明的补充条款。
|
||||
</p>
|
||||
<h3>1.3 协议的修改</h3>
|
||||
<p>
|
||||
飞致云可根据实际情况变更本协议条款,如飞致云需要对本协议进行变更或修改的,飞致云会通过本公司网站 <a href="https://www.fit2cloud.com/legal/licenses.html" target="_blank" rel="noopener">https://www.fit2cloud.com/legal/licenses.html</a> 通过网站公告的方式提前予以公布;若您在本协议内容公告变更后继续使用飞致云社区旗下软件的,表示您已充分阅读、理解并接受变更后的协议内容,也将遵循变更后的协议内容。
|
||||
</p>
|
||||
|
||||
<h3>2. 用户行为规范</h3>
|
||||
<ul>
|
||||
<li>用户应在客户授权范围内使用本系统;</li>
|
||||
<li>不得利用本系统从事违法、违规或未授权行为;</li>
|
||||
<li>不得破坏、规避或干扰系统的安全审计与控制机制。</li>
|
||||
</ul>
|
||||
|
||||
<h3>3. 账号与凭证安全</h3>
|
||||
<h2>二、知识产权</h2>
|
||||
<h3>2.1</h3>
|
||||
<p>
|
||||
用户应妥善保管自身账号及认证凭证。
|
||||
因用户个人原因导致的账号安全风险,由用户或客户自行承担。
|
||||
杭州飞致云信息科技有限公司拥有飞致云旗下社区软件的一切著作权、商标权、专利权、商业秘密等知识产权,受中华人民共和国著作权法、商标法、专利法、反不正当竞争法以及其他知识产权法律法规的保护。
|
||||
</p>
|
||||
<h3>2.2 许可授予</h3>
|
||||
<p>
|
||||
飞致云旗下社区软件是许可给您的,而非出售给您的,飞致云保留与飞致云旗下社区软件相关的全部知识产权。在本协议有效期内,并且在您遵守本协议及GPLv3的前提下,飞致云授予您非排他性的普通许可,许可您免费安装及使用飞致云旗下社区软件。
|
||||
</p>
|
||||
<h3>2.3 许可限制</h3>
|
||||
<p>
|
||||
(a) 本软件的所有版权、商标权、专利权及其他知识产权,均归飞致云所有。(b) 本软件的商标、商号、Logo、产品名称及所有相关图形和设计(以下简称"我们的标识"),均受商标法和其他知识产权法保护。除非获得本公司明确的书面授权,您不得以任何方式使用我们的标识,包括但不限于用于推广您修改后的衍生作品、暗示与本公司存在关联或背书等。(c) 本协议不授予飞致云软件或服务的任何商业/企业版本(非社区版)的任何权利,这些权利受单独条款的约束。(d) 禁止利用飞致云社区软件实施任何违反国家法律、危害国家安全、社会稳定、公序良俗行为,或任何不当的、侮辱诽谤的、淫秽的、暴力的及任何违反国家法律法规政策的行为。
|
||||
</p>
|
||||
|
||||
<h3>4. 协议变更</h3>
|
||||
<p>如本协议内容发生实质性变更,系统将提示用户重新确认。</p>
|
||||
<h2>三、隐私和数据安全</h2>
|
||||
<p>
|
||||
根据本协议,飞致云对飞致云收集的任何用户数据(如有)的使用均受飞致云隐私政策的约束,该隐私政策目前位于:<a href="https://www.fit2cloud.com/legal/privacy-policy.html" target="_blank" rel="noopener">https://www.fit2cloud.com/legal/privacy-policy.html</a> ,您对飞致云社区软件的使用表示同意飞致云隐私政策中所述的做法。
|
||||
</p>
|
||||
|
||||
<hr />
|
||||
<h2>四、免责声明</h2>
|
||||
<h3>4.1</h3>
|
||||
<p>
|
||||
在适用法律允许的最大范围内:(a) 飞致云社区软件是按"原样"和"可用"的基础授予您的许可,不存在无故障承诺等任何形式的保证,并且飞致云不作任何明示,暗示或法定的保证,包括但不限于对适销性,质量满意度,对特定目的的适用性,准确性,可用性的默示保证;并且 (b) 在不限制上述规定的前提下,飞致云不保证该飞致云社区软件可以满足您的要求,也不保证其操作不会中断或没有错误,或者将纠正缺陷。飞致云提供的任何信息或建议均不构成任何担保;(c) 用户因使用飞致云社区软件违反国家法律法规的,用户自行承担相关责任,飞致云公司不承担任何责任。
|
||||
</p>
|
||||
<h3>4.2 责任范围</h3>
|
||||
<p>
|
||||
在适用法律允许的最大范围内:在任何情况下,飞致云均不对任何直接的,附带的,特殊的,间接的或后果性的损失或利润损失,数据损失,商誉损失,业务中断或任何其他形式的损失负责,对由您的使用或无法使用飞致云社区软件引起或与之相关的其他损害或损失概不负责。
|
||||
</p>
|
||||
|
||||
<h2>五、无商业支持服务说明</h2>
|
||||
<p>
|
||||
您在此知悉确认,飞致云社区软件系为免费社区版本,飞致云社区软件也不包括相关的商业服务和支持。飞致云不承担任何组织用户交流飞致云社区软件的义务与责任。飞致云在用户社区中对涉及飞致云社区软件技术开展讨论交流,均不承担潜在的风险和实际可能导致某一方系统故障所产生的有形或无形的经济损失及法律责任。飞致云没有义务向您提供或持续提供飞致云社区软件(包括任何更新、升级或新版本),也没有义务承担因飞致云社区软件可能产生的任何损失和责任。本协议不授予飞致云软件或服务的任何商业/企业版本(非社区版)的任何权利,这些权利受单独条款的约束。
|
||||
</p>
|
||||
|
||||
<h2>六、法律适用与争议解决</h2>
|
||||
<p>
|
||||
本协议之效力、解释、变更、执行与争议解决均适用中华人民共和国法律。因本协议产生之争议,均应依照中华人民共和国大陆地区法律予以处理,并由飞致云所在地人民法院管辖。
|
||||
</p>
|
||||
|
||||
<h2>七、其他</h2>
|
||||
<p><strong>7.1</strong> 如果您对本协议及GPLv3条款的理解存在疑问,或不确定您的使用方式是否符合本协议及GPLv3的要求,请务必在采取行动前联系我们。</p>
|
||||
<p><strong>7.2</strong> 如果您希望获得本软件的非开源版本(如专有商业许可),或需要定制开发、技术支持、商标授权等其他权益,也欢迎与我们联系。</p>
|
||||
<p><strong>7.3 联系方式:</strong>可发送电子邮件至 support@fit2cloud.com 或邮寄至: 北京市朝阳区东三环中路7号财富中心写字楼A座501市场部。</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
from django.views.generic import TemplateView
|
||||
from django.utils.translation import get_language
|
||||
from django.conf import settings
|
||||
|
||||
|
||||
__all__ = ['UserAgreementView', 'PrivacyPolicyView']
|
||||
|
||||
@@ -7,10 +9,15 @@ class UserAgreementView(TemplateView):
|
||||
|
||||
def get_template_names(self):
|
||||
current_lang = get_language() or 'zh-cn'
|
||||
lang_code = 'en'
|
||||
if current_lang.startswith('zh'):
|
||||
return 'authentication/user_agreement_zh.html'
|
||||
lang_code = 'zh'
|
||||
|
||||
if settings.XPACK_ENABLED:
|
||||
return 'authentication/user_agreement_ee_{}.html'.format(lang_code)
|
||||
else:
|
||||
return 'authentication/user_agreement.html'
|
||||
return 'authentication/user_agreement_{}.html'.format(lang_code)
|
||||
|
||||
|
||||
|
||||
class PrivacyPolicyView(TemplateView):
|
||||
|
||||
@@ -15,7 +15,7 @@ class CommonConfig(AppConfig):
|
||||
from . import tasks # noqa
|
||||
from .signals import django_ready
|
||||
|
||||
excludes = ['migrate', 'compilemessages', 'makemigrations']
|
||||
excludes = ['migrate', 'compilemessages', 'makemigrations', 'start', 'shell']
|
||||
for i in excludes:
|
||||
if i in sys.argv:
|
||||
return
|
||||
|
||||
@@ -23,7 +23,6 @@ class Services(TextChoices):
|
||||
gunicorn = 'gunicorn', 'gunicorn'
|
||||
celery_ansible = 'celery_ansible', 'celery_ansible'
|
||||
celery_default = 'celery_default', 'celery_default'
|
||||
celery_mix = 'celery_mix', 'celery_mix'
|
||||
beat = 'beat', 'beat'
|
||||
flower = 'flower', 'flower'
|
||||
ws = 'ws', 'ws'
|
||||
@@ -40,7 +39,6 @@ class Services(TextChoices):
|
||||
cls.flower: services.FlowerService,
|
||||
cls.celery_default: services.CeleryDefaultService,
|
||||
cls.celery_ansible: services.CeleryAnsibleService,
|
||||
cls.celery_mix: services.CeleryMixService,
|
||||
cls.beat: services.BeatService,
|
||||
}
|
||||
return services_map.get(name)
|
||||
@@ -55,7 +53,7 @@ class Services(TextChoices):
|
||||
@classmethod
|
||||
def celery_services(cls):
|
||||
if SERVER_SIZE == 'small':
|
||||
return [cls.celery_mix]
|
||||
return [cls.celery_default]
|
||||
else:
|
||||
return [cls.celery_ansible, cls.celery_default]
|
||||
|
||||
@@ -89,10 +87,11 @@ class Services(TextChoices):
|
||||
service_class = cls.get_service_object_class(s.value)
|
||||
if not service_class:
|
||||
continue
|
||||
kwargs.update({
|
||||
service_kwargs = kwargs.get(s.value, {})
|
||||
service_kwargs.update({
|
||||
'name': s.value
|
||||
})
|
||||
service_object = service_class(**kwargs)
|
||||
service_object = service_class(**service_kwargs)
|
||||
service_objects.append(service_object)
|
||||
return service_objects
|
||||
|
||||
@@ -121,14 +120,27 @@ class BaseActionCommand(BaseCommand):
|
||||
parser.add_argument('-w', '--worker', type=int, nargs="?", default=4)
|
||||
parser.add_argument('-f', '--force', nargs="?", const=True)
|
||||
|
||||
def get_services_kwargs(self, options):
|
||||
worker = options.get('worker', 4)
|
||||
default_queue = 'celery'
|
||||
|
||||
if SERVER_SIZE == 'small':
|
||||
worker = 1
|
||||
default_queue = 'celery,ansible'
|
||||
|
||||
return {
|
||||
'gunicorn': {
|
||||
'worker': worker
|
||||
},
|
||||
'celery_default': {
|
||||
'queue': default_queue
|
||||
}
|
||||
}
|
||||
|
||||
def initial_util(self, *args, **options):
|
||||
service_names = options.get('services')
|
||||
worker = options.get('worker')
|
||||
if SERVER_SIZE == 'small':
|
||||
worker = '1'
|
||||
service_kwargs = {
|
||||
'worker_gunicorn': worker
|
||||
}
|
||||
|
||||
service_kwargs = self.get_services_kwargs(options)
|
||||
services = Services.get_service_objects(service_names=service_names, **service_kwargs)
|
||||
|
||||
kwargs = {
|
||||
@@ -147,7 +159,6 @@ class BaseActionCommand(BaseCommand):
|
||||
|
||||
def _handle_start(self):
|
||||
self.util.start_and_watch()
|
||||
os._exit(0)
|
||||
|
||||
def _handle_stop(self):
|
||||
self.util.stop()
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
from .beat import *
|
||||
from .celery_ansible import *
|
||||
from .celery_default import *
|
||||
from .celery_mix import *
|
||||
from .flower import *
|
||||
from .gunicorn import *
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
from django.db.models import query
|
||||
from .celery_base import CeleryBaseService
|
||||
|
||||
__all__ = ['CeleryDefaultService']
|
||||
@@ -5,9 +6,9 @@ __all__ = ['CeleryDefaultService']
|
||||
|
||||
class CeleryDefaultService(CeleryBaseService):
|
||||
|
||||
def __init__(self, **kwargs):
|
||||
kwargs['queue'] = 'celery'
|
||||
super().__init__(**kwargs)
|
||||
def __init__(self, **kwargs):
|
||||
queue = kwargs.pop('queue', 'celery')
|
||||
super().__init__(queue=queue, **kwargs)
|
||||
|
||||
def start_other(self):
|
||||
from terminal.startup import CeleryTerminal
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
from .celery_base import CeleryBaseService
|
||||
|
||||
__all__ = ['CeleryMixService']
|
||||
|
||||
|
||||
class CeleryMixService(CeleryBaseService):
|
||||
|
||||
def __init__(self, **kwargs):
|
||||
kwargs['queue'] = 'celery,ansible'
|
||||
super().__init__(**kwargs)
|
||||
|
||||
def start_other(self):
|
||||
from terminal.startup import CeleryTerminal
|
||||
celery_terminal = CeleryTerminal()
|
||||
celery_terminal.start_heartbeat_thread()
|
||||
|
||||
@@ -7,7 +7,7 @@ __all__ = ['GunicornService']
|
||||
class GunicornService(BaseService):
|
||||
|
||||
def __init__(self, **kwargs):
|
||||
self.worker = kwargs['worker_gunicorn']
|
||||
self.worker = kwargs.get('worker', 2)
|
||||
super().__init__(**kwargs)
|
||||
|
||||
@property
|
||||
|
||||
@@ -9,9 +9,9 @@ class SettingsConfig(AppConfig):
|
||||
def ready(self):
|
||||
from . import signal_handlers # noqa
|
||||
from . import tasks # noqa
|
||||
from .models import init_sqlite_db, register_sqlite_connection
|
||||
try:
|
||||
init_sqlite_db()
|
||||
register_sqlite_connection()
|
||||
except Exception:
|
||||
pass
|
||||
# from .models import init_sqlite_db, register_sqlite_connection
|
||||
# try:
|
||||
# init_sqlite_db()
|
||||
# register_sqlite_connection()
|
||||
# except Exception:
|
||||
# pass
|
||||
|
||||
@@ -5,12 +5,23 @@ from django.db import migrations, connections
|
||||
|
||||
def refresh_pg_collation(apps, schema_editor):
|
||||
for alias, conn in connections.databases.items():
|
||||
if connections[alias].vendor == "postgresql":
|
||||
dbname = connections[alias].settings_dict["NAME"]
|
||||
connections[alias].cursor().execute(
|
||||
f'ALTER DATABASE "{dbname}" REFRESH COLLATION VERSION;'
|
||||
)
|
||||
print(f"Refreshed postgresql collation version for database: {dbname} successfully.")
|
||||
connection = connections[alias]
|
||||
if connection.vendor == "postgresql":
|
||||
# REFRESH COLLATION VERSION is supported on PostgreSQL 15+
|
||||
try:
|
||||
pg_version = getattr(connection, "pg_version", None)
|
||||
except Exception:
|
||||
pg_version = None
|
||||
|
||||
if pg_version and pg_version >= 150000:
|
||||
dbname = connection.settings_dict["NAME"]
|
||||
with connection.cursor() as cursor:
|
||||
cursor.execute(
|
||||
f'ALTER DATABASE "{dbname}" REFRESH COLLATION VERSION;'
|
||||
)
|
||||
print(
|
||||
f"Refreshed postgresql collation version for database: {dbname} successfully."
|
||||
)
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
@@ -1,12 +1,10 @@
|
||||
import json
|
||||
import os
|
||||
import shutil
|
||||
|
||||
from django.conf import settings
|
||||
from django.core.files.base import ContentFile
|
||||
from django.core.files.storage import default_storage
|
||||
from django.core.files.uploadedfile import InMemoryUploadedFile
|
||||
from django.db import models, connections
|
||||
from django.db import models
|
||||
from django.db.utils import ProgrammingError, OperationalError
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
from rest_framework.utils.encoders import JSONEncoder
|
||||
@@ -17,6 +15,7 @@ from common.utils import get_logger
|
||||
from .const import ChatAITypeChoices
|
||||
from .signals import setting_changed
|
||||
|
||||
|
||||
logger = get_logger(__name__)
|
||||
|
||||
|
||||
@@ -212,35 +211,6 @@ def get_chatai_data():
|
||||
return data
|
||||
|
||||
|
||||
def init_sqlite_db():
|
||||
db_path = settings.LEAK_PASSWORD_DB_PATH
|
||||
if not os.path.isfile(db_path):
|
||||
# 这里处理一下历史数据,有可能用户 copy 了旧的文件到 目录下
|
||||
src = os.path.join(settings.PROJECT_DIR, 'data', 'leak_passwords.db')
|
||||
if not os.path.isfile(src):
|
||||
src = os.path.join(
|
||||
settings.APPS_DIR, 'accounts', 'automations',
|
||||
'check_account', 'leak_passwords.db'
|
||||
)
|
||||
os.makedirs(os.path.dirname(db_path), exist_ok=True)
|
||||
shutil.copy(src, db_path)
|
||||
logger.info(f'init sqlite db {db_path}')
|
||||
return db_path
|
||||
|
||||
|
||||
def register_sqlite_connection():
|
||||
connections.databases['sqlite'] = {
|
||||
'ENGINE': 'django.db.backends.sqlite3',
|
||||
'ATOMIC_REQUESTS': False,
|
||||
'NAME': settings.LEAK_PASSWORD_DB_PATH,
|
||||
'TIME_ZONE': None,
|
||||
'CONN_HEALTH_CHECKS': False,
|
||||
'CONN_MAX_AGE': 0,
|
||||
'OPTIONS': {},
|
||||
'AUTOCOMMIT': True,
|
||||
}
|
||||
|
||||
|
||||
class LeakPasswords(models.Model):
|
||||
id = models.AutoField(primary_key=True, verbose_name=_("ID"))
|
||||
password = models.CharField(max_length=1024, verbose_name=_("Password"))
|
||||
|
||||
@@ -1,12 +1,16 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
import json
|
||||
|
||||
from django.conf import LazySettings
|
||||
import os
|
||||
import shutil
|
||||
from django.db import connections
|
||||
from django.conf import LazySettings, settings
|
||||
from django.db.models.signals import post_save
|
||||
from django.db.utils import ProgrammingError, OperationalError
|
||||
from django.dispatch import receiver
|
||||
from django.db.models.signals import post_migrate
|
||||
from django.utils.functional import LazyObject
|
||||
from jumpserver.const import BASE_DIR
|
||||
|
||||
from common.decorators import on_transaction_commit
|
||||
from common.signals import django_ready
|
||||
@@ -75,3 +79,34 @@ def monkey_patch_settings(sender, **kwargs):
|
||||
LazySettings.__getattr__ = monkey_patch_getattr
|
||||
except (ProgrammingError, OperationalError):
|
||||
pass
|
||||
|
||||
|
||||
@receiver(post_migrate, dispatch_uid='settings.signal_handlers.init_sqlite_db')
|
||||
def init_sqlite_db(sender, **kwargs):
|
||||
db_path = settings.LEAK_PASSWORD_DB_PATH
|
||||
if not os.path.isfile(db_path):
|
||||
# 这里处理一下历史数据,有可能用户 copy 了旧的文件到 目录下
|
||||
src = os.path.join(settings.PROJECT_DIR, 'data', 'leak_passwords.db')
|
||||
if not os.path.isfile(src):
|
||||
src = os.path.join(
|
||||
settings.APPS_DIR, 'accounts', 'automations',
|
||||
'check_account', 'leak_passwords.db'
|
||||
)
|
||||
os.makedirs(os.path.dirname(db_path), exist_ok=True)
|
||||
shutil.copy(src, db_path)
|
||||
logger.info(f'init sqlite db {db_path}')
|
||||
return db_path
|
||||
|
||||
|
||||
@receiver(django_ready)
|
||||
def register_sqlite_connection(sender, **kwargs):
|
||||
connections.databases['sqlite'] = {
|
||||
'ENGINE': 'django.db.backends.sqlite3',
|
||||
'ATOMIC_REQUESTS': False,
|
||||
'NAME': settings.LEAK_PASSWORD_DB_PATH,
|
||||
'TIME_ZONE': None,
|
||||
'CONN_HEALTH_CHECKS': False,
|
||||
'CONN_MAX_AGE': 0,
|
||||
'OPTIONS': {},
|
||||
'AUTOCOMMIT': True,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user