Twitter API proxy server using gRPC
Goldcrest is a proxy server using gRPC for interacting with the Twitter API v1.1. Its main focus is on providing centralised
rate-limit tracking so that several processes can concurrently use the Twitter API without having to worry about rate-limits.
Currently, there are clients in Go and Rust.
Please note that this project is still in alpha stage; use at your own risk!
Goldcrest currently supports the following Twitter API endpoints:
Twitter API endpoint | gRPC method |
---|---|
statuses/update |
PublishTweet |
statuses/retweet |
RetweetTweet |
search/tweets |
SearchTweets |
statuses/unretweet |
UnretweetTweet |
statuses/show |
GetTweet |
statuses/lookup |
GetTweets |
statuses/destroy |
DeleteTweet |
statuses/home_timeline |
GetHomeTimeline |
statuses/mentions_timeline |
GetMentionTimeline |
statuses/user_timeline |
GetUserTimeline |
favorites/create |
LikeTweet |
favorites/destroy |
UnlikeTweet |
account/update_profile |
UpdateProfile |
Pre-built images are available on Docker Hub.
docker run -d -p 127.0.0.1:8080:8080 --read-only pantonshire/goldcrest
Currently, images are available for amd64 and arm64. If you’re using a different architecture, you’ll probably need to build the image yourself:
docker build -t goldcrest https://github.com/Pantonshire/goldcrest.git#main
docker run -d -p 127.0.0.1:8080:8080 --read-only goldcrest
go install google.golang.org/protobuf/cmd/protoc-gen-go
)make proto
from the repository root.make
from the repository root.cp default.goldcrest.yaml goldcrest.yaml
to get a correctly-named config file.