Terry-Mao/goim has 7,368 GitHub stars and 1,786 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-06 11:28 UTC. Last push 2023-05-05.
goim
What you can do
- High performance
- Supports single push, multiple push and broadcasting
- Supports one key to multiple subscribers (Configurable maximum subscribers count)
- Supports heartbeats (Application heartbeats, TCP, KeepAlive, HTTP long pulling)
Measured star growth
- in 24h
- 0
- in 7 days
- Collecting history
- in 15 days
- Collecting history
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README_en.md
Originalgoim
Terry-Mao/goim is a IM and push notification server cluster.
Features
- Light weight
- High performance
- Pure Golang
- Supports single push, multiple push, room push and broadcasting
- Supports one key to multiple subscribers (Configurable maximum subscribers count)
- Supports heartbeats (Application heartbeats, TCP, KeepAlive)
- Supports authentication (Unauthenticated user can't subscribe)
- Supports multiple protocols (WebSocket,TCP)
- Scalable architecture (Unlimited dynamic job and logic modules)
- Asynchronous push notification based on Kafka
Installing
Dependencies
$ yum -y install java-1.7.0-openjdk
Install Kafka
Please follow the official quick start here.
Install Golang environment
Please follow the official quick start here.
Deploy goim
1.Download goim
$ yum install git
$ cd $GOPATH/src
$ git clone https://github.com/Terry-Mao/goim.git
$ cd $GOPATH/src/goim
$ go get ./...
2.Install router、logic、comet、job modules(You might need to change the configuration files based on your servers)
$ cd $GOPATH/src/goim/router
$ go install
$ cp router-example.conf $GOPATH/bin/router.conf
$ cp router-log.xml $GOPATH/bin/
$ cd ../logic/
$ go install
$ cp logic-example.conf $GOPATH/bin/logic.conf
$ cp logic-log.xml $GOPATH/bin/
$ cd ../comet/
$ go install
$ cp comet-example.conf $GOPATH/bin/comet.conf
$ cp comet-log.xml $GOPATH/bin/
$ cd ../logic/job/
$ go install
$ cp job-example.conf $GOPATH/bin/job.conf
$ cp job-log.xml $GOPATH/bin/
Everything is DONE!
Run goim
You may need to change the log files location.
$ cd /$GOPATH/bin
$ nohup $GOPATH/bin/router -c $GOPATH/bin/router.conf 2>&1 > /data/logs/goim/panic-router.log &
$ nohup $GOPATH/bin/logic -c $GOPATH/bin/logic.conf 2>&1 > /data/logs/goim/panic-logic.log &
$ nohup $GOPATH/bin/comet -c $GOPATH/bin/comet.conf 2>&1 > /data/logs/goim/panic-comet.log &
$ nohup $GOPATH/bin/job -c $GOPATH/bin/job.conf 2>&1 > /data/logs/goim/panic-job.log &
If it fails, please check the logs for debugging.
Testing
Check the push protocols herepush HTTP protocols
Configurations
TODO
Examples
Websocket: Websocket Client Demo
Android: Android SDK
iOS: iOS
Documents
##More TODO
Explore related projects
codecrafters-io/build-your-own-x
Master programming by recreating your favorite technologies from scratch.
560,402 starspublic-apis/public-apis
A collective list of free APIs
496,719 starsmorluto/rea
Reverse engineer anything with agents, from app behavior down to native binaries.
437,723 starsopenclaw/openclaw
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
394,058 stars