gitmyhub

WePush

Java ★ 4.6k updated 2mo ago

专注批量推送的小而美的工具,目前支持:模板消息-公众号、模板消息-小程序、微信客服消息、微信企业号/企业微信消息、阿里云短信、阿里大于模板短信 、腾讯云短信、云片网短信、E-Mail、HTTP请求、钉钉、华为云短信、百度云短信、又拍云短信、七牛云短信

A Java desktop app for sending bulk messages across WeChat, DingTalk, Chinese SMS providers, and email, with variable content per recipient, scheduling, and automatic retry.

JavaSQLiteHikariCPMyBatisJava Swingsetup: moderatecomplexity 2/5

WePush is a desktop application for sending messages in bulk across a wide range of Chinese communication platforms. It runs on Windows, Linux, and macOS, and its primary audience is developers or businesses that need to push notifications or marketing messages to large numbers of recipients at once.

The tool supports an unusually broad list of channels. On the WeChat side, it covers official account template messages, mini program template and subscription messages, customer service messages, and enterprise WeChat messages. Beyond WeChat, it also supports DingTalk, multiple Chinese SMS cloud providers (including Alibaba Cloud, Tencent Cloud, Huawei Cloud, Baidu Cloud, Qiniu, and Yunpian), standard email, and generic HTTP requests. The HTTP mode supports single, batch, and load-testing modes.

Key features include support for variable message content, meaning each recipient can receive a slightly different message based on data you supply. You can import your recipient list from plain text files, CSV, Excel spreadsheets, or directly from a MySQL database. Scheduled sending is built in, with options for various time granularities. If a send fails, the tool keeps a history of results and lets you retry just the failed recipients. Multiple WeChat accounts can be saved and switched between within the app.

The interface is a Java Swing desktop GUI with light and dark themes and several visual styles. It also sends email notifications when a push batch finishes.

Under the hood it uses a thread pool and connection pooling (HikariCP for database connections and a pooled HTTP client) to handle high-volume sends without overwhelming the target APIs. Local storage uses SQLite via MyBatis. The README is written in Chinese, and the project's main documentation and download links point to a Chinese code-hosting platform called Gitee.

Where it fits