Development discussion. Logged to https://ddnet.tw/irclogs/ Connected with DDNet's IRC channel, Matrix room and GitHub repositories — IRC: #ddnet on Quakenet | Matrix: #ddnet-developer:matrix.org GitHub: https://github.com/ddnet
Between 2017-07-16 00:00:00Z and 2017-07-17 00:00:00Z
<eeeee> what if instead of extending the protocol to allow servers to provide http map urls we started crawling and hosting all maps from public servers?
eeeee: That would be fine for me. Providing the entire map downloads from TW would not be a large amount of bandwidth. We might need a bit more storage. heinrich5991 already has all the maps: https://heinrich5991.de/teeworlds/maps/maps/
<deen> eeeee: But it might be a bit dangerous to provide maps like that. Someone can fake the CRC relatively easily I assume and end we end up with duplicates
<eeeee> i'd mitigate that with the (unpopular) measure of manually whitelisting ips (or domain names) which would get crawled
07:50
<eeeee> rationale being what you said and other attack vectors (spamming the crawler with lots of huge maps) which we don't have time to deal with
07:51
<eeeee> apart from not being decentralized and hipster enough, i think whitelisting would work nicely because honestly not many servers release new maps these day
07:51
<deen> yeah, we'd need something like that I guess. For a start it's probably good enough to check if a map with same name and same crc is uploaded and instead of replacing the old one send me a mail
07:51
<deen> well, but someone has to maintain the whitelist, that's a bit annoying
07:52
<eeeee> works for banning on masters in #teeworlds
07:53
<eeeee> how much traffic do http map downloads generate currently?
07:53
<deen> 3 GB / day
07:54
<eeeee> do you expect it to be more if we deployed tw-wide?
07:54
<deen> So with support for all maps I'd guess 6 GB / day
07:54
<deen> and I even added a few common maps to our maps server manually
07:54
<deen> the ones that appeared in logs of often being requested
07:55
<deen> Usually block and gores
07:55
<deen> I guess we could just use heinrich5991's script
07:55
<deen> Or we just make ddnet client download from his server directly :D
07:58
<eeeee> he'll probably start injecting ads into the maps to recover the hosting costs :>
07:58
<deen> hahaha
07:59
<deen> oh, and right now our maps are transferred over http instead of https
08:00
<deen> updates over https seemed more important, not sure if we want to rethink that. I'll try adding regular ssl cert support for now
08:02
<deen> because right now only allow my custom ca since i didn't want to trust the hundreds of default CAs
08:05
<deen> heinrich5991: fix your permissions please, i can't download new files on your maps server
<Learath2> well bundling the LE root would mean that we trust the initial download was secure no?
08:54
<Learath2> think that's a no go
08:59
<deen> Learath2: can we use the system CAs and additionally add another CA?
09:00
<Learath2> i'll have a check at the API
09:04
<deen> what happens when a root ca becomes compromised? all OSes and browsers manually remove it from their CA list and add the new one?
09:04
<Learath2> deen: nope, you can either change the path that holds all the certs or give a path to the ca bundle
09:04
<deen> well, that's bad
09:05
<deen> So we're going to vendor-lock ourselves into LetsEncrypt?
09:05
<Learath2> deen: if a root ca becomes compromised i think its a horror show
09:06
<Learath2> that's why they only issue intermediary certs with the root iirc
09:07
<deen> and about cloudflare, any opinions?
09:09
<Learath2> well i don't have anything against it but i'd love to hear why you don't like it
09:09
<deen> I don't like the internet becing only usable if you're under the supervision of google, amazon, facebook, cloudflare. but we could try enabling it and check how the map download times change
09:09
<deen> since I have quite some stats now for map download times
09:10
<deen> So I will lock us into letsencrypt + my custom ca
09:12
<deen> can curl tell us what server we're connecting to?
09:13
<deen> or I have to str_comp_nocase_num against (https?://)?maps.ddnet.tw?
09:14
<deen> oh, and a / at the end or someone will use maps.ddnet.tw.myserver.com
c9b8711 Also trust Let's Encrypt Root CA - def-
191eefb Only trust our own custom-selected CAs for our ... - def-
e436498 Use https for map downloads by default - def-
4a8f3b0 Use new update server that runs on Let's Encrypt - def-
b05693e Version 10.6.6 - def-
c9b8711 Also trust Let's Encrypt Root CA - def-
191eefb Only trust our own custom-selected CAs for our ... - def-
e436498 Use https for map downloads by default - def-
4a8f3b0 Use new update server that runs on Let's Encrypt - def-
b05693e Version 10.6.6 - def-
Configuring curl with x86_64-w64-mingw32 takes forever, for example this hangs for a few minutes for me:
checking types of args and return type for send... SOCKET,const char *,int,int,int
22c3c13 Turns out we also need Intermediate Certificate... - def-
f94f567 New curl and openssl versions - def-
b2d86d1 Add missing mysql include files - def-
4a13d47 Use update4.ddnet.tw... - def-
5785267 Version 10.6.7 - def-