mirror of
https://github.com/jie65535/gc-openchat-plugin.git
synced 2025-06-01 17:29:11 +08:00
Implement sensitive word filter
This commit is contained in:
parent
2a696b4854
commit
61b9be9888
25
README.md
25
README.md
@ -63,10 +63,20 @@
|
|||||||
|
|
||||||
### 群服互联参考流程
|
### 群服互联参考流程
|
||||||
1. 装好插件启动后,记录下首次生成的 `Token`,或者自己填写一个 `Token`
|
1. 装好插件启动后,记录下首次生成的 `Token`,或者自己填写一个 `Token`
|
||||||
2. 下载 [go-cqhttp](https://github.com/Mrs4s/go-cqhttp) 并初始化配置
|
2. 下载 [go-cqhttp](https://github.com/Mrs4s/go-cqhttp) 并初始化配置,打开配置文件 `config.yml`
|
||||||
3. 在 `access-token: ''` 填写前面所述的 `Token` 内容
|
3. 在 `access-token: ''` 填写前面所述的 `Token` 内容
|
||||||
4. 在 `ws-reverse` 选项下的 `universal` 填写GC的服务器地址加路径,例如 `ws://127.0.0.1:443/openchat`
|
4. 在 `ws-reverse` 选项下的 `universal` 填写GC的服务器地址加路径,例如 `ws://127.0.0.1:443/openchat`
|
||||||
5. 配置你的Bot账号和登录协议,建议使用 `Android Watch` 登录。具体参考文档 [配置](https://docs.go-cqhttp.org/guide/config.html)。
|
5. 配置你的Bot账号和登录协议,建议使用 `Android Watch` 登录。具体参考文档 [配置](https://docs.go-cqhttp.org/guide/config.html)。(在 `device.json` 中 `"protocol": 5` 修改为 `"protocol": 2` )
|
||||||
|
6. 在GC中使用 `/sc group <groupId>` 来设置要互联的群聊
|
||||||
|
7. 在GC中使用 `/sc op <userId(QQ)>` 来设置管理员账号
|
||||||
|
8. 现在,理论上已经完成了群服互联,在群里可以看到玩家上下线和聊天,同时玩家也可以在游戏里看到群里聊天,
|
||||||
|
你还可以在群里用默认前缀 `/` 来执行命令,
|
||||||
|
但是暂时**不会**回复结果,你可能需要自己看控制台来查看执行结果。
|
||||||
|
|
||||||
|
|
||||||
|
_值得注意的是,本插件支持的是 [OneBot-v11](https://github.com/botuniverse/onebot-11) 协议,理论上所有支持OneBot-v11 [反向WebSocket](https://github.com/botuniverse/onebot-11/blob/master/communication/ws-reverse.md) 的机器人框架都可以连接,不仅限于cqhttp。_
|
||||||
|
|
||||||
|
_TODO: 计划会出一个极简的纯对话协议,比OneBot更简单,方便第三方对接。_
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@ -194,3 +204,14 @@
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
# 敏感词过滤系统
|
||||||
|
目前实现了一个最基础的敏感词过滤功能, 并附带了一个精简的敏感词库,
|
||||||
|
在首次启动时会把词库释放到插件数据目录下。
|
||||||
|
|
||||||
|
文件名叫 `SensitiveWordList.txt`,每行包含一个敏感词,你可以自己维护这个文件,修改后可以用 `/sc reload` 重新读取。
|
||||||
|
|
||||||
|
当检测到游戏内玩家聊天中包含敏感词,将不会进行转发,并且会在控制台中打印。
|
||||||
|
|
||||||
|
目前暂未设定惩罚机制,仅仅只是发出去别人看不到,自己不知道这个没发出去。
|
||||||
|
|
||||||
|
如果你有更好的建议,欢迎[提交 issue](https://github.com/jie65535/gc-openchat-plugin/issues/new)
|
@ -19,16 +19,17 @@ package com.github.jie65535.openchat;
|
|||||||
|
|
||||||
import com.github.jie65535.openchat.commands.ChatPlayerCommands;
|
import com.github.jie65535.openchat.commands.ChatPlayerCommands;
|
||||||
import com.github.jie65535.openchat.commands.ChatServerCommands;
|
import com.github.jie65535.openchat.commands.ChatServerCommands;
|
||||||
|
import com.github.jie65535.openchat.utils.SensitiveWordFilter;
|
||||||
import emu.grasscutter.plugin.Plugin;
|
import emu.grasscutter.plugin.Plugin;
|
||||||
import emu.grasscutter.server.event.EventHandler;
|
import emu.grasscutter.server.event.EventHandler;
|
||||||
import emu.grasscutter.server.event.HandlerPriority;
|
import emu.grasscutter.server.event.HandlerPriority;
|
||||||
import emu.grasscutter.server.event.player.PlayerJoinEvent;
|
import emu.grasscutter.server.event.player.PlayerJoinEvent;
|
||||||
import emu.grasscutter.utils.JsonUtils;
|
import emu.grasscutter.utils.JsonUtils;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.*;
|
||||||
import java.io.FileWriter;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
|
import java.nio.file.Files;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
public final class OpenChatPlugin extends Plugin {
|
public final class OpenChatPlugin extends Plugin {
|
||||||
private static OpenChatPlugin instance;
|
private static OpenChatPlugin instance;
|
||||||
@ -36,6 +37,45 @@ public final class OpenChatPlugin extends Plugin {
|
|||||||
return instance;
|
return instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onLoad() {
|
||||||
|
instance = this;
|
||||||
|
loadConfig();
|
||||||
|
loadData();
|
||||||
|
loadSensitiveWordList();
|
||||||
|
getLogger().info("[OpenChat] Loaded.");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onEnable() {
|
||||||
|
// Register event listeners.
|
||||||
|
new EventHandler<>(PlayerJoinEvent.class)
|
||||||
|
.priority(HandlerPriority.NORMAL)
|
||||||
|
.listener(EventListeners::onJoin)
|
||||||
|
.register(this);
|
||||||
|
|
||||||
|
// Register commands.
|
||||||
|
getHandle().registerCommand(new ChatServerCommands());
|
||||||
|
getHandle().registerCommand(new ChatPlayerCommands());
|
||||||
|
|
||||||
|
// Set my chat system.
|
||||||
|
getServer().setChatSystem(new OpenChatSystem(this));
|
||||||
|
|
||||||
|
// Log a plugin status message.
|
||||||
|
getLogger().info("[OpenChat] Enabled, see https://github.com/jie65535/gc-openchat-plugin");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDisable() {
|
||||||
|
saveData();
|
||||||
|
saveConfig();
|
||||||
|
getLogger().info("[OpenChat] Disabled.");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// region config
|
||||||
|
|
||||||
private OpenChatConfig config;
|
private OpenChatConfig config;
|
||||||
public OpenChatConfig getConfig() {
|
public OpenChatConfig getConfig() {
|
||||||
return config;
|
return config;
|
||||||
@ -65,6 +105,10 @@ public final class OpenChatPlugin extends Plugin {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// endregion
|
||||||
|
|
||||||
|
// region data
|
||||||
|
|
||||||
private OpenChatData data;
|
private OpenChatData data;
|
||||||
public OpenChatData getData() {
|
public OpenChatData getData() {
|
||||||
return data;
|
return data;
|
||||||
@ -93,37 +137,33 @@ public final class OpenChatPlugin extends Plugin {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
// endregion
|
||||||
public void onLoad() {
|
|
||||||
instance = this;
|
// region SensitiveWordFilter
|
||||||
loadConfig();
|
|
||||||
loadData();
|
private final SensitiveWordFilter sensitiveWordFilter = new SensitiveWordFilter();
|
||||||
getLogger().info("[OpenChat] Loaded.");
|
|
||||||
|
public SensitiveWordFilter getSensitiveWordFilter() {
|
||||||
|
return sensitiveWordFilter;
|
||||||
|
}
|
||||||
|
private static final String SENSITIVE_WORD_LIST_FILE_NAME = "SensitiveWordList.txt";
|
||||||
|
public void loadSensitiveWordList() {
|
||||||
|
try {
|
||||||
|
var sensitiveWordListFile = new File(getDataFolder(), SENSITIVE_WORD_LIST_FILE_NAME);
|
||||||
|
if (!sensitiveWordListFile.exists()) {
|
||||||
|
var in = OpenChatPlugin.class.getClassLoader().getResourceAsStream(SENSITIVE_WORD_LIST_FILE_NAME);
|
||||||
|
Files.copy(Objects.requireNonNull(in), sensitiveWordListFile.toPath());
|
||||||
|
in.close();
|
||||||
|
}
|
||||||
|
var wordList = Files.readAllLines(sensitiveWordListFile.toPath());
|
||||||
|
for (var word : wordList) {
|
||||||
|
sensitiveWordFilter.addWord(word);
|
||||||
|
}
|
||||||
|
getLogger().info("[OpenChat] {} sensitive words loaded", wordList.size());
|
||||||
|
} catch (Exception ex) {
|
||||||
|
getLogger().error("[OpenChat] Failed to load sensitive word list!", ex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
// endregion
|
||||||
public void onEnable() {
|
|
||||||
// Register event listeners.
|
|
||||||
new EventHandler<>(PlayerJoinEvent.class)
|
|
||||||
.priority(HandlerPriority.NORMAL)
|
|
||||||
.listener(EventListeners::onJoin)
|
|
||||||
.register(this);
|
|
||||||
|
|
||||||
// Register commands.
|
|
||||||
getHandle().registerCommand(new ChatServerCommands());
|
|
||||||
getHandle().registerCommand(new ChatPlayerCommands());
|
|
||||||
|
|
||||||
// Set my chat system.
|
|
||||||
getServer().setChatSystem(new OpenChatSystem(this));
|
|
||||||
|
|
||||||
// Log a plugin status message.
|
|
||||||
getLogger().info("[OpenChat] Enabled, see https://github.com/jie65535/gc-openchat-plugin");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onDisable() {
|
|
||||||
saveData();
|
|
||||||
saveConfig();
|
|
||||||
getLogger().info("[OpenChat] Disabled.");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -318,8 +318,7 @@ public class OpenChatSystem extends ChatSystem {
|
|||||||
* @return 是否合法合规
|
* @return 是否合法合规
|
||||||
*/
|
*/
|
||||||
private boolean checkMessageModeration(String message) {
|
private boolean checkMessageModeration(String message) {
|
||||||
// TODO see https://github.com/houbb/sensitive-word
|
return !plugin.getSensitiveWordFilter().isSensitive(message);
|
||||||
return !message.isEmpty();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// region 发言频率限制
|
// region 发言频率限制
|
||||||
|
@ -107,6 +107,7 @@ public class ChatServerCommands implements CommandHandler {
|
|||||||
}
|
}
|
||||||
case "reload" -> {
|
case "reload" -> {
|
||||||
plugin.loadConfig();
|
plugin.loadConfig();
|
||||||
|
plugin.loadSensitiveWordList();
|
||||||
CommandHandler.sendMessage(sender, "OK");
|
CommandHandler.sendMessage(sender, "OK");
|
||||||
}
|
}
|
||||||
case "group" -> {
|
case "group" -> {
|
||||||
|
@ -0,0 +1,81 @@
|
|||||||
|
/*
|
||||||
|
* gc-openchat
|
||||||
|
* Copyright (C) 2022 jie65535
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Affero General Public License as published
|
||||||
|
* by the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU Affero General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Affero General Public License
|
||||||
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
package com.github.jie65535.openchat.utils;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
public class SensitiveWordFilter {
|
||||||
|
|
||||||
|
// 定义一个内部类表示图中的节点
|
||||||
|
private static class Node {
|
||||||
|
// 用一个哈希表存储该节点的后继节点
|
||||||
|
private final Map<Character, Node> children = new HashMap<>();
|
||||||
|
// 用一个布尔值表示该节点是否是某个敏感词的结尾
|
||||||
|
private boolean isEnd = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 定义一个根节点
|
||||||
|
private final Node root = new Node();
|
||||||
|
|
||||||
|
// 定义一个添加敏感词的方法
|
||||||
|
public void addWord(String word) {
|
||||||
|
if (word == null || word.isEmpty()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// 从根节点开始遍历
|
||||||
|
Node current = root;
|
||||||
|
for (char c : word.toCharArray()) {
|
||||||
|
// 如果当前节点没有以c为键的后继节点,就创建一个新的节点并添加到哈希表中
|
||||||
|
if (!current.children.containsKey(c)) {
|
||||||
|
current.children.put(c, new Node());
|
||||||
|
}
|
||||||
|
// 更新当前节点为后继节点
|
||||||
|
current = current.children.get(c);
|
||||||
|
}
|
||||||
|
// 标记当前节点为某个敏感词的结尾
|
||||||
|
current.isEnd = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 定义一个检测聊天消息是否包含敏感词的方法
|
||||||
|
public boolean isSensitive(String message) {
|
||||||
|
if (message == null || message.isEmpty()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
// 遍历聊天消息中的每个字符作为起始位置
|
||||||
|
for (int i = 0; i < message.length(); i++) {
|
||||||
|
// 从根节点开始遍历
|
||||||
|
Node current = root;
|
||||||
|
for (int j = i; j < message.length(); j++) {
|
||||||
|
char c = message.charAt(j);
|
||||||
|
// 如果当前节点没有以c为键的后继节点,说明没有匹配到敏感词,跳出循环
|
||||||
|
if (!current.children.containsKey(c)) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
// 更新当前节点为后继节点
|
||||||
|
current = current.children.get(c);
|
||||||
|
// 如果当前节点是某个敏感词的结尾,说明匹配到了敏感词,返回true
|
||||||
|
if (current.isEnd) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 遍历完聊天消息没有匹配到任何敏感词,返回false
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
576
src/main/resources/SensitiveWordList.txt
Normal file
576
src/main/resources/SensitiveWordList.txt
Normal file
@ -0,0 +1,576 @@
|
|||||||
|
18禁
|
||||||
|
a片
|
||||||
|
caonima
|
||||||
|
cnm
|
||||||
|
caotama
|
||||||
|
cao你
|
||||||
|
cao你妈
|
||||||
|
fa轮
|
||||||
|
fuck
|
||||||
|
hjt
|
||||||
|
jb
|
||||||
|
jzm
|
||||||
|
nmsl
|
||||||
|
sb
|
||||||
|
vpn
|
||||||
|
zhengfu
|
||||||
|
zheng府
|
||||||
|
zf
|
||||||
|
zedong
|
||||||
|
亂倫
|
||||||
|
噴精
|
||||||
|
姦淫
|
||||||
|
屄
|
||||||
|
屄毛
|
||||||
|
幹炮
|
||||||
|
幹砲
|
||||||
|
擠乳汁
|
||||||
|
溫家寶
|
||||||
|
無毛穴
|
||||||
|
獸交
|
||||||
|
爱女人
|
||||||
|
爱液
|
||||||
|
扒穴
|
||||||
|
拔屄自拍
|
||||||
|
白虎阴穴
|
||||||
|
白虎少妇
|
||||||
|
白浆四溅
|
||||||
|
包二奶
|
||||||
|
薄熙来
|
||||||
|
薄码
|
||||||
|
暴奸
|
||||||
|
爆乳娘
|
||||||
|
爆草
|
||||||
|
爆操
|
||||||
|
被操
|
||||||
|
被插
|
||||||
|
被干
|
||||||
|
逼痒
|
||||||
|
逼奸
|
||||||
|
博彩
|
||||||
|
擦你妈
|
||||||
|
操我
|
||||||
|
操死
|
||||||
|
操死你
|
||||||
|
操你妈
|
||||||
|
操你奶
|
||||||
|
操你姐
|
||||||
|
操逼
|
||||||
|
操你祖宗
|
||||||
|
操你大爷
|
||||||
|
操你妹
|
||||||
|
操穴
|
||||||
|
操屄
|
||||||
|
操他妈
|
||||||
|
操你全家
|
||||||
|
操烂
|
||||||
|
操妻
|
||||||
|
操你嘴
|
||||||
|
操死她
|
||||||
|
操b
|
||||||
|
操它妈
|
||||||
|
曹刚川
|
||||||
|
草你祖宗
|
||||||
|
草你大爷
|
||||||
|
草你妈
|
||||||
|
草你吗
|
||||||
|
草bi
|
||||||
|
草她妈
|
||||||
|
草拟吗
|
||||||
|
草你娘
|
||||||
|
草他妈
|
||||||
|
厕所盗摄
|
||||||
|
厕奴
|
||||||
|
插阴茎
|
||||||
|
插逼
|
||||||
|
插妹妹
|
||||||
|
插穴止痒
|
||||||
|
插死她
|
||||||
|
插比
|
||||||
|
插b
|
||||||
|
插你
|
||||||
|
陈同海
|
||||||
|
陈水扁
|
||||||
|
陈良宇
|
||||||
|
成人片
|
||||||
|
成人网站
|
||||||
|
成人图
|
||||||
|
成人电
|
||||||
|
成人文
|
||||||
|
成人视
|
||||||
|
成人自拍
|
||||||
|
成人小
|
||||||
|
惩公安
|
||||||
|
吃鸡巴
|
||||||
|
抽插
|
||||||
|
臭鸡八
|
||||||
|
臭鸡吧
|
||||||
|
床上写真
|
||||||
|
催情藥
|
||||||
|
催情药
|
||||||
|
催眠水
|
||||||
|
催情粉
|
||||||
|
大奶子
|
||||||
|
大肉棒
|
||||||
|
大奶头
|
||||||
|
大明运气咒
|
||||||
|
大力抽送
|
||||||
|
大血逼
|
||||||
|
大雞巴
|
||||||
|
大鸡巴
|
||||||
|
大傻b
|
||||||
|
戴秉国
|
||||||
|
盗撮
|
||||||
|
邓小瓶
|
||||||
|
邓小平
|
||||||
|
邓爷爷
|
||||||
|
东北独立
|
||||||
|
杜世成
|
||||||
|
杜德印
|
||||||
|
法lun
|
||||||
|
法伦功
|
||||||
|
法维权
|
||||||
|
法一轮
|
||||||
|
法正乾
|
||||||
|
法车仑
|
||||||
|
法轮佛
|
||||||
|
法轮
|
||||||
|
翻墙
|
||||||
|
反共复清
|
||||||
|
反华示威
|
||||||
|
肥逼
|
||||||
|
粉穴
|
||||||
|
风艳阁
|
||||||
|
干你妈
|
||||||
|
干的爽
|
||||||
|
干穴
|
||||||
|
干你娘
|
||||||
|
干你妹
|
||||||
|
干死你
|
||||||
|
干你全家
|
||||||
|
肛交
|
||||||
|
肛门
|
||||||
|
肛门拳交
|
||||||
|
给你爽
|
||||||
|
根达亚文明
|
||||||
|
共残主义
|
||||||
|
狗娘养
|
||||||
|
灌满精液
|
||||||
|
郭金龙
|
||||||
|
国峰
|
||||||
|
国锋
|
||||||
|
含屌
|
||||||
|
喝血社会
|
||||||
|
黑毛屄
|
||||||
|
胡云松
|
||||||
|
胡王八
|
||||||
|
胡谨涛
|
||||||
|
胡錦濤
|
||||||
|
胡海峰
|
||||||
|
胡主席
|
||||||
|
胡春华
|
||||||
|
胡温
|
||||||
|
虎精逃
|
||||||
|
华国
|
||||||
|
黄色电影
|
||||||
|
回良玉
|
||||||
|
混蛋
|
||||||
|
激情电
|
||||||
|
激情妹
|
||||||
|
激情炮
|
||||||
|
激情短
|
||||||
|
激情小说
|
||||||
|
鸡巴
|
||||||
|
鸡奸
|
||||||
|
集体自杀
|
||||||
|
挤乳汁
|
||||||
|
几吧
|
||||||
|
妓女
|
||||||
|
家宝
|
||||||
|
奸幼
|
||||||
|
奸杀
|
||||||
|
奸污
|
||||||
|
践货
|
||||||
|
贱人
|
||||||
|
贱比
|
||||||
|
江泽民
|
||||||
|
江澤民
|
||||||
|
江x
|
||||||
|
江某某
|
||||||
|
脚奴
|
||||||
|
街头扒衣
|
||||||
|
金毛穴
|
||||||
|
锦涛
|
||||||
|
精子射在
|
||||||
|
警察说保
|
||||||
|
警方包庇
|
||||||
|
警车雷达
|
||||||
|
警察殴打
|
||||||
|
警察的幌
|
||||||
|
就去日
|
||||||
|
菊花洞
|
||||||
|
巨乳
|
||||||
|
恐怖份子
|
||||||
|
恐怖分子
|
||||||
|
抠穴
|
||||||
|
口淫
|
||||||
|
口交
|
||||||
|
口活
|
||||||
|
口内爆射
|
||||||
|
狂乳激揺
|
||||||
|
拉登
|
||||||
|
浪逼
|
||||||
|
浪叫
|
||||||
|
雷管
|
||||||
|
李小鹏
|
||||||
|
李鹏
|
||||||
|
李克强
|
||||||
|
李洪志
|
||||||
|
李世民
|
||||||
|
習近平
|
||||||
|
莲花逼
|
||||||
|
炼大法
|
||||||
|
梁光烈
|
||||||
|
两会又三
|
||||||
|
两会代
|
||||||
|
刘延东
|
||||||
|
露逼
|
||||||
|
露b
|
||||||
|
乱伦类
|
||||||
|
乱奸
|
||||||
|
乱伦小
|
||||||
|
轮子功
|
||||||
|
轮奸
|
||||||
|
轮功
|
||||||
|
伦理毛
|
||||||
|
伦理电影
|
||||||
|
伦理片
|
||||||
|
伦理大
|
||||||
|
裸舞视
|
||||||
|
裸体
|
||||||
|
裸聊网
|
||||||
|
妈个逼
|
||||||
|
妈了个逼
|
||||||
|
妈了逼
|
||||||
|
麻果配
|
||||||
|
麻果丸
|
||||||
|
麻古
|
||||||
|
玛雅历法
|
||||||
|
卖淫
|
||||||
|
满狗
|
||||||
|
肏屄
|
||||||
|
氓培训
|
||||||
|
猫贼洞
|
||||||
|
毛主席
|
||||||
|
毛遮洞
|
||||||
|
毛则东
|
||||||
|
毛泽东
|
||||||
|
毛贼东
|
||||||
|
毛澤東
|
||||||
|
美女高潮
|
||||||
|
美艳少妇
|
||||||
|
妹按摩
|
||||||
|
妹上门
|
||||||
|
门按摩
|
||||||
|
门保健
|
||||||
|
蒙汗药
|
||||||
|
孟建柱
|
||||||
|
迷昏口
|
||||||
|
迷奸
|
||||||
|
迷魂香
|
||||||
|
迷幻型
|
||||||
|
迷幻药
|
||||||
|
迷情药
|
||||||
|
迷幻藥
|
||||||
|
迷魂药
|
||||||
|
迷藥
|
||||||
|
迷奸药
|
||||||
|
迷昏药
|
||||||
|
迷昏藥
|
||||||
|
迷魂藥
|
||||||
|
迷情水
|
||||||
|
谜奸药
|
||||||
|
秘唇
|
||||||
|
蜜穴
|
||||||
|
密穴
|
||||||
|
民抗议
|
||||||
|
明慧网
|
||||||
|
摸阴蒂
|
||||||
|
某锦涛
|
||||||
|
母奸
|
||||||
|
母子乱伦
|
||||||
|
母子奸情
|
||||||
|
奶子
|
||||||
|
男奴
|
||||||
|
男女交欢
|
||||||
|
内射
|
||||||
|
嫩穴
|
||||||
|
嫩b
|
||||||
|
嫩逼
|
||||||
|
嫩屄
|
||||||
|
嫩bb
|
||||||
|
嫩阴
|
||||||
|
你妈死了
|
||||||
|
你日妈
|
||||||
|
你妈逼
|
||||||
|
娘西皮
|
||||||
|
娘了个比
|
||||||
|
娘两腿之间
|
||||||
|
浓精
|
||||||
|
怒的志愿
|
||||||
|
女优
|
||||||
|
女任职名
|
||||||
|
女人和狗
|
||||||
|
女技师
|
||||||
|
女激情
|
||||||
|
女優
|
||||||
|
女上门
|
||||||
|
女被人家搞
|
||||||
|
拍肩神药
|
||||||
|
炮友
|
||||||
|
喷尿
|
||||||
|
屁眼
|
||||||
|
平叫到床
|
||||||
|
平惨案
|
||||||
|
仆不怕饮
|
||||||
|
普通嘌
|
||||||
|
期货配
|
||||||
|
奇迹的黄
|
||||||
|
奇淫散
|
||||||
|
强暴
|
||||||
|
强硬发言
|
||||||
|
强奸你妹
|
||||||
|
强奸
|
||||||
|
强权政府
|
||||||
|
巧淫奸戏
|
||||||
|
情色
|
||||||
|
全裸
|
||||||
|
全家死绝
|
||||||
|
全家死光
|
||||||
|
群奸暴
|
||||||
|
群体性事
|
||||||
|
群起抗暴
|
||||||
|
群交
|
||||||
|
绕过封锁
|
||||||
|
人类灭亡
|
||||||
|
人兽
|
||||||
|
人妻
|
||||||
|
人妻做爱
|
||||||
|
人妻熟女
|
||||||
|
人妻榨乳
|
||||||
|
人体炸弹
|
||||||
|
人妻色诱
|
||||||
|
日中断交
|
||||||
|
日你妹
|
||||||
|
日烂
|
||||||
|
日你全家
|
||||||
|
日死你
|
||||||
|
日你妈
|
||||||
|
日逼
|
||||||
|
肉棒
|
||||||
|
肉壶
|
||||||
|
肉蒲团
|
||||||
|
肉便器
|
||||||
|
肉茎
|
||||||
|
肉淫器吞精
|
||||||
|
肉棍
|
||||||
|
肉穴
|
||||||
|
肉逼
|
||||||
|
肉棍干骚妇
|
||||||
|
肉唇
|
||||||
|
肉洞
|
||||||
|
乳交
|
||||||
|
软弱的国
|
||||||
|
三秒倒
|
||||||
|
三级片
|
||||||
|
三挫
|
||||||
|
三唑
|
||||||
|
搔逼
|
||||||
|
骚妇
|
||||||
|
骚浪美女
|
||||||
|
骚贱
|
||||||
|
骚嘴
|
||||||
|
骚姐姐
|
||||||
|
骚母
|
||||||
|
骚洞
|
||||||
|
骚穴
|
||||||
|
骚逼
|
||||||
|
骚妹
|
||||||
|
骚浪
|
||||||
|
骚乳
|
||||||
|
骚女
|
||||||
|
骚水
|
||||||
|
色妹妹
|
||||||
|
色电影
|
||||||
|
色视频
|
||||||
|
色猫
|
||||||
|
色小说
|
||||||
|
色书库
|
||||||
|
傻臂
|
||||||
|
傻逼
|
||||||
|
傻b
|
||||||
|
傻避
|
||||||
|
煞笔
|
||||||
|
煞逼
|
||||||
|
少妇
|
||||||
|
舌头穴
|
||||||
|
射颜
|
||||||
|
射爽
|
||||||
|
社会主义灭亡
|
||||||
|
沈跃跃
|
||||||
|
十八禁
|
||||||
|
兽奸
|
||||||
|
熟妇人妻
|
||||||
|
爽片
|
||||||
|
爽穴
|
||||||
|
死全家
|
||||||
|
死逼
|
||||||
|
苏树林
|
||||||
|
酥穴
|
||||||
|
塔利班
|
||||||
|
蘚鮑
|
||||||
|
台湾
|
||||||
|
台独
|
||||||
|
台湾独立
|
||||||
|
体奸
|
||||||
|
天黯门
|
||||||
|
天岸门
|
||||||
|
天案们
|
||||||
|
天安门大屠杀
|
||||||
|
天氨门
|
||||||
|
天安门
|
||||||
|
天胺门
|
||||||
|
天案门
|
||||||
|
舔脚
|
||||||
|
舔屄
|
||||||
|
铁凝
|
||||||
|
偷窥图片
|
||||||
|
推背图
|
||||||
|
退党
|
||||||
|
吞精
|
||||||
|
王胜俊
|
||||||
|
王岐山
|
||||||
|
王洛林
|
||||||
|
王太华
|
||||||
|
王鸿举
|
||||||
|
瘟总理
|
||||||
|
瘟加饱
|
||||||
|
瘟假饱
|
||||||
|
温影帝
|
||||||
|
温家堡
|
||||||
|
温切斯特
|
||||||
|
温家宝
|
||||||
|
温家某
|
||||||
|
吴定富
|
||||||
|
吴邦国
|
||||||
|
吸精少女
|
||||||
|
习近平
|
||||||
|
洗肠射尿
|
||||||
|
下流地带
|
||||||
|
下贱
|
||||||
|
销魂洞
|
||||||
|
小穴
|
||||||
|
小平遗言
|
||||||
|
小逼崽子
|
||||||
|
小平遗嘱
|
||||||
|
新唐人
|
||||||
|
性虐
|
||||||
|
性奴
|
||||||
|
性爱
|
||||||
|
性爱图库
|
||||||
|
颜射
|
||||||
|
艳妇淫女
|
||||||
|
要射精了
|
||||||
|
要泄了
|
||||||
|
要射了
|
||||||
|
要人权
|
||||||
|
耀邦
|
||||||
|
叶剑英
|
||||||
|
夜激情
|
||||||
|
液体炸
|
||||||
|
一夜欢
|
||||||
|
遗嘱小平
|
||||||
|
阴屄
|
||||||
|
阴b
|
||||||
|
阴茎
|
||||||
|
阴唇
|
||||||
|
阴部
|
||||||
|
阴締
|
||||||
|
淫贱
|
||||||
|
淫叫
|
||||||
|
淫液
|
||||||
|
淫娃
|
||||||
|
淫魔舞
|
||||||
|
淫情
|
||||||
|
淫肉
|
||||||
|
淫蜜
|
||||||
|
淫蕩
|
||||||
|
淫汁
|
||||||
|
淫姐
|
||||||
|
淫妞
|
||||||
|
淫逼
|
||||||
|
淫亂潮吹
|
||||||
|
淫荡
|
||||||
|
淫騷妹
|
||||||
|
淫情女
|
||||||
|
淫奴
|
||||||
|
淫兽
|
||||||
|
淫兽学
|
||||||
|
淫水
|
||||||
|
淫妇
|
||||||
|
淫穴
|
||||||
|
淫水爱液
|
||||||
|
淫母
|
||||||
|
淫亂
|
||||||
|
幼交
|
||||||
|
玉穴
|
||||||
|
原味内裤
|
||||||
|
原味内衣
|
||||||
|
援交妹
|
||||||
|
杂种操的
|
||||||
|
则民爷爷
|
||||||
|
泽民
|
||||||
|
炸立交
|
||||||
|
炸弹遥控
|
||||||
|
炸药的制
|
||||||
|
炸药
|
||||||
|
炸弹
|
||||||
|
炸药配
|
||||||
|
炸弹教
|
||||||
|
炸鸟巢
|
||||||
|
炸广州
|
||||||
|
炸药制
|
||||||
|
炸学校
|
||||||
|
张志国
|
||||||
|
张德江
|
||||||
|
张荣坤
|
||||||
|
政治局常委
|
||||||
|
政fu
|
||||||
|
政府
|
||||||
|
制服狩
|
||||||
|
中国人权
|
||||||
|
中日断交
|
||||||
|
朱镕基
|
||||||
|
猪容鸡
|
||||||
|
诸世纪
|
||||||
|
主席
|
||||||
|
主席像
|
||||||
|
自焚
|
||||||
|
自拍美穴
|
||||||
|
自慰抠穴
|
||||||
|
自慰
|
||||||
|
总竖鸡
|
||||||
|
总理
|
||||||
|
总书记
|
||||||
|
钻插
|
||||||
|
做爱
|
||||||
|
妞上门
|
||||||
|
嫖妓指南
|
||||||
|
嫖鸡
|
||||||
|
嫖俄罗
|
||||||
|
門服務
|
||||||
|
陰道
|
||||||
|
陰唇
|
||||||
|
陰戶
|
||||||
|
掰穴
|
||||||
|
騷浪
|
Loading…
Reference in New Issue
Block a user