应用截图
详细介绍
一款方便使用东京工业大学信息技术设施并改善用户体验的 Chrome 扩展程序。
# T2Auth
一款方便使用东京工业大学信息技术设施并改善用户体验的 Chrome 扩展程序。
目前仅支持自动登录和生成课程日历。
## 使用方法
### 选项
你可以从左侧导航栏选择页面。
在任何页面上也可以通过 JSON 文件导入和导出选项。
#### 选项页面
* `Language`:目前支持英语、日语和简体中文。
* `Auto Login`:勾选后,打开门户页面时扩展程序会自动登录。
* `Periods`:各课时的时间段。可以在官方网站和 Educational Web System 系统上找到课程时间表。
#### 账户信息页面
账户、密码和矩阵认证码在选项页面中配置。
右键点击扩展程序图标即可打开选项页面。
### 登录
打开 [Portal](https://portal.nap.gsic.titech.ac.jp) 页面后,如果勾选了 `Auto Login`,扩展程序就会自动开始登录。否则,需要手动点击 Matrix Code Authentication 按钮,按钮下方会显示提示,表明扩展程序已准备就绪。
如果有任何信息错误,会弹出警告对话框。
### 生成日历
可用时会出现一个标有 `Generate Calendar` 的按钮。
* 打开 OCW 课程详情页面后,按钮会出现在课程标题下方的右侧。
* 打开 Educational Web System 的课程注册页面后,按钮会出现在 `Print` 按钮上方。
点击按钮后,可以在弹出的窗口中设置所有学季的时间区间,并选择要排除的日期。
点击窗口底部的 `Generate iCalendar File`,便会生成一个链接。
生成的文件为 iCalendar 格式,扩展名为 `.ics`。它可以导入 Google Calendar 等常见日历管理软件。
## 安全性
* 所有存储的私人信息均使用 AES-256 加密,密钥和初始向量由用户的电子邮箱地址和识别代码生成。如果没有用户登录 Chrome,则会使用默认密钥和初始向量加密和解密数据。
* 这意味着:
* 如果用户状态发生变化(例如退出登录或切换账户),存储在本地的数据将无法再使用。
* 如果你的**电子邮箱和识别代码同时泄露**,任何拥有此扩展程序源代码的人都可能解密这些数据。
* 更多详情请参阅 <https://developer.chrome.com/docs/extensions/reference/identity/#method-getProfileUserInfo>。
* 此扩展程序在运行期间不会直接发起 HTTP 请求。
* 这意味着不会主动向任何服务器(包括我个人的服务器)发送信息。
* 你可以在选项页面以**明文**导出和导入信息。请将这些信息存放在安全、可信的位置。
### 免责声明
使用此扩展程序即表示你同意:**此扩展程序的开发者不对任何隐私泄露负责**。
## 开发
本项目使用:
* [Vite](https://vitejs.dev/) 和 [CRXJS](https://crxjs.dev/) 进行打包
* [Mithril.js](https://mithril.js.org/) 进行前端渲染
* md5.js 和 [CryptoJS](https://github.com/brix/crypto-js) 进行加密和解密
* [ical.js](https://github.com/kewisch/ical.js) 生成日历
* [day.js](https://day.js.org/) 表示不可变的日期时间
* [i18next](https://www.i18next.com/) 实现国际化
* [Pure CSS](https://purecss.io/) 显示用户界面。
如果想在自己的环境中构建和调试,请遵循[此说明](https://crxjs.dev/vite-plugin/concepts/pages)。