Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 5 additions & 15 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
name: Bug report
about: 当软件运行出现错误时,提交报告
title: "[BUG]"
title: "[BUG] "
labels: bug
assignees: ''

Expand All @@ -12,31 +12,21 @@ assignees: ''

**描述问题**

描述问题是在进行了什么操作后出现的。
> 描述问题的现象是什么?

**复现步骤**

> 将以下段落替换成你所发现的bug的复现步骤

1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**预期**

> 简单说说你期望这个问题应该被修改成什么样?
> 怎么让问题再次出现?

**截图**

> 如果你有截图的话可以在此上传,方便问题判断

**平台(必填):**

- 系统: [Android/iOS/Web/Windows/MacOS]
- 系统: [Android/Web/Windows/MacOS]
- 版本: [Release中的版本号(Release-v x.y.z)/Action/Web端]
- 浏览器(如果你在用Web端的话): [chrome/safari/浏览器名称(如果你知道包名也可以填进来)]
- 版本: [Release中的版本号(Release-v x.y.z)/Action中的构建号(Action-数字(不要带井号))/Web端]
- 存储类型: 在软件"关于"页面底部的调试信息展开中的StorageType

**其他你要说明的内容**

Expand Down
18 changes: 18 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request copy.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
name: Help Require
about: 对软件功能(如何使用软件)提问
title: '[HELP] '
labels: help
assignees: ''

---

- [ ] 我已经查找过网络/阅读过相关文档

**问题**

> 你要问些什么?

**其他你要说明的内容**

> 如果有什么额外的想法,请填写在此
14 changes: 5 additions & 9 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,19 @@
---
name: Feature request
about: 提议新的功能
title: ''
title: '[FEATRUE] '
labels: enhancement
assignees: ''

---

**你所提议的新功能是因为使用软件中的困扰吗?若是则说明以下**
**功能**

> 如 我对于 [...] 感到很困惑
> 你想提议一个什么功能?

**描述你期望的解决方案**
**说明**

> 描述下你认为软件应该怎么实现什么?

**描述你认为可行的解决方案(如有)**

> 描述你希望怎么实现这个功能(添加进现有的功能里?设立一个新选项?...)
> 你目前对这个功能有什么设想?

**其他你要说明的内容**

Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
- 复习模块添加了强化学习选项
- 添加了学习中单词自动播放发音的功能
- 复习阶段添加了进度指示
- 新增了用户协议与隐私政策文档

### Improvement

Expand Down
1 change: 0 additions & 1 deletion assets/eggs/s.txt

This file was deleted.

103 changes: 103 additions & 0 deletions assets/help/PrivacyPolicy.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
# 隐私政策(Privacy Policy)

最后更新日期: 2026-06-19

软件名称:Ar学

软件提供方:OctagonalStar (以下简称“我们”)

我们深知隐私对您的重要性。本隐私政策旨在向您清晰、透明地说明,当您使用 Ar学(以下简称“本软件”)时,我们如何处理您的信息。

## 一、我们收集的信息

**我们绝不收集任何您的个人数据。**

本软件设计为本地运行的应用程序,我们未嵌入任何第三方统计分析SDK、未进行任何遥测或崩溃报告自动上传。

您在使用过程中所产生的所有信息,包括但不限于:

- 您学习过的词库词汇及学习进度;
- 您设定的复习计划与时间戳;
- 您自定义添加的本地词库;
- 您的软件设置。

均存储在您的设备本地,我们无法通过互联网访问、读取、备份或传输这些信息。

## 二、第三方收集的数据

为了实现特定功能,您的客户端在您使用相应功能时会与外部的第三方服务器产生数据交互,这可能涉及部分信息的暴露。具体情况如下:

### 在线词库和TTS模型下载(HTTPS)

当您点击下载在线词库或TTS模型时,您的设备将直接请求 GitHub 的服务器。

在此过程中,GitHub 将获取您的**IP 地址、用户代理(User-Agent)、请求的文件名、其他网络元信息等**,用以完成文件传输和基础的安全审计。

我们无法控制 GitHub 对这些日志的使用。

> 请注意:GitHub总部位于美国,其主体受美国法律管辖。
> 注:您通过软件中`本地词库导入`功能导入的词库不受上述影响。

### WebDAV 数据同步(HTTP / HTTPS)

如果您**主动开启并配置**了 WebDAV 同步功能,您的**学习数据(包括词汇记录、复习时间戳)**将通过HTTP或HTTPS协议传输至您自行填写地址的第三方服务器。

**该数据由您直接发送给您的 WebDAV 服务提供商,我们从未经手、暂存或备份您的这些数据。您是该数据的实际控制者,您应当自行评估并承担您所选 WebDAV 服务商的数据安全能力。**

### 局域网联机(WebRTC / STUN)

当您主动发起联机时,为建立 P2P 连接,您的**本地内网 IP 及公网 IP 信息**将通过 STUN 协议发送给第三方 STUN 服务器。本软件默认使用miwifi和Google提供的公共 STUN 服务。

同时,联机进程启动时您若为客端(非房主)设备,软件将获取您设备上的**当前时间**、本软件版本号、本地词库的特征值发送给房主设备,以消除时差影响、版本匹配和筛选共有词库。

联机进程中,您在联机学习界面中的**进度信息**将会**实时**地通过WebRTC协议传递给您的联机对象,以实现双方进度显示的功能。

在联机进程结束后,您在此次联机学习中的**做题正确数、使用时长**会通过WebRTC协议传递给您的联机对象,以计算双方得分。

本软件设计中,联机进程中所使用的数据**仅临时保存在内存中,不持久化,在用户返回主界面后这些内存将被释放**。

**由于网络环境不确定性,我们不对您使用联机功能可靠性担保。**

> `进度信息` 是指当前完成题目的正误列表,包含有您当前完成数量以及正确和错误题目数量

## 三、信息的存储与安全

由于所有数据均在本地,数据的安全性与您的设备安全直接相关。我们建议您:

- 通过软件内数据文件导出功能,定期备份数据文件;
- 确保您的操作系统和设备处于安全状态。

因设备遗失、损坏、系统重装或软件卸载导致的数据丢失,我们无法恢复且不承担赔偿责任。

### 数据位置

Android端:软件数据存储在`/data`目录下,卸载软件将导致数据被完全清除。

Windows端:软件数据存储在 用户主目录的 `Documents\aribic_learning\` 及 `$Roaming_AppData_Directory\com.example.arabic_learning/` 下。

Linux端:软件数据存储在 `$XDG_DATA_HOME/com.example.arabic_learning/` 下。

Web端:软件数据存储在浏览器 `LocalStorage` 或 `IndexDB` 下,清除浏览器数据或网页数据可能导致数据丢失。

## 四、信息的共享与披露

我们不会与任何第三方共享、出售或出租您的任何数据。

## 五、您的权利

您对您的本地数据拥有完全的控制权:

查看与修改:您可在软件中随时查看和修改您的学习数据;
删除:您可通过软件的“清除数据”功能,或直接卸载软件,或手动删除本地存储目录下的文件,来永久删除您的所有数据。

## 六、隐私政策的变更

我们可能适时修订本隐私政策。

如有重大变更,我们将通过软件更新弹窗,并重新征得您的明确同意。

用户协议`七、条款修改`中的规定对此条款同样生效。

## 七、联系我们

如您对本隐私政策有任何疑问,请通过Github Issue联系我们
88 changes: 88 additions & 0 deletions assets/help/TermsOfUse.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
# 用户条款(Terms of Use)

最后更新日期: 2026-06-19

软件名称:Ar学

版权所有:OctagonalStar

请您在使用本软件前仔细阅读以下条款。软件内通过填写用户名并点击同意,即表示您同意接受本条款的约束。

## 一、软件许可证

本软件是自由软件,依据 GNU Affero 通用公共许可证第3版(GNU Affero General Public License, Version 3,以下简称“AGPL-3.0”)授权发布。

根据AGPL-3.0的条款,您享有以下权利:

- 为任何目的运行本软件的自由;
- 研究本软件如何工作并根据您的需求进行修改的自由;
- 复制和分发本软件副本的自由;
- 修改本软件并向公众发布修改版本的自由。

本软件完整源代码的获取方式,以及您作为被许可方的详细权利与义务,请参阅随本软件提供的许可证文件,或访问:<https://www.gnu.org/licenses/agpl-3.0.html>

## 二、使用限制

尽管AGPL-3.0允许您自由使用和分发本软件,但根据AGPL-3.0,您不得进行以下行为:

- 移除、掩盖或修改本软件中包含的任何版权声明、许可证声明或商标标识;
- 将本软件用于任何非法目的,或违反适用法律法规的方式使用本软件;

## 三、用户内容

本软件被设计为本地运行的应用,不会未经您许可通过互联网向许可方或任何第三方主体上传、传输或收集您的任何数据、文件、学习进度或个人身份信息。

您在使用本软件过程中创建、输入或存储的所有内容(如自定义词库等)均仅存储在您的本地设备上。许可方对此类内容不承担任何责任,也不享有任何权利。

仅在隐私政策`二、第三方收集的数据`提及的情形中,软件可能在您明确同意下向第三方(如您设置的WebDav备份地址)提供您的数据。

如您通过其他渠道(如Github Issue)与许可方联系,由此上传数据视为您主动提供给许可方,并受到渠道平台相关条款的制约。

## 四、外部通信

您知悉并同意,为实现特定功能,本软件会在您的本地设备上主动发起对外部服务器的网络请求。
这些通信均由您在软件界面上的主动操作触发,我们不代您进行任何自动化的后台静默上传。
并且我们不会也无法收集您所发起的外部通信内容。

具体第三方通信列表参见隐私政策`二、第三方收集的数据`

所有外部服务的可用性由其各自运营方独立负责。

**出于软件维护和法律要求,我们保留在不影响核心本地功能的前提下,修改、替换或禁用上述外部通信功能的权利。**
如:在GitHub添加、删除或修改在线词库等

> `核心本地功能` 是指软件中所有**不依赖**外部通信即可实现的功能(如本地词汇展示、复习算法、本地词库等)

## 五、免责声明

根据AGPL-3.0,本软件按“现状”(AS IS)提供,不附带任何明示或暗示的担保。

在适用法律允许的最大范围内,许可方不对本软件的适销性、特定用途的适用性、安全性、准确性或无侵权作任何担保。您使用本软件的风险由您自行承担。

许可方不保证本软件无缺陷、无错误、不间断运行,或任何缺陷均可被纠正。

在适用法律允许的最大范围内,**许可方不对因使用或无法使用本软件而产生的任何直接、间接、偶然、特殊、惩罚性或后果性损害承担任何责任**,包括但不限于数据丢失、利润损失、业务中断或个人损失,即使许可方已被告知此类损害的可能性。

## 六、终止

您可以在任何时间卸载本软件以终止本条款。

如果您违反本条款的任何规定,您使用本软件的授权将自动终止。

如果您违反AGPL-3.0的任何规定,您使用本软件的授权与AGPL-3.0的授权将同时自动终止。

## 七、条款修改

许可方保留修改本用户条款和隐私政策的权利。

修改后的用户条款和隐私政策将随软件新版本一同发布,条款修改后需要您明确同意才能生效并授权您使用新版软件。

用户条款和隐私政策与软件版本绑定。即若您不同意修改条款,这不影响许可方对您使用旧版软件的授权。

## 八、完整协议

本条款构成您与许可方之间关于本软件使用的完整协议,取代此前任何所有口头或书面的沟通与协议。

## 九、联系我们

对此条款如有任何疑问,请通过Github Issue联系我们。
19 changes: 2 additions & 17 deletions assets/help/announce.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,21 +6,6 @@

## 声明

由于该软件目前还处在开发阶段,有一些bug是不可避免的。所以在正式使用该软件前你应当阅读并理解以下条款:
在正式使用该软件前你应当阅读并理解《用户协议》和隐私条款。

1. 该软件仅供学习使用,**请勿用于商业用途**。
2. 该软件**不会**对你的阿拉伯语成绩做出任何担保~,若你出现阿拉伯语成绩不理想的情况请先考虑自己的问题 :)~
3. 由于软件在不同系统上运行可能存在兼容性问题,软件出错造成的任何损失(包含精神损伤),软件作者和其他贡献者不会担负任何责任
4. 你知晓并理解如果你错误地使用软件(如使用错误的数据集)造成的任何后果,~乃至二次宇宙大爆炸,~都需要你自行承担
5. 其他在*GNU AFFERO GENERAL PUBLIC LICENSE (Version 3)*开源协议下的条款

## 网页端特别声明

1. 由于网页端的一些限制,该软件**不一定**能按照预期工作
2. 软件使用中所有的数据均保存在浏览器缓存中,不会进行任何用户数据上传。清空网站缓存可导致数据永久丢失
3. 该网页部署于Github Pages,由Github Action自动构建,所以网站会不定期进行热更新,且版本快于发布版
4. 由于(3)的原因,你可以由此更早地体验到新版功能,但也可能遇到新bug,如果遇到了相关的bug请在Github上提交issue
5. 由于Github Pages服务器地区不可控,我**完全不能**保证你是否能正常链接网站
6. **网站展示效果不代表实际app发布版效果**

若你已理解并接受上述条款,请向下翻页,并在底部输入框中填写你的名字,并点击“我没异议”按钮以确认。
若你已理解并接受上述条款,请向下翻页,并在底部输入框中填写你的**用户名**,并点击“我没异议”按钮以确认。
2 changes: 1 addition & 1 deletion lib/funcs/local_pk_server.dart
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ class PKServer with ChangeNotifier{
};
static const Map<String, dynamic> _rtcConfig = {
'iceServers': [
{'urls': 'stun:stun.miwifi.com:3478'},
{'urls': 'stun:stun.l.google.com:19302'},
{'urls': 'stun:stun1.l.google.com:19302'},
]
};
String? exitMessage;
Expand Down
Loading