Import your liked Talks from the 38c3 Hub in your Calendar https://orangerot.dev/events.ics
Go to file
2024-12-27 15:05:09 +01:00
go.mod Initial commit 2024-12-27 14:17:54 +01:00
go.sum Initial commit 2024-12-27 14:17:54 +01:00
LICENSE Initial commit 2024-12-27 14:17:54 +01:00
main.go feat: only fetch big list of all events every ten minutes instead of on every request 2024-12-27 15:05:09 +01:00
README.md doc: added README 2024-12-27 14:39:01 +01:00

ic3s

Import your liked Talks from the 38c3 Hub in your Calendar

Usage (Android)

Requirements:

  • ICSx5
  • Fossify Calendar (other Calendar Apps could also work)

In ICSx5 subscribe to a new calendar on +. For the Webcal-Address type in the url on which ic3s is hosted:

https://{HOST}/events.ics

Enable authentication and enter your credentials from the 38c3 Hub. At last click on subscribe. It now should tell you that it successfully downloaded your calendar.

Now go to Fossify Calendar, click on the three dots on the top right and settings. Go down to the CalDAV heading, click an manage synchronised calendars and select the url you just entered in ICSx5 and apply. You might need to pull down on the main screen of Fossify and ICSx5 until the loading symbol appears to get the latest data.

Setup

Start ic3s as a service. Here an example for freebsd:

#!/bin/sh

# PROVIDE: ic3s
# REQUIRE: LOGIN
# KEYWORD: shutdown

. /etc/rc.subr

name=ic3s
rcvar=ic3s_enable

load_rc_config $name

: ${ic3s_enable="NO"}
: ${ic3s_user="ic3s"}


command=/usr/sbin/daemon
procname=/usr/local/bin/ic3s
pidfile=/var/run/${name}/${name}.pid

command_args="-c -p ${pidfile} ${procname}"

run_rc_command "$1"

Put this in your nginx.conf

server {
    ...
    location /events.ics {
	    proxy_pass http://127.0.0.1:8080$request_uri;
	    proxy_set_header Host $http_host;
	    proxy_buffering off;
    }
    ...
}

Have fun :)

License

This project is licensed under the AGPL-3 License - see the LICENSE file for details