From 3cc31bce56d89426815bbad2dda19283de6b7b98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A3=85=E8=B1=86=E9=BE=99=EF=BC=88=E9=99=88=E9=A3=8E?= =?UTF-8?q?=E4=BA=A6=EF=BC=89?= Date: Sat, 27 Jul 2024 16:31:49 +0800 Subject: [PATCH 1/9] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 9200079..8741520 100644 --- a/README.md +++ b/README.md @@ -16,12 +16,12 @@ ###### 在服务器上运行服务端 1. 在用作服务端的服务器或计算机上安装[Python环境](https://python.org) -2. 在Release页面下载 `Pixel-Chat Server`,下载完成后运行 +2. 在[Release](https://github.com/AlignPixel/Pixel-Chat-App/releases)页面下载 `Pixel-Chat Server`,下载完成后运行 3. VOILA! 现在邀请你的用户通过 `Pixel-Chat Client` 或 `Pixel-Chat Desktop` 访问服务器/计算机IP地址即可聊天 ###### 访问您喜欢的聊天服务器 -1. 在Release页面下载 `Pixel-Chat-Desktop`,下载完成后运行 +1. 在[Release](https://github.com/AlignPixel/Pixel-Chat-App/releases)页面下载 `Pixel-Chat-Desktop`,下载完成后运行 2. 输入您喜欢的聊天服务器IP 3. VOILA! 现在是聊天时间 From 0eac5d7938f57c1dba4a3655da06d0a74e83bcf7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A3=85=E8=B1=86=E9=BE=99=EF=BC=88=E9=99=88=E9=A3=8E?= =?UTF-8?q?=E4=BA=A6=EF=BC=89?= Date: Sat, 27 Jul 2024 16:53:48 +0800 Subject: [PATCH 2/9] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 8741520..c475ebe 100644 --- a/README.md +++ b/README.md @@ -37,8 +37,8 @@ | AVATAR | NAME | WORK | | ------------------------------------------------------------ | ------------------------------------------------------- | --------------- | -| BunDragon's Github AVATAR | [磅豆龙(FrederickBun)](https://github.com/FrederickBun) | AUTHOR(Creator) | -| Rayminn's Github AVATAR | [Yiming Lei(Rayminn)](https://github.com/Rayminn) | AUTHOR(Editor) | +| BunDragon's Github AVATAR | [磅豆龙(FrederickBun)](https://github.com/FrederickBun) | Author(Creator) | +| Rayminn's Github AVATAR | [Yiming Lei(Rayminn)](https://github.com/Rayminn) | Author(Editor) | ### 📦特供版本与特殊版本使用者 From e14f5406404f8b05d566cd809edb85798e469d3d Mon Sep 17 00:00:00 2001 From: Fengyi Chen Date: Sat, 27 Jul 2024 22:25:08 +0800 Subject: [PATCH 3/9] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=85=AC=E5=91=8A?= =?UTF-8?q?=E3=80=81=E5=90=8E=E5=8F=B0=E6=98=BE=E7=A4=BA=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E7=94=A8=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server-client/main.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/server-client/main.py b/server-client/main.py index ddcd555..e547308 100755 --- a/server-client/main.py +++ b/server-client/main.py @@ -274,6 +274,22 @@ class ChattingHandler: "UNBAN: 解除封禁某个IP\r\n"\ "BANLIST: 查看封禁IP列表\r\n"\ "HELP: 查看操作帮助") + elif ip == '.an': + user = input("请输入要发布的内容:") + self.broadcast_system_msg(user) + elif ip == '.online': + login_list = "[ 输出 ] 在线用户 : " + for key in self.__socket_to_user_name: + login_list += self.__socket_to_user_name[key] + ' | ' + print(login_list) + elif ip == '.help': + print("BAN: 封禁某个IP\r\n"\ + "UNBAN: 解除封禁某个IP\r\n"\ + "BANLIST: 查看封禁IP列表\r\n"\ + "KICK: 踢出某个用户\r\n"\ + "AN: 以系统身份发布消息\r\n"\ + "ONELINE: 查看在线用户\r\n"\ + "HELP: 查看操作帮助") else: print("不存在的命令!") From 82aa69af42421700ccb7986f3f2d6d746c76cd27 Mon Sep 17 00:00:00 2001 From: Fengyi Chen Date: Sat, 27 Jul 2024 22:28:47 +0800 Subject: [PATCH 4/9] =?UTF-8?q?=E6=9B=B4=E6=94=B9=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E5=90=8D=EF=BC=8C=E4=B8=BA=E5=90=8E=E7=BB=AD=E5=B7=A5=E4=BD=9C?= =?UTF-8?q?=E5=81=9A=E5=87=86=E5=A4=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- desktop/{main.py => se-verson.py} | 0 server-client/{main.py => simple-verson.py} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename desktop/{main.py => se-verson.py} (100%) rename server-client/{main.py => simple-verson.py} (100%) diff --git a/desktop/main.py b/desktop/se-verson.py similarity index 100% rename from desktop/main.py rename to desktop/se-verson.py diff --git a/server-client/main.py b/server-client/simple-verson.py similarity index 100% rename from server-client/main.py rename to server-client/simple-verson.py From 4b2435f5e54407ab59382532dd764495a8ba6de0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A3=85=E8=B1=86=E9=BE=99?= Date: Tue, 30 Jul 2024 23:30:20 +0800 Subject: [PATCH 5/9] Update README.md --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index c475ebe..96966fb 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,11 @@ 一个简单、快速、开源的Python即时聊天系统,涵盖了多种聊天操作需求 +![GitHub Downloads (all assets, all releases)](https://img.shields.io/github/downloads/AlignPixel/Pixel-Chat-App/total?style=for-the-badge&logo=github) +![GitHub License](https://img.shields.io/github/license/AlignPixel/Pixel-Chat-App?style=for-the-badge) +![GitHub Discussions](https://img.shields.io/github/discussions/AlignPixel/Pixel-Chat-App?style=for-the-badge&logo=github) +![Static Badge](https://img.shields.io/badge/Python-3.x-blue?style=for-the-badge&logo=Python&logoColor=white) + ### 🤩功能亮点 - 开箱即用,无需部署 From 7c5894519a0c1b44e08c552fb48d4dcccfa6a061 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A3=85=E8=B1=86=E9=BE=99?= Date: Tue, 30 Jul 2024 23:32:01 +0800 Subject: [PATCH 6/9] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 96966fb..dffe1e5 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ +![Pixel-Chat-App](https://repository-images.githubusercontent.com/832191338/b1042f2c-3c1a-4756-b061-732923b776cd) + # 💬Pixel-Chat App 一个简单、快速、开源的Python即时聊天系统,涵盖了多种聊天操作需求 From 73127e5b15c1872e8cc7caa2edf12b200ab8fb5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A3=85=E8=B1=86=E9=BE=99?= Date: Tue, 30 Jul 2024 23:32:43 +0800 Subject: [PATCH 7/9] Update README.md --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index dffe1e5..447451e 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ ![Pixel-Chat-App](https://repository-images.githubusercontent.com/832191338/b1042f2c-3c1a-4756-b061-732923b776cd) -# 💬Pixel-Chat App +# 💬 Pixel-Chat App 一个简单、快速、开源的Python即时聊天系统,涵盖了多种聊天操作需求 @@ -9,7 +9,7 @@ ![GitHub Discussions](https://img.shields.io/github/discussions/AlignPixel/Pixel-Chat-App?style=for-the-badge&logo=github) ![Static Badge](https://img.shields.io/badge/Python-3.x-blue?style=for-the-badge&logo=Python&logoColor=white) -### 🤩功能亮点 +### 🤩 功能亮点 - 开箱即用,无需部署 - 可将任意计算机、服务器上用作服务端使用,仅需一个 `Pixel Chat Desktop` 输入IP地址即可访问所有使用 `Pixel-Chat Server` 的聊天服务器 @@ -18,7 +18,7 @@ - 简单方便的服务端命令,只需一个服务端即可掌控整个聊天服务器 - 无需手动重置,因为不使用缓存,所以关闭重新打开自动清除数据 -### ℹ️使用方法 +### ℹ️ 使用方法 ###### 在服务器上运行服务端 @@ -36,7 +36,7 @@ 请邮件联系[seventeen@ohdragonboi.cn](mailto:seventeen@ohdragonboi.cn)探讨您需要的内容,也许会需要您支付额外费用🤔 -### 🎈贡献者列表 +### 🎈 贡献者列表 欢迎为本项目贡献一份你的力量,请参考Wiki中《贡献手册》章节为本项目提交PR或Issues @@ -55,7 +55,7 @@ | ------------------------ | ------------------------------------------------------------ | ---------------------------------------------------------- | | 西南大学附中信息学竞赛生 | 本程序最初设计目的是为了此需求,后来开源,诞生了此项目。本文本中提到的 `Pixel-Chat Client` 就是最初由同学们编写的初代客户端,而 `Pixel-Chat Desktop` 是由[AlignPixel](https://github.com/AlignPixel)所改进的开源版本 | 用于刷题目时共享思路,一位同学运行服务端,全班同学可以使用 | -### 🖼️屏幕截图 +### 🖼️ 屏幕截图 ![总体截图](https://cdn.jsdelivr.net/gh/FrederickBun/upyun-rhimgcdn@img/upload/202407271438190.png) From a0e1f1d22e5ec883cfc7d194cf5c7357e5fba2b8 Mon Sep 17 00:00:00 2001 From: Fengyi Chen Date: Wed, 31 Jul 2024 23:45:39 +0800 Subject: [PATCH 8/9] Update .DS_Store --- .DS_Store | Bin 6148 -> 6148 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/.DS_Store b/.DS_Store index c7941d7e3c2c7c7d9e8fdd2115d3f3618f82eba4..80e645abb524973a8c4f9a1cad2e3ed1396dded7 100644 GIT binary patch delta 163 zcmZoMXffEJ$`Z$Da)*I|frUYjA)O(Up(Hoo#U&{xKM5$taYo?g`MFxh98u*{@X8lt z7zQWj=N16 Date: Wed, 31 Jul 2024 23:54:58 +0800 Subject: [PATCH 9/9] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BB=8EBoom=20Hack?= =?UTF-8?q?=E6=A3=80=E6=B5=8B=E4=B8=AD=E6=89=BE=E5=88=B0=E7=9A=84=E5=AF=B9?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E5=99=A8=E8=AE=BF=E9=97=AE=E9=99=90=E5=88=B6?= =?UTF-8?q?=E7=9A=84=E5=AE=89=E5=85=A8=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server-client/simple-verson.py | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/server-client/simple-verson.py b/server-client/simple-verson.py index e547308..a9f190d 100755 --- a/server-client/simple-verson.py +++ b/server-client/simple-verson.py @@ -14,7 +14,7 @@ class PyChattingServer: self.__msg_handler = ChattingHandler() def start_session(self): - print('已经上线,用户可通过IP进入\r\n') + print('已经上线,用户可通过客户端输入IP进入\r\n') input_thread_handler = threading.Thread(target=self.input_thread) input_thread_handler.daemon = True input_thread_handler.start() @@ -123,8 +123,9 @@ class ChattingHandler: self.__user_name_to_socket.pop(self.__socket_to_user_name[cs]) self.__socket_to_user_name.pop(cs) self.__user_name_to_broadcast_state.pop(nickname) - nickname += " " - self.broadcast_系统消息_msg(nickname + "离开了本聊天室") + nickname += " 离开了本聊天室" + if nickname != "SOMEONE": # 说明是正常退出,一个防输出卡死机制,来自 boom hack 0x3299f + self.broadcast_system_msg(nickname) def handle_msg(self, msg, cs): js = json.loads(msg) @@ -237,6 +238,8 @@ class ChattingHandler: def broadcast(self, msg, cs): data = '[ %s ]\r\n[%s] : %s\r\n' % (ctime(), self.__socket_to_user_name[cs], msg) + if '' in data: # 屏蔽卡死服务器的字符,所有 Contributors 请不要更改这条判断,否则 PR 将直接拒绝合并,本安全措施来自 来自 boom hack 0x3657f + data = '[ %s ]\r\n[ 系统警告 - %s ] : %s\r\n' % (ctime(), self.__socket_to_user_name[cs], '{用户发送的内容可能包含卡死服务器的内容,已经被屏蔽显示}') js = json.dumps({ 'type': 'broadcast', 'msg': data @@ -277,11 +280,20 @@ class ChattingHandler: elif ip == '.an': user = input("请输入要发布的内容:") self.broadcast_system_msg(user) + print("发布成功") elif ip == '.online': login_list = "[ 输出 ] 在线用户 : " for key in self.__socket_to_user_name: login_list += self.__socket_to_user_name[key] + ' | ' print(login_list) + elif ip == '.setvisit': # 一个防输出卡死的屏蔽功能,目前仅支持手动添加,来自 boom hack 0x3299f + ip = input("请输入限制访问信息的ip地址:") + if not self.is_alisted(ip): + self.__alist.add(ip) + print(f"IP {ip} 已经被手动更改访问") + else: + self.__alist.remove(ip) + print(f"IP {ip} 已经被手动更改访问") elif ip == '.help': print("BAN: 封禁某个IP\r\n"\ "UNBAN: 解除封禁某个IP\r\n"\ @@ -289,6 +301,7 @@ class ChattingHandler: "KICK: 踢出某个用户\r\n"\ "AN: 以系统身份发布消息\r\n"\ "ONELINE: 查看在线用户\r\n"\ + "SETVISIT: 对用户访问进行操作\r\n"\ "HELP: 查看操作帮助") else: print("不存在的命令!")