xmoj-script 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/.config.yml +21 -0
- package/.github/ISSUE_TEMPLATE/bug.yml +30 -0
- package/.github/ISSUE_TEMPLATE/config.yml +5 -0
- package/.github/ISSUE_TEMPLATE/docs.yml +25 -0
- package/.github/ISSUE_TEMPLATE/feature.yml +25 -0
- package/.github/dependabot.yml +12 -0
- package/.github/labeler.yml +12 -0
- package/.github/pull_request_template.md +10 -0
- package/.github/workflows/AutoLabelIssue.yml +24 -0
- package/.github/workflows/AutoLablePR.yml +23 -0
- package/.github/workflows/CodeQL.yml +29 -0
- package/.github/workflows/Daily.yml +23 -0
- package/.github/workflows/DependencyScan.yml +13 -0
- package/.github/workflows/Prerelease.yml +43 -0
- package/.github/workflows/Release.yml +45 -0
- package/.github/workflows/UpdateToRelease.yml +30 -0
- package/.github/workflows/UpdateVersion.yml +26 -0
- package/.gitmodules +3 -0
- package/.vscode/settings.json +148 -0
- package/404.html +362 -0
- package/AddonScript.js +10 -0
- package/CNAME +1 -0
- package/CODE_OF_CONDUCT.md +218 -0
- package/Compare.md +21 -0
- package/Images/1.png +0 -0
- package/Images/10.png +0 -0
- package/Images/11.png +0 -0
- package/Images/12.png +0 -0
- package/Images/13.png +0 -0
- package/Images/14.png +0 -0
- package/Images/15.png +0 -0
- package/Images/16.png +0 -0
- package/Images/17.png +0 -0
- package/Images/2.png +0 -0
- package/Images/3.png +0 -0
- package/Images/4.png +0 -0
- package/Images/5.png +0 -0
- package/Images/6.png +0 -0
- package/Images/7.png +0 -0
- package/Images/8.png +0 -0
- package/Images/9.png +0 -0
- package/LICENSE +674 -0
- package/README.md +86 -0
- package/SECURITY.md +12 -0
- package/Update/AutoLabel.js +179 -0
- package/Update/GetVersion.js +20 -0
- package/Update/UpdateToRelease.js +73 -0
- package/Update/UpdateVersion.js +80 -0
- package/Update/package.json +7 -0
- package/Update.json +702 -0
- package/XMOJ.png +0 -0
- package/XMOJ.user.js +4490 -0
- package/backend/.github/.config.yml +21 -0
- package/backend/.github/ISSUE_TEMPLATE/bug.yml +30 -0
- package/backend/.github/ISSUE_TEMPLATE/config.yml +5 -0
- package/backend/.github/ISSUE_TEMPLATE/feature.yml +25 -0
- package/backend/.github/dependabot.yml +12 -0
- package/backend/.github/labeler.yml +14 -0
- package/backend/LICENSE +661 -0
- package/backend/README.md +3 -0
- package/backend/Source/BBSSpider.js +50 -0
- package/backend/Source/Database.ts +188 -0
- package/backend/Source/Initial.sql +95 -0
- package/backend/Source/Output.ts +14 -0
- package/backend/Source/Process.ts +1227 -0
- package/backend/Source/Result.ts +24 -0
- package/backend/Source/XMOJ-bbs.code-workspace +11 -0
- package/backend/Source/index.ts +31 -0
- package/backend/bun.lockb +0 -0
- package/backend/package.json +19 -0
- package/backend/wrangler.toml +17 -0
- package/eula.md +121 -0
- package/favicon.ico +0 -0
- package/index.html +947 -0
- package/package.json +22 -0
- package/robots.txt +2 -0
- package/sitemap-live/0.xml +26 -0
- package/sitemap.xml +6 -0
@@ -0,0 +1,24 @@
|
|
1
|
+
export class Result {
|
2
|
+
public Success: boolean;
|
3
|
+
public Data: object;
|
4
|
+
public Message: string;
|
5
|
+
constructor(Success: boolean = false, Message: string = "Unknown error", Data: object = {}) {
|
6
|
+
this.Success = Success;
|
7
|
+
this.Message = Message;
|
8
|
+
this.Data = Data;
|
9
|
+
}
|
10
|
+
public toString(): string {
|
11
|
+
return JSON.stringify({
|
12
|
+
Success: this.Success,
|
13
|
+
Data: this.Data,
|
14
|
+
Message: this.Message
|
15
|
+
});
|
16
|
+
}
|
17
|
+
}
|
18
|
+
|
19
|
+
export const ThrowErrorIfFailed = (CurrentResult: Result): Object => {
|
20
|
+
if (CurrentResult.Success === false) {
|
21
|
+
throw CurrentResult;
|
22
|
+
}
|
23
|
+
return CurrentResult.Data;
|
24
|
+
}
|
@@ -0,0 +1,31 @@
|
|
1
|
+
import { Process } from "./Process";
|
2
|
+
import { Database } from "./Database";
|
3
|
+
|
4
|
+
export default {
|
5
|
+
async fetch(RequestData: Request, Environment, Context) {
|
6
|
+
let Processor = new Process(RequestData, Environment);
|
7
|
+
return await Processor.Process();
|
8
|
+
},
|
9
|
+
async scheduled(Event, Environment, Context) {
|
10
|
+
let XMOJDatabase = new Database(Environment.DB);
|
11
|
+
Context.waitUntil(new Promise<void>(async (Resolve) => {
|
12
|
+
await XMOJDatabase.Delete("short_message", {
|
13
|
+
"send_time": {
|
14
|
+
"Operator": "<=",
|
15
|
+
"Value": new Date().getTime() - 1000 * 60 * 60 * 24 * 14
|
16
|
+
},
|
17
|
+
"is_read": {
|
18
|
+
"Operator": "=",
|
19
|
+
"Value": 1
|
20
|
+
}
|
21
|
+
});
|
22
|
+
await XMOJDatabase.Delete("phpsessid", {
|
23
|
+
"create_time": {
|
24
|
+
"Operator": "<=",
|
25
|
+
"Value": new Date().getTime() - 1000 * 60 * 60 * 24 * 7
|
26
|
+
}
|
27
|
+
});
|
28
|
+
Resolve();
|
29
|
+
}));
|
30
|
+
},
|
31
|
+
};
|
Binary file
|
@@ -0,0 +1,19 @@
|
|
1
|
+
{
|
2
|
+
"name": "xmoj-bbs",
|
3
|
+
"version": "1.1.0",
|
4
|
+
"private": false,
|
5
|
+
"scripts": {
|
6
|
+
"deploy": "wrangler deploy",
|
7
|
+
"start": "wrangler dev"
|
8
|
+
},
|
9
|
+
"devDependencies": {
|
10
|
+
"@cloudflare/workers-types": "^4.20230914.0",
|
11
|
+
"typescript": "^5.2.2",
|
12
|
+
"wrangler": "^3.8.0"
|
13
|
+
},
|
14
|
+
"dependencies": {
|
15
|
+
"cheerio": "^1.0.0-rc.12",
|
16
|
+
"crypto-js": "^4.1.1",
|
17
|
+
"sqlstring": "^2.3.3"
|
18
|
+
}
|
19
|
+
}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
name = "xmoj-bbs"
|
2
|
+
main = "Source/index.ts"
|
3
|
+
compatibility_date = "2023-09-17"
|
4
|
+
|
5
|
+
[[d1_databases]]
|
6
|
+
binding = "DB"
|
7
|
+
database_name = "xmoj-bbs"
|
8
|
+
database_id = "f6607070-7f3b-4a9b-95a2-40ff67283362"
|
9
|
+
|
10
|
+
[triggers]
|
11
|
+
crons = ["0 0 * * *"]
|
12
|
+
|
13
|
+
[placement]
|
14
|
+
mode = "smart"
|
15
|
+
|
16
|
+
[[analytics_engine_datasets]]
|
17
|
+
binding = "logdb"
|
package/eula.md
ADDED
@@ -0,0 +1,121 @@
|
|
1
|
+
### XMOJ讨论区用户服务协议
|
2
|
+
|
3
|
+
欢迎阅读《XMOJ讨论区用户服务协议》(以下简称“本协议”)。本协议阐述之条款和条件适用于您(以下简称“用户”)使用XMOJ讨论区的各种产品和服务。
|
4
|
+
|
5
|
+
#### 1. 服务协议的确认
|
6
|
+
|
7
|
+
1.1 XMOJ增强脚本开发组同意按照本协议的规定及其不时发布的操作规则提供基于互联网移动网的XMOJ讨论区、XMOJ增强脚本开发组官方网站(https://xmoj-bbs.tech )等相关服务(以下简称“XMOJ增强脚本开发组服务”)。
|
8
|
+
|
9
|
+
1.2 XMOJ增强脚本开发组服务使用人(以下简称“用户”)应当基于了解本协议全部内容、在独立思考的基础上认可、同意本协议的全部条款并按照页面上的提示完成全部的注册程序,用户的注册、登录、使用等行为将视为完全接受本协议及XMOJ增强脚本开发组公示的各项规则、规范。
|
10
|
+
|
11
|
+
1.3 XMOJ增强脚本开发组享有对XMOJ增强脚本开发组XMOJ讨论区、XMOJ增强脚本开发组官方网站上一切活动的监督、提示、检查、纠正等权利。
|
12
|
+
|
13
|
+
#### 2. 服务内容
|
14
|
+
|
15
|
+
2.1 XMOJ增强脚本开发组服务的具体内容由XMOJ增强脚本开发组根据实际情况提供,包括但不限于授权用户通过其帐号上传、搜索并向互相关联的用户推送相关信息、授权用户对其进行收录、分享等,XMOJ增强脚本开发组有权对其提供的服务或产品形态进行升级或其他调整,均以XMOJ讨论区网站内容更新的方式通知用户,不单独通知用户。
|
16
|
+
|
17
|
+
2.2 XMOJ增强脚本开发组提供的XMOJ增强脚本开发组服务中可能包括广告,用户同意在使用过程中显示XMOJ增强脚本开发组和第三方供应商、合作伙伴提供的广告。
|
18
|
+
|
19
|
+
2.3 XMOJ增强脚本开发组仅提供与XMOJ增强脚本开发组服务相关的技术服务等,除此之外与相关网络服务有关的设备(如个人电脑、手机、及其他与接入互联网或移动网有关的装置)及所需费用(如为接入互联网而支付的电话费及上网费、为使用移动网而支付的手机费)均应由用户自行负担。
|
20
|
+
|
21
|
+
#### 3. 服务变更、中断或终止
|
22
|
+
|
23
|
+
3.1 鉴于网络服务的特殊性(包括但不限于不可抗力、网络稳定性、系统稳定性、技术故障、用户所在位置、用户关机、用户手机病毒或恶意的网络攻击行为及其他任何技术、互联网络、通信线路、内容侵权等原因),用户同意,XMOJ增强脚本开发组有权随时中断或终止部分或全部XMOJ增强脚本开发组服务,XMOJ增强脚本开发组将尽可能及时以合理方式通知用户,并尽可能在第一时间对此进行修复。但对因此导致用户不能发送和接受阅读信息、或接发错信息,XMOJ增强脚本开发组不承担任何责任,用户须承担以上风险。
|
24
|
+
|
25
|
+
3.2 用户理解,XMOJ增强脚本开发组需要定期或不定期地对提供XMOJ增强脚本开发组服务的平台或相关设备进行检修和维护,如因此类情况而造成服务在合理期间内的中断,XMOJ增强脚本开发组将尽可能事先通知,但无需为此承担任何责任。
|
26
|
+
|
27
|
+
3.3 用户提供的个人资料不真实、用户违反法律法规国家政策或本协议规定的使用规则,XMOJ增强脚本开发组有权随时中断或终止向用户提供本协议项下的XMOJ增强脚本开发组服务,而无需对用户或任何第三方承担任何责任。
|
28
|
+
|
29
|
+
#### 4. 使用规则
|
30
|
+
|
31
|
+
4.1 用户在申请注册XMOJ增强脚本开发组服务时,必须向XMOJ增强脚本开发组提供准确的主体资料(用户为个人时,包括姓名、性别、出生年月、电话、邮箱等;用户为单位时,包括名称、注册地址、注册号等),如主体资料有任何变动,必须及时更新。因用户提供资料的真实性问题导致协议双方或第三方的任何损失均由用户承担。
|
32
|
+
|
33
|
+
4.2 用户注册成功后,将获得一个XMOJ增强脚本开发组帐号及由用户设置的密码,该用户帐号和密码由用户负责保管;用户应当对该用户帐号所有行为负相关法律责任。
|
34
|
+
|
35
|
+
用户在使用XMOJ增强脚本开发组服务过程中,必须遵循以下原则:
|
36
|
+
|
37
|
+
(1) 遵守中国有关的法律和法规;
|
38
|
+
|
39
|
+
(2) 不得为任何非法目的而使用XMOJ增强脚本开发组服务;
|
40
|
+
|
41
|
+
(3) 遵守所有与网络服务有关的网络协议、规定和程序;
|
42
|
+
|
43
|
+
(4) 不得利用XMOJ增强脚本开发组服务系统进行任何可能对互联网的正常运转造成不利影响的行为;
|
44
|
+
|
45
|
+
(5) 不得利用XMOJ增强脚本开发组网络服务系统进行任何不利于XMOJ增强脚本开发组的行为。
|
46
|
+
|
47
|
+
4.3 用户不得使用XMOJ增强脚本开发组服务制作、上传、发送、传播敏感信息和违反国家法律制度的信息,包括但不限于下列信息:
|
48
|
+
|
49
|
+
(1) 反对宪法所确定的基本原则的;
|
50
|
+
|
51
|
+
(2) 危害国家安全,泄露国家秘密,颠覆国家政权,破坏国家统一的;
|
52
|
+
|
53
|
+
(3) 损害国家荣誉和利益的;
|
54
|
+
|
55
|
+
(4) 煽动民族仇恨、民族歧视,破坏民族团结的;
|
56
|
+
|
57
|
+
(5) 破坏国家宗教政策,宣扬邪教和封建迷信的;
|
58
|
+
|
59
|
+
(6) 散布谣言,扰乱社会秩序,破坏社会稳定的;
|
60
|
+
|
61
|
+
(7) 散布淫秽、色情、赌博、暴力、凶杀、恐怖或者教唆犯罪的;
|
62
|
+
|
63
|
+
(8) 侮辱或者诽谤他人,侵害他人合法权益的;
|
64
|
+
|
65
|
+
(9) 含有法律、行政法规禁止的其他内容的。
|
66
|
+
|
67
|
+
4.4 用户同意在任何情况下不使用其他用户的帐号或密码。在您怀疑他人在使用您的帐号或密码时,您同意立即通知XMOJ增强脚本开发组。
|
68
|
+
|
69
|
+
4.5 用户有权更改、删除在XMOJ增强脚本开发组服务中的个人资料、注册信息及传送内容等,但删除有关信息的同时也会删除任何您储存在系统中的文字和图片。用户需承担该风险。
|
70
|
+
|
71
|
+
4.6 如因用户违反本协议中的任何条款,XMOJ增强脚本开发组有权依据本协议终止对违约用户XMOJ增强脚本开发组帐号提供服务。
|
72
|
+
|
73
|
+
4.7 如用户注册XMOJ增强脚本开发组帐号后长期不登录该帐号,XMOJ增强脚本开发组有权回收该帐号,以免造成资源浪费,由此带来问题均由用户自行承担。
|
74
|
+
|
75
|
+
#### 5. 知识产权
|
76
|
+
|
77
|
+
5.1 XMOJ增强脚本开发组提供XMOJ增强脚本开发组服务中所包含的任何文本、图片、标识、音频、视频资料均受著作权、商标权、专利权及其他财产权法律的保护。 用户同意遵守XMOJ增强脚本使用的GPL-v3协议。
|
78
|
+
|
79
|
+
5.2 未经相关权利人和XMOJ增强脚本开发组的同意,上述资料均不得以任何方式被展示于其他任何第三方平台或被用于其他任何商业目的;用户不得擅自复制、修改、编纂上述内容、或创造与内容有关的衍生产品。
|
80
|
+
|
81
|
+
#### 6. 隐私保护
|
82
|
+
|
83
|
+
6.1 本协议所指的“隐私”包括《电信和互联网用户个人信息保护规定》第4条规定的用户个人信息的内容以及未来不时制定或修订的法律法规中明确规定的隐私应包括的内容。
|
84
|
+
|
85
|
+
6.2 保护用户隐私和个人数据是XMOJ增强脚本开发组的一项基本制度,XMOJ增强脚本开发组将采取各种制度、安全技术和程序等措施来保护用户隐私和个人数据不被未经授权的访问、使用或泄漏,并保证不会将单个用户的注册资料及用户在使用XMOJ增强脚本开发组服务时存储在XMOJ增强脚本开发组的非公开内容向除合作单位以外的第三方公开或用于任何非法的用途,但下列情况除外:
|
86
|
+
|
87
|
+
(1) 事先获得用户的明确授权;
|
88
|
+
|
89
|
+
(2) 根据有关法律法规的要求;
|
90
|
+
|
91
|
+
(3) 按照相关政府主管部门的要求;
|
92
|
+
|
93
|
+
(4) 为维护社会公众的利益;
|
94
|
+
|
95
|
+
(5) 用户侵害本协议项下XMOJ增强脚本开发组的合法权益的情况下而为维护XMOJ增强脚本开发组的合法权益所必须。
|
96
|
+
|
97
|
+
6.3 用户在注册XMOJ增强脚本开发组XMOJ讨论区帐号或使用XMOJ增强脚本开发组XMOJ讨论区服务的过程中,需要提供一些必要的信息,例如:姓名、电话、邮箱、性别、出生年月、名称、注册地址、注册号等。为向用户提供帐号注册服务或进行用户身份识别,需要用户填写手机号码;部分功能需要用户授权使用用户的相机或相册;部分功能需要用户授权访问用户的手机通讯录等。若用户不授权或提供的信息不完整,则无法使用本服务或在使用过程中受到限制。用户授权提供的信息,XMOJ增强脚本开发组承诺将采取措施保护用户的个人信息安全。用户同意服务器储存其`phpsessid`的哈希值。
|
98
|
+
|
99
|
+
6.4 为了向用户提供更好的用户体验和提高XMOJ增强脚本开发组XMOJ讨论区的服务质量,XMOJ增强脚本开发组将可能会收集使用或向第三方提供用户的非个人隐私信息。XMOJ增强脚本开发组将对该第三方使用用户个人数据的行为进行监督和管理,尽一切可能努力保护用户个人信息的安全。
|
100
|
+
|
101
|
+
#### 7. 免责声明
|
102
|
+
|
103
|
+
7.1 用户在使用XMOJ增强脚本开发组服务的过程中应遵守国家法律法规及政策规定,对其所制作、上传、发送、传播的信息和内容承担任何法律责任,与XMOJ增强脚本开发组无关。
|
104
|
+
|
105
|
+
7.2 XMOJ增强脚本开发组XMOJ讨论区在其页面上向用户显示、推送的任何信息和内容如系XMOJ增强脚本开发组利用技术手段根据用户指令从互联网任何第三方网站搜索、定位、匹配后推荐给用户而非XMOJ增强脚本开发组单方制作的,则该显示、推送的信息和内容并不代表XMOJ增强脚本开发组及XMOJ增强脚本开发组XMOJ讨论区的观点,XMOJ增强脚本开发组并不对上述信息的准确性和正确性负责。
|
106
|
+
|
107
|
+
7.3XMOJ增强脚本开发组提供XMOJ增强脚本开发组XMOJ讨论区服务中所包含的任何文本、图片、标识、音频、视频资料均为教学用途,不涉及任何实体物品的商业活动。
|
108
|
+
|
109
|
+
7.4XMOJ增强脚本开发组XMOJ讨论区在其页面上向用户显示、推送的任何信息和内容如存在侵权任何第三方知识产权的嫌疑,权利人和相关利害关系人应当向XMOJ增强脚本开发组发出权利通知,XMOJ增强脚本开发组经过核实后根据有关法律法规有权采取包括但不限于断开该侵权内容的链接或删除并停止传输该侵权内容,但XMOJ增强脚本开发组并不对该侵权内容承担法律责任。
|
110
|
+
|
111
|
+
7.5用户违反本协议的规定,导致或产生的任何第三方主张的任何索赔、要求或损失,包括合理的律师费,用户同意赔偿XMOJ增强脚本开发组,使之免受损害。
|
112
|
+
|
113
|
+
#### 8. 其他条款
|
114
|
+
|
115
|
+
8.1 XMOJ增强脚本开发组有权随时修改本协议的任何条款,一旦本协议的内容发生变动,XMOJ增强脚本开发组将会在XMOJ增强脚本开发组XMOJ讨论区平台中公布修改后的协议内容或通过其他适当方式向用户公布修改内容。用户不同意上述修改内容,有权选择停止使用XMOJ增强脚本开发组服务,但用户继续使用,则视为接受XMOJ增强脚本开发组对本协议相关条款的修改。
|
116
|
+
|
117
|
+
8.2 本《协议》所定的任何条款无论因何种原因部分或全部无效或不具有执行力,本协议的其余条款仍应有效并具备约束力。
|
118
|
+
|
119
|
+
8.3 本协议的订立、执行和解释及纠纷的解决均应适用中华人民共和国法律并受中华人民共和国法院管辖。如双方就本协议内容或执行发生任何纠纷或争议,首先应友好协商解决,协商不成的,任何一方均可向XMOJ增强脚本开发组所在地的有管辖权的人民法院提起诉讼。
|
120
|
+
|
121
|
+
8.4 本协议的版权归XMOJ增强脚本开发组所有,本协议各项条款内容的最终解释权及修改权归XMOJ增强脚本开发组所有。
|
package/favicon.ico
ADDED
Binary file
|