{"id":13452709,"url":"https://github.com/good-life/PushTalk","last_synced_at":"2025-03-23T21:34:53.477Z","repository":{"id":5532838,"uuid":"6735460","full_name":"good-life/PushTalk","owner":"good-life","description":"推聊是一个基于极光推送 (JPush) 的手机聊天系统。支持群聊与点对点聊天。当前包括 Android客户端、iOS客户端与 Java服务器端。3分钟就可以整套系统跑起来。","archived":false,"fork":false,"pushed_at":"2014-07-08T08:55:31.000Z","size":51606,"stargazers_count":977,"open_issues_count":16,"forks_count":606,"subscribers_count":173,"default_branch":"master","last_synced_at":"2024-08-01T08:06:33.420Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://androidpush.cn","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/good-life.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-11-17T13:22:33.000Z","updated_at":"2024-07-31T14:40:21.000Z","dependencies_parsed_at":"2022-07-09T12:00:29.482Z","dependency_job_id":null,"html_url":"https://github.com/good-life/PushTalk","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/good-life%2FPushTalk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/good-life%2FPushTalk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/good-life%2FPushTalk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/good-life%2FPushTalk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/good-life","download_url":"https://codeload.github.com/good-life/PushTalk/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221918503,"owners_count":16901640,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T08:00:21.050Z","updated_at":"2024-10-28T19:30:59.858Z","avatar_url":"https://github.com/good-life.png","language":"Java","funding_links":[],"categories":["Java","网络编程"],"sub_categories":["Spring Cloud框架"],"readme":"# 推聊概述 PushTalk Overview\n推聊是一个基于极光推送的Android手机聊天系统。支持群聊与点对点聊天。当前包括Android客户端与Java服务器端。3分钟就可以整套系统跑起来。\n\n![](https://github.com/downloads/good-life/PushTalk/pushtalk_architecture_2.png)\n\n### 项目官方网站\n\u003chttp://github.com/good-life/pushtalk\u003e\n\n### 功能与特点\n  \n##### 功能列表\n\n* 频道里群聊\n* 与其他用户点对点聊天\n* 聊天支持文字、表情、URL等\n* 注册用户（不需要密码）\n* 创建频道、加入频道\n* 我的最近聊天、我的频道\n* 聊天记录缓存（在服务器端）\n* 客户端选择聊天服务器、添加聊天服务器\n\n##### 特点\n\n* 简单到极致的 http 聊天服务器：一个 jar 包跑起来\n* 轻量级客户端：聊天界面使用 Webview 的方式\n* 下行消息推送基于 [JPush](http://jpush.cn/)（一个免费的第三方 Android Push 服务），上行消息采用 http 请求的方式实现\n\n\n### 聊天服务器\n\n推聊的服务器端使用 Java 语言编写，基于最简单实用的开源框架。\n\n* http 服务器使用 [Jetty](http://www.eclipse.org/jetty/)：轻量级的 Java Servlet 容器。\n* 数据库使用 [H2](http://http://www.h2database.com/)： 轻量级的 Java 内存/文件数据库。\n* 页面模板使用 [Freemarker](http://freemarker.sourceforge.net/)：轻量级的 Java 页面模板引擎。\n* 打包时集成为一个整体 jar 包（包含所有的依赖包）\n\n要运行推聊服务器端，请在 github项目界面相关版本下载 dist/ 目录下的 pushtalk-server jar 文件。\n\n要打包 server-java，请在项目该目录下执行 mvn package 命令。\n\n使用如下命令运行服务器：\n\n\tjava -Dfile.encoding=UTF-8 -jar pushtalk-server-with-dependencies.jar\n\t\n`注：实际的文件名后边一般会加上一个版本号。` \n\n上述命令运行后：\n\n* 一个 http server 启动了，监听端口为 10010\n* 浏览器里输入 http://localhost:10010 则可以访问到界面\n* 要正确地运行服务器，需要通过客户端访问\n\n推聊服务器默认使用 `10010` 端口。可以在上述命令后指定使用另外的端口。比如以下命令指定使用 `10011` 来启动推聊聊天服务器：\n\n\tjava -Dfile.encoding=UTF-8 -jar pushtalk-server-with-dependencies.jar 10011\n\n\n### Android 客户端\n\n![](https://github.com/downloads/good-life/PushTalk/pushtalk_client.png)\n\n客户端运行，请在 github 文件下载页 \u003chttps://github.com/good-life/PushTalk/downloads/\u003e 下载 Android apk 安装到 Android 手机即可。\n\n你也可以自己编译 `/client-android` 项目之后安装到手机。\n\n客户端默认内置官方聊天服务器地址。也可以直接在客户端添加新的服务器，选择新的聊天服务器。\n\n如果你有服务器资源，可以长期运行，欢迎你架设推聊聊天服务器，请添加到以下的页面。经过测试没有问题，会被选择预置到客户端代码里：\n\n\u003chttps://github.com/good-life/PushTalk/wiki/PushTalk-Third-Party-Servers\u003e\n\n\n### 开发者支持\n\n欢迎广大开发者加入本开源项目，大家一起来不断地丰满、完善推聊。\n\n本人是因为兴趣业余时间来开发推聊，考虑到 IM 占用的时间太多，所以请谅解，不提供任何 IM 的沟通方式。希望大家以如下的方式交流：\n\n* Email:  \u003cpushtalk.org@gmail.com\u003e\n* 项目Wiki: \u003chttps://github.com/good-life/PushTalk/wiki\u003e\n* 项目Bug: \u003chttps://github.com/good-life/PushTalk/issues\u003e\n* PushTalk频道：`pushtalk`, `报告bug`, `新功能讨论` 等\n\n代码提交方式：请先提交Bug修复，把 diff 以文件方式发邮件给我。合作多次后，我可以把你加入到本项目贡献者里来，你就可以随时自由地提交代码了。\n\n你也可以自由地 fork 本项目，自己去发布新的版本。\n\n推聊使用的开源协议：[Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgood-life%2FPushTalk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgood-life%2FPushTalk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgood-life%2FPushTalk/lists"}