Eventbrite-to-iCal Converter https://eb-to-ical.daylightpirates.org/
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
LICENSE
README.md
eb_to_ical.conf
example_server.conf

README.md

Eventbrite-to-iCal Converter

Website: https://eb-to-ical.daylightpirates.org/

I wanted to follow several Eventbrite organizers' events on my personal calendar, but apparently Eventbrite doesn't have iCalendar support. So I made a proxy that converts the Eventbrite API to iCal (.ics) format. It is super bare-bones, using only nginx and Lua (directly in the nginx config).

How To Use

Option 1: Use the website

If you just want to convert an organizer's events to an iCal format, all you need to do is paste their Eventbrite profile (e.g. https://www.eventbrite.com/o/privacy-lab-7851144983) or id (e.g. 7851144983) into the above website.

All the website does is generate a link for Option 2 (so you don't have to).

Option 2: Create the link yourself

If you want to automate things, you can just create the iCal link yourself.

https://eb-to-ical.daylightpirates.org/eventbrite-organizer-ical?organizer={organizer_id}&token={anonymous_oauth_token}

Replace {organizer_id} with the Eventbrite organizer's id (e.g. https://www.eventbrite.com/o/privacy-lab-7851144983) and replace {anonymous_oauth_token} with your own Eventbrite API developer anonymous OAuth token.

If you don't have an Eventbrite API developer account or anonymous OAuth token, you can use mine: 5E4M74CSL7VNW5OQUDAA (NOTE: if you abuse this and it gets rate limited, I'll change it, and you'll ruin the party for everyone).

Option 3: Self-host

If you want to run this converter yourself, just include the eb_to_ical.conf in whatever nginx server config you want. All it does is add two locations (/eventbrite-organizer-ical and /eventbrite-api). The iCal conversion is done via Lua directly in the nginx config, so no outside dynamic servers are required!

Install requirements:

apt-get install nginx-extras lua-cjson

Add to server config (see example_server.conf for a what I use):

server {
    ...
    include /path/to/eb_to_ical.conf;
    ...
}

Make sure nginx likes the new include:

sudo service nginx configtest

Restart the server (you can use reload if you were already using nginx-extras):

sudo service nginx restart

Donate

If this was useful to you, please donate to the EFF. I don't work there, but they do fantastic work. I'd recommend signing up for a monthly recurring donation of $19.84.

https://eff.org/donate/

Copyright

Written by Daniel Roesler (https://daylightpirates.org/).

Copyright 2017. Released under the GNU AGPLv3.