bntjah / lancache

Improve download speeds and reduce strain on your Internet connection at LAN parties. Locally cache game installs and updates from the largest distributors: Steam, RIOT, Blizard, Hirez, Origin, Sony, Microsoft, Tera, GOG, ArenaNetworks, WarGaming, and Uplay. Super easy to setup with auto installer script!
175 stars 43 forks source link

Add Epic games and Twitch? #41

Closed travispk closed 7 years ago

travispk commented 7 years ago

Do we need to add Epic games and Twitch?

This lancache has them: https://blog.yolocation.pro/index.php/2016/02/03/how-to-install-lancache-on-debian/

I believe with Twitch, if more than a few people are watching the same stream, it will become one download from the Internet. However, if I remember when I tried this, it broke being a streamer (upload). So we might have to research if we can fix that.

nexusofdoom commented 7 years ago

sound cool one thing that would be nice is maybe have the installer ask what sources you would like to cache and a reconfigure script to adjust what is active and what is not?

something like "dialog" we use this at our office to let us select what command to run .

nexusofdoom commented 7 years ago

looks like Epic is using HTTPS

Hi Taffer, Unfortunately, the Epic Games Launcher is using HTTPS for its download traffic. That’s making it a bit difficult to cache its downloaded contents, but there is a(n) (experimental ) way, but it needs some workaround at the client: SERVER SIDE: create the config file for the epic games intance(an example can be downloaded here: http://blog.yolocation.pro/wp-content/uploads/2016/01/epic.zip) Create a self signed certificate (SSC) and use the following common names: download.epicgames.com download1.epicgames.com download2.epicgames.com download3.epicgames.com download4.epicgames.com You can find more info about SSC here: https://doc.pfsense.org/index.php/Certificate_Management You need to refer to the cert in your site config. Install the libssl-dev package through apt-get (apt-get install libssl-dev) You need to rebuild nginx with the --with-http_ssl_module flag added. Configure your dns server to resolve the above A records to your nginx cache IP. CLIENT SIDE: Install your SSC CA to your client PC. Start the epic launcher with the flag -http=wininet (without this flag, the Epic games Launcher wil use curl to process the downloads and wil reject your SSC, because it uses its own CA bundle) Enjoy cached downloads! But be warned, hasn’t been tested thoroughly yet! If you’ve any questions, please let me know.

travispk commented 7 years ago

Well that stinks! That won't work, we can't have attendees install certificates. Just like discussed in the other thread/issue. https://github.com/bntjah/lancache/issues/13

I like the dialogue idea, or maybe a text file with all of the depots listed, and you just comment out or remove the ones you don't want to install. If we move to the one IP address solution that I suggested, the installer could still let the depot in Nginx with the server_name. Just need to have the installer comment out, or not include the DNS address overrides for Unbound. https://github.com/bntjah/lancache/issues/29

nexusofdoom commented 7 years ago

might be nice to have multi nic card support at my office I have one nic card for ssh access and unbound traffic and one for all the other cache uploads to the clients

travispk commented 7 years ago

Going to ask the question. Why? :)

I have a separate server for DNS, so I move the Unbound config over to that. But there is no reason it couldn't all be on the same server/NIC/IP. Utilize iptables if you want to do firewalling.

nexusofdoom commented 7 years ago

since I do not have a 10gb uplink to my switch I have dual nics gig each. one for DNS and one for Caching. the switch has a 48gb back plane so if one port is used it will still be free to accept traffic on the other port.

travispk commented 7 years ago

Okay, makes sense. In that solution, changing the interface IP in Unbound after installed or modify the template file should work. SSH will work on both NICs by default unless you change it. We could also just change unbound interface to 0.0.0.0 in the template, so DNS works on all interfaces/nics. Up to the user to lock it down more if needed.

If that was in place, then two NICs would work out of box. You can use SSH and DNS on one NIC, and downloads/uploads on the other.

Mastric commented 7 years ago

I'd have to suggest investing the $100 for a 48/2 switch and 10gbit PCI-E card. If that is out of the question, LACP or Manual LAG next.

nexusofdoom commented 7 years ago

what card would you suggest for pci-e ? http://www.ebay.com/itm/New-Emulex-P005414-IBM-74Y3459-OCE11102-2-Port-PCI-e-10-GB-Twinax-adapter-/152372342003?hash=item237a196cf3:g:EL4AAOSwa~BYYwUN

Mastric commented 7 years ago

Mellanox has good driver support, even for esxi. http://www.ebay.com/itm/350983607686. Same seller also has the card with a 3M Twinaxe cable for $3 more.

travispk commented 7 years ago

I'm fond of Intel D520, DA1 are usually pretty cheap. Also good driver support, especially in ESX.

nexusofdoom commented 7 years ago

thanks

nexusofdoom commented 7 years ago

as far as Twitch goes it looks like it should work have not tested.

Mastric commented 7 years ago

I've used https://github.com/steamcache/twitch in the past with success. Haven't checked this year to see if anything has changed.

Edit: Info page informs me it does not work now.

bntjah commented 7 years ago

I don't know if caching twitch will be a solution as this is more something that a Proxy like squid or something similar would do but concerning the EPIC games that it goes over HTTPS means it needs a SSL and I'm trying to avoid installing anything on the lanners pc. This needs to stay a server side solution without any installation on the client...