aviary
aviary
aviary
is a light Twitter-to-RSS relay intended to make it easy for people to read Twitter feeds from their RSS client.
Installation
Included is a Dockerfile for easy deployment, or you can build it yourself.
From source
You need the Crystal compiler, which may be provided by your distribution.
$ git clone https://gitlab.com/xeals/aviary
$ cd aviary
$ shards install
$ shards build
$ ./bin/aviary
From Docker
$ git clone https://gitlab.com/xeals/aviary
$ cd aviary
$ docker build -t aviary:latest .
$ docker run aviary:latest
Configuring
aviary
is configured through environment variables.
Required
AVIARY_BASE_URL
: URL of the site you'll be running aviary from. Not super important as to what it is, but still required.
Twitter API
As aviary
fetches information using the Twitter API, you are required to be able to access the API. Follow the instructions on the Twitter API guide and create a new app.
AVIARY_CONSUMER_KEY
: Consumer API keyAVIARY_CONSUMER_SECRET
: Consumer API secretAVIARY_ACCESS_TOKEN
: Access tokenAVIARY_ACCESS_SECRET
: Access token secret
Optional
AVIARY_DB
: SQLite database file. Defaults to./aviary.db
AVIARY_PORT
: Port to run on. Defaults to3000
.AVIARY_HOST
: Host to listen on. Defaults to0.0.0.0
.
Usage
aviary
runs a light server that essentially acts as a Twitter timeline to RSS converter.
Accessing the web interface (e.g., running on your local machine, on http://localhost:3000
) allows you to specify users to follow. Enter any number of Twitter display names (the @
The RSS feed is generated on demand at /feed.xml
based on the configured users. Tweets are presented in ascending chronological order (newest first).
If you don't want to have a single feed and prefer your RSS aggregator to manage users, you can instead access a single timelineat /:user
(e.g., http://localhost:3000/abcnews
).
Development
TODO: Write development instructions here
TODO list
- Post-process body to include links to hashtags, users, etc.
- Embed media
- Manage to do all the above without the XML serialiser fucking everything
- Push extended tweet functionality to upstream
Contributing
- Fork it (https://gitlab.com/xeals/aviary/fork)
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
Contributors
- xeals - creator, maintainer
License
aviary is licensed under the GPL-3.0 license.
aviary
- 0
- 0
- 0
- 0
- 8
- about 6 years ago
- October 4, 2018
GNU General Public License v3.0 or later
Mon, 18 Nov 2024 01:34:23 GMT