Skip to content
This repository has been archived by the owner on Oct 5, 2021. It is now read-only.

RyanEwen/lan-cache-docker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A Simple LAN Cache Using Docker

Reduce internet traffic and increase install speeds for:

  • Steam
  • Origin
  • Uplay
  • Blizzard (Including Destiny 2)
  • League of Legends
  • ArenaNet (Guild Wars 2)
  • Frontier (Elite Dangerous)
  • Microsoft (Windows Updates)

The folowing are untested and may require SSL certificate spoofing to work (not covered here).

  • Xbox
  • PlayStation
  • Hirez
  • Epic Games (needs SSL spoofing to work)

Quick Start

  1. Build the docker images and spawn docker containers:

    • docker-compose up --build -d
    • Full setup instructions can be found in the Wiki
  2. Test your cache server from another machine:

    • nslookup steamcontent.com <ip-of-cache-server>
    • Full testing instructions can be found in the Wiki
  3. Direct network traffic to your cache server:

    • Configure your router to use the cache server as a DNS server. Some routers have this setting on WAN settings page. Failing that, check the LAN settings page.
    • Alternatively you can configure individual machines by changing the DNS server address in their network settings.

How this works

There are 3 docker containers that make up the cache server:

  • dnsmasq: Uses Dnsmasq DNS server to redirect requests for game downloads to the cache server.
  • nginx: Uses NGINX web server as an HTTP proxy and to cache HTTP requests for game downloads.
  • sniproxy: Uses SNI Proxy server as an HTTPS proxy to prevent redirected HTTPS traffic from 404-ing. This traffic cannot be cached so it's simply passed-through without decryption.

Adding or updating services

Help

  • Check the Wiki first.
  • Please report issues or request help here

Credits

This started as a fork of OpenSourceLAN's origin-docker which I decided to dive deep into and ended up reorganizing quite a bit. Credit is due over there :)