Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

概述

本项目为Wikidot的封装API,能够绕过Wikidot的CSRF限制仅需提供账户密码即可执行对网站的远程操作,可用于机器人账户等。API提供token鉴权、速率限制和操作日志功能。

Wikit API

所有公开API的调用路径格式为:

https://wikit.unitreaty.org/wikidot/{模块名}

例如:https://wikit.unitreaty.org/wikidot/savepage

公共参数(所有接口必传):

参数 说明
token Wikit 平台分配的 API Token
wiki 站点名(不含 .wikidot.com)
username Wikidot 账号用户名
password Wikidot 账号密码

公共响应格式:

{"status": "success"}
{"status": "error", "message": "错误原因"}

1. savepage.php — 保存页面

保存或编辑 wiki 页面内容。

参数 必填 说明
page 页面 unix 名(如 main:start
title 页面标题
source 页面 Wikidot 源代码
comments 编辑备注
curl -X POST https://your-domain/savepage.php \
  -d "token=xxx&wiki=mysite&username=user&password=pass" \
  -d "page=test-page&title=测试页面&source=这是内容"

2. member-admin.php — 成员管理(移除/封禁)

移除或封禁站点成员。

参数 必填 说明
member 目标用户名
action removeban
reason ban时必填 封禁原因
curl -X POST https://your-domain/member-admin.php \
  -d "token=xxx&wiki=mysite&username=user&password=pass" \
  -d "member=baduser&action=ban&reason=违规操作"

3. forum-post.php — 论坛帖子操作

论坛发帖、回帖、编辑、删除、锁定、置顶、移动。

参数 必填 说明
event 操作类型(见下方)
category_id newThread时 论坛分类 ID
thread_id 大部分操作 帖子线程 ID
post_id editPost/deletePost 帖子 ID
parent_id newPost可选 回复的父帖 ID
title 发帖/回帖/编辑 标题
source 发帖/回帖/编辑 内容源代码
description newThread可选 帖子描述
target_category_id moveThread 目标分类 ID
sticky stickyThread可选 true/false

event 可选值: newThread newPost editPost deletePost lockThread unlockThread stickyThread moveThread editThreadMeta

curl -X POST https://your-domain/forum-post.php \
  -d "token=xxx&wiki=mysite&username=user&password=pass" \
  -d "event=newThread&category_id=1&title=新帖标题&source=帖子内容"

4. page-rate.php — 页面评分

对页面进行评分或取消评分。

参数 必填 说明
event ratePagecancelVote
page_id 页面 ID
points ratePage时 分值(如 1-1
curl -X POST https://your-domain/page-rate.php \
  -d "token=xxx&wiki=mysite&username=user&password=pass" \
  -d "event=ratePage&page_id=123&points=1"

5. page-tags.php — 页面标签

保存页面标签(空格分隔多个标签)。

参数 必填 说明
page_id 页面 ID
tags 标签字符串(空格分隔)
curl -X POST https://your-domain/page-tags.php \
  -d "token=xxx&wiki=mysite&username=user&password=pass" \
  -d "page_id=123&tags=scp 安全 euclid"

6. rename-page.php — 页面重命名/删除

重命名页面或删除页面。

参数 必填 说明
event renamedelete
page_id 页面 ID
new_name rename时 新的 unix 名
curl -X POST https://your-domain/rename-page.php \
  -d "token=xxx&wiki=mysite&username=user&password=pass" \
  -d "event=rename&page_id=123&new_name=new-page-name"

7. page-action.php — 页面操作(锁定/父页面/回滚)

页面锁定、解锁、设置父页面、版本回滚。

参数 必填 说明
event 操作类型
page_id 页面 ID
mode lock可选 锁定模式,默认 page
parent_name setParentPage时 父页面 unix 名
revision_id revert时 要回滚到的版本 ID

event 可选值: lock unlock setParentPage revert

curl -X POST https://your-domain/page-action.php \
  -d "token=xxx&wiki=mysite&username=user&password=pass" \
  -d "event=lock&page_id=123"

8. pm-send.php — 发送私信

向指定用户发送私信。

参数 必填 说明
to_user_id 目标用户 ID
subject 私信标题
source 私信内容(Wikidot格式)
curl -X POST https://your-domain/pm-send.php \
  -d "token=xxx&wiki=mysite&username=user&password=pass" \
  -d "to_user_id=456&subject=你好&source=这是私信内容"

9. membership-apply.php — 成员权限管理

处理加入申请、添加成员、设置管理员/版主。

参数 必填 说明
event 操作类型
user_id 有user_id或member 目标用户 ID
member 有user_id或member 目标用户名(自动查ID)
permissions setModerator可选 版主权限字符串

event 可选值: acceptApplication declineApplication addMember setModerator removeModerator setAdmin removeAdmin

curl -X POST https://your-domain/membership-apply.php \
  -d "token=xxx&wiki=mysite&username=user&password=pass" \
  -d "event=acceptApplication&member=newuser"

10. file-manager.php — 文件管理

文件重命名、删除、移动。

参数 必填 说明
event renameFile deleteFile moveFile
file_id 文件 ID
page_id rename/delete时 所属页面 ID
new_name renameFile时 新文件名
destination_page_id moveFile时 目标页面 ID
curl -X POST https://your-domain/file-manager.php \
  -d "token=xxx&wiki=mysite&username=user&password=pass" \
  -d "event=deleteFile&page_id=123&file_id=456"

11. site-settings.php — 站点设置

修改站点基本信息、权限、导航、外观、隐私设置。

参数 必填 说明
event 操作类型
name saveGeneral时 站点名
subtitle saveGeneral时 副标题
description saveGeneral时 描述
tags saveGeneral可选 站点标签
permissions savePermissions时 权限 JSON
top_bar saveNavigation时 顶栏源代码
side_bar saveNavigation时 侧栏源代码
theme_id saveAppearance时 主题 ID
custom_css saveAppearance可选 自定义 CSS
private savePrivateSettings时 true/false
landing_page savePrivateSettings可选 登录页

event 可选值: saveGeneral savePermissions saveNavigation saveAppearance deleteSite savePrivateSettings

curl -X POST https://your-domain/site-settings.php \
  -d "token=xxx&wiki=mysite&username=user&password=pass" \
  -d "event=saveGeneral&name=MySite&subtitle=副标题&description=简介"

12. site-block.php — IP/用户封禁

IP 封禁、解封,用户解封。

参数 必填 说明
event blockIp unblockIp unblockUser
ip blockIp/unblockIp时 目标 IP 地址
user_id unblockUser时 用户 ID
curl -X POST https://your-domain/site-block.php \
  -d "token=xxx&wiki=mysite&username=user&password=pass" \
  -d "event=blockIp&ip=1.2.3.4"

13. invite-member.php — 邀请成员

通过邮件或用户 ID 邀请加入站点。

参数 必填 说明
event inviteByEmailinviteByUser
email inviteByEmail时 邮箱地址
user_id inviteByUser时 用户 ID
message 邀请附言
curl -X POST https://your-domain/invite-member.php \
  -d "token=xxx&wiki=mysite&username=user&password=pass" \
  -d "event=inviteByEmail&email=someone@example.com&message=欢迎加入"

14. report-abuse.php — 举报

举报页面、用户或匿名用户。

参数 必填 说明
event flagPage flagUser flagAnonymous
page_id flagPage时 页面 ID
path flagPage时 页面路径
target_user_id flagUser时 目标用户 ID
target_ip flagAnonymous时 目标 IP
curl -X POST https://your-domain/report-abuse.php \
  -d "token=xxx&wiki=mysite&username=user&password=pass" \
  -d "event=flagUser&target_user_id=789"

15. account-action.php — 账户操作

联系人管理、资料修改、监视页面/帖子。

参数 必填 说明
event 操作类型
target_user_id 联系人操作时 目标用户 ID
real_name saveProfile可选 真实姓名
about saveProfile可选 个人简介
website saveProfile可选 网站
new_name changeScreenName时 新显示名
page_id watchPage/unwatchPage时 页面 ID
thread_id watchThread/unwatchThread时 帖子 ID
category_id watchForum时 论坛分类 ID

event 可选值: addContact removeContact saveProfile changeScreenName watchPage unwatchPage watchThread unwatchThread watchForum

curl -X POST https://your-domain/account-action.php \
  -d "token=xxx&wiki=mysite&username=user&password=pass" \
  -d "event=watchPage&page_id=123"

16. email-list.php — 邮件列表

创建/删除邮件列表,群发邮件。

参数 必填 说明
event createList deleteList sendEmail
name createList时 列表名称
description createList可选 列表描述
list_id deleteList/sendEmail时 列表 ID
subject sendEmail时 邮件标题
body sendEmail时 邮件正文
curl -X POST https://your-domain/email-list.php \
  -d "token=xxx&wiki=mysite&username=user&password=pass" \
  -d "event=sendEmail&list_id=1&subject=公告&body=内容"

17. forum-category.php — 论坛分类管理

论坛布局保存、设置和权限配置。

参数 必填 说明
event saveLayout saveSettings savePermissions
layout saveLayout时 论坛布局 JSON
per_page_discussion saveSettings可选 true/false
permissions savePermissions时 权限 JSON
curl -X POST https://your-domain/forum-category.php \
  -d "token=xxx&wiki=mysite&username=user&password=pass" \
  -d "event=saveSettings&per_page_discussion=true"

部署说明

  1. 将全体文件部署到 Web 服务器(Nginx/Apache)
  2. 确保 auth.py 在 Python 路径中可导入
  3. 配置 token 系统:创建 admin/token.jsonadmin/token_usage.json
  4. 确保日志目录存在且有写入权限

token.json 格式:

{
  "your-token-here": {
    "status": "active",
    "limit_type": "hour",
    "limit_value": 100
  }
}

limit_type 可选值: minute hour day

About

Bypass CSRF restrictions to perform action requests on the Wikidot website using only account credentials.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages