Git Product home page Git Product logo

lancache's Introduction

  • 👋 Hi, I’m @bntjah aka Geoffrey
  • 👀 I’m interested in Homelab, Lanparty and generaly making my life easier
  • 🌱 I’m currently working as an IT Consultant in Belgium
  • 📫 How to reach me just send me on Reddit a DM /u/bntjah

lancache's People

Contributors

bntjah avatar bonkersger avatar fhibler avatar gellis713 avatar imac2009 avatar nagilum99 avatar nexusofdoom avatar raz3r83 avatar saambd avatar travispk avatar wendelj avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lancache's Issues

Everything setup but not working

I've followed everything to a T but it won't cache anything even when I set my ps4 dns to the server ip. Nothing at all in any logs. Also it borks normal internet as well but apt-get still works. Ubuntu 16.04. Any ideas ?

lancache/conf/vhosts-enabled/lancache-glyph.conf

Again Naming is not consistant

server {
listen lancache-glyph deferred default;
server_name sony _;
access_log /srv/lancache/logs/Access/glyph.log main buffer=128k flush=1m;
access_log /srv/lancache/logs/Keys/glyph.log keys_range buffer=128k flush=1m;
error_log /srv/lancache/logs/Errors/glyph.log;

# Default Node
include lancache/resolver;
include lancache/cache-key-default;

location / {
    # Some downloads are very large so we cache based on range to keep single downloads quick and hence ensure interactivity is good.
    proxy_bind lc-host-proxybind;
    #proxy_cache_valid 206 90d;
    proxy_cache glyph;
    proxy_read_timeout 150;
    include lancache/proxy-cache;
    include lancache/cache-range;
}

}

lancache/conf/lancache/caches

Queue Naming Issues
proxy_cache_path /srv/lancache/data/glyph levels=2:2 keys_zone=apple:500m inactive=888d max_size=500000m loader_files=4000 loader_sleep=50ms loader_threshold=300ms;

These should both be "glyph"

problems with steam

I have a problem with steam I get the message "corrupt download" and it does not finish updating any game

OSX Apple Updates?

do we want to have OSX Apple Updates to be added to lancache?
I am going to be testing in my test setup in the next few weeks.

error in development branch install step 5

in development branch step 5 i got in lasts rows:

checking for OpenSSL library in /usr/local/ ... not found
checking for OpenSSL library in /usr/pkg/ ... not found
checking for OpenSSL library in /opt/local/ ... not found

./configure: error: SSL modules require the OpenSSL library.
You can either do not enable the modules, or install the OpenSSL library
into the system, or build the OpenSSL library statically from the source
with nginx by using --with-openssl=<path> option.

and doesn't add the rules to the Makefile:

default:        build
clean:
        rm -rf Makefile objs

i use a fresh debian 9
I'm sorry if it's too simple. is that I'm new to linux

playstation 4 updates not cached

i tried this, but still not working
Any idea ?
## Sony test
local-zone: "playstation.net." transparent
local-zone: "dl.playstation.net." redirect
local-data: "dl.playstation.net. 600 IN A lc-host-sony"
local-zone: "km.playstation.net." redirect
local-data: "km.playstation.net. 600 IN A lc-host-sony"

Querying Info

Is this still working?

I heard that lancache is having issues especially with league of legends. once an update is cached, other players can no longer connect to the league launcher.

I haven't tested myself. but I'd like to know if this repo is still maintained and if there are any issues that you are aware off that could cause any problems ?

Thanks

feature requests - network speed control

/etc/network/interfaces >

adjust speed from internet to around 30mbps down and for local network speed to 1GBps

up /sbin/wondershaper eth0 58800 1000000
down /sbin/wondershaper remove eth0

readme.md

please add

./configure --with-http_sub_module --with-http_slice_module --with-http_ssl_module --with-file-aio --with-threads

to Manual installation section

++

[emerg] "proxy_temp_path" directive is duplicate in /usr/local/nginx/conf/lancache/caches

Proxy bind

I believe if you leave Proxy bind out of the Ngnix configuration. It will by default use the first IP address on the primary Interface. This should simplify the configuration a bit, especially the manual install. Thoughts?

Added Support for Wold of Warships

DNS
address=/*.wargaming.net.edgesuite.net/
address=/update.worldofwarships.com/
address=/wgusst-na.wargaming.net/
address=/tracker-na.wargaming.net/
address=/wg.gcdn.co/ -------------- main download locations
address=/update-v4r4h10x.worldofwarships.com/
address=/dl2.wargaming.net/

Issues when testing Windows Update

[crit] 686#0: *271 bind(10.0.4.21) failed (22: Invalid argument) while connecting to upstream, client: 10.0.4.179, server: microsoft, request: "GET /d/msdownload/update/software/updt/2017/03/windows10.0-kb4015438-x64_3_aadae06fd0885db7996e702e453f784b4683d978.psf HTTP/1.1", upstream: "http://[2001:1900:2302:2f04::ff]:80/d/msdownload/update/software/updt/2017/03/windows10.0-kb4015438-x64_3_aadae06fd0885db7996e702e453f784b4683d978.psf", host: "download.windowsupdate.com"
2017/03/30 21:27:44 [crit] 692#0: *274 bind(10.0.4.21) failed (22: Invalid argument) while connecting to upstream, client: 10.0.4.179, server: microsoft, request: "GET /d/msdownload/update/software/updt/2017/03/windows10.0-kb4015438-x64_1_9881d994bf0f17a1120e12723450b6e54e499075.psf HTTP/1.1", upstream: "http://[2001:1900:2304:8f0a::ff]:80/d/msdownload/update/software/updt/2017/03/windows10.0-kb4015438-x64_1_9881d994bf0f17a1120e12723450b6e54e499075.psf", host: "download.windowsupdate.com"
2017/03/30 21:27:51 [crit] 692#0: *269 bind(10.0.4.21) failed (22: Invalid argument) while connecting to upstream, client: 10.0.4.179, server: microsoft, request: "HEAD /d/msdownload/update/software/updt/2017/03/windows10.0-kb4015438-x64_3_aadae06fd0885db7996e702e453f784b4683d978.psf HTTP/1.1", upstream: "http://[2001:1900:2304:af07::ff]:80/d/msdownload/update/software/updt/2017/03/windows10.0-kb4015438-x64_3_aadae06fd0885db7996e702e453f784b4683d978.psf", host: "download.windowsupdate.com"

Origin cached files are not served correctly

Hi,
I managed to get lancache up and running without using the lc-installer (currently working on an updated version and will add a pull request soon to incorporate all the changes).

I was able to test it successfully in the following setup:

  • Unbound 1.4.22 as DNS resolver (with modified config)
  • nginx 1.11.3 as caching proxy
  • sniproxy 0.4.0+git.29.gb2f0b34 for HTTPS communication

I was able to verify that it worked for Steam, Blizzard and Microsoft. Unfortunately we haven't used anything else during our small lan party.

For Origin it seems to be a bit different. nginx was able to cache the files correctly, but if another client downloads the same game it caches everything again instead of serving it from the cache. I wonder if the issue belongs to the ?sauth= argument Origin adds to each download. I already checked the nginx config, but that one seems to use the correct argument for proxy_cache_key ($uri instead of $request_uri).

Any ideas?

Microsoft Update Issue?? lancache/pfSense

Hey everyone! I'm having the same issues in my lancache as seen in #37. I see that as being marked as resolved, but even with the final microsoft.conf posted in there, I'm still having issues.

My topology for this is as follows:

Proxmox Virtual Env:        |------> switch (managed)  |-----> PCs
     VM1: Router (pfSense)
     VM2: Lancache (Ubuntu Server 17.04)            

I'm using pfSense's Unbound DNS resolver to filter and redirect to the lancache. This part is working for Steam/Blizzard/Arenanet/etc. I also see microsoft updates coming into lancache. It's when the microsoft updates start that things go bad. My DL speeds get slammed to capacity, and nothing is really seen getting passed back to the PCs on the LAN.

If I'm understanding the issue in #37, the ultimate resolution was to disable IPv6 for Unbound. But I'm not able to (or too dumb/tired to find the option to) disable that for the pfSense VM. Every time I make the change to unbound.conf and reboot or restart DNS, the unbound.conf gets wiped back to a default saved state. Near as I can tell this is a pfSense thing, and I need to change it in the Web-GUI. But like I said, I'm unable to find the option.

Any tips for the noob to get this working would be greatly appreciated!

feature requests - windows updates

lancache-microsoft.conf >

Windows Updates

server {
listen lancache-microsoft deferred default;
server_name microsoft _;
# DNS entries:
access_log /srv/lancache/logs/lancache-microsoft-access.log main buffer=128k flush=1m;
access_log /srv/lancache/logs/lancache-microsoft-keys.log keys_default buffer=128k flush=1m;
error_log /srv/lancache/logs/lancache-microsoft-error.log;

    # Default Node
    include lancache/resolver;
    include lancache/cache-key-default;

    location / {
            proxy_cache microsoft;
            include lancache/proxy-cache;
    }

}

New CDN for Blizzar

Hi, there is a new CDN for blizzard: level3.blizzard.com (I confirmed using wireshark)
I am using a slice_module based configuration for blizzard, I am having some problems downloading World Of Warcraft (all other blizzard games works fine). When I disable this new CDN the game (WOW) downloads just fine, but a portion is downloaded from this CDN and is not cached. Have you tried this new CDN with your configuration? how does it works? Do you recommend using slices for blizzard? for witch games are you using slices?
Thanks for your work and help, I will be trying your setup soon :)
regards
Freddy

Possible to use Pound?

Was going to try it out, but would it be possible to use Pound (http://www.apsis.ch/pound/) to decrypt HTTPS and send the cache and clients HTTP traffic? It looks like it can but I dont have time to test right now. Would make it easier to cache those pesky HTTPS CDNs that have been popping up if possible.

GoG bypasses cache

In my testing, I've only seen GoG use HTTPS, which of course doesn't get cached. This is using the Galaxy client. Has anyone found a way to force HTTP, without needing to touch client settings?

Dockerizing the app

Let's make this project a docker image so the setup would be pull and play :)
I think I can work on it if there's any interest?

Bursty download performance

Had a few staff notice at our last event that game downloads in Steam and Origin and maybe others are bursty. They would get full speed 11MB/sec (100Mb port) down, and then it would drop to a few KB/sec for a bit, and then spike back up to full speed 11MB/sec. I didn't have any available time to troubleshoot but wanted to raise this issue for more research. Might be some optimizations tweaks with Nginx we need to add.

Apple Cache not working.

Configuration all OK but its can't write any file on apple folder.
mzstatic.com when set this to unbound apple store image can't show.
I can't see any image from here.
https://s.mzstatic.com/images/web/itunes_preview/[email protected]

Also how many day to need cache Microsoft windows update? I already run it from tomorrow but windows update complete but its auto download from Microsoft site. which file it's caching i don't understand.

Please guys help me.

Automated populating

Creating some sort of script that auto populates DNS, Hosts and the Conf Files

steam logs and traffic

="steam/server-status" - KEY="steam/server-status" - CACHE="MISS"
[21/Oct/2017:17:22:01 -0500] - REQUEST="steam/server-status" - KEY="steam/server-status" - CACHE="MISS"
[21/Oct/2017:17:22:04 -0500] - REQUEST="steam/server-status" - KEY="steam/server-status" - CACHE="MISS"
[21/Oct/2017:17:23:06 -0500] - REQUEST="steam/server-status" - KEY="steam/server-status" - CACHE="MISS"
[21/Oct/2017:17:23:09 -0500] - REQUEST="steam/server-status" - KEY="steam/server-status" - CACHE="MISS"
[21/Oct/2017:17:23:12 -0500] - REQUEST="steam/server-status" - KEY="steam/server-status" - CACHE="MISS"
[21/Oct/2017:17:23:15 -0500] - REQUEST="steam/server-status" - KEY="steam/server-status" - CACHE="MISS"
[21/Oct/2017:17:23:20 -0500] - REQUEST="steam/server-status" - KEY="steam/server-status" - CACHE="MISS"
[21/Oct/2017:17:23:24 -0500] - REQUEST="steam/server-status" - KEY="steam/server-status" - CACHE="MISS"
[21/Oct/2017:17:23:27 -0500] - REQUEST="steam/server-status" - KEY="steam/server-status" - CACHE="MISS"
^Ctravus@lancache-server:/usr/local/nginx/conf$ sudo tail /srv/lancache/logs/Access/steam.log -f
10.0.4.44 - [21/Oct/2017:17:20:38 -0500] - REQUEST="GET /server-status HTTP/1.1" - REQUEST_URI="/server-status" - URI="/server-status" - STATUS="200" - BYTES="368"
10.0.4.44 - [21/Oct/2017:17:20:41 -0500] - REQUEST="GET /server-status HTTP/1.1" - REQUEST_URI="/server-status" - URI="/server-status" - STATUS="200" - BYTES="368"
10.0.4.44 - [21/Oct/2017:17:20:44 -0500] - REQUEST="GET /server-status HTTP/1.1" - REQUEST_URI="/server-status" - URI="/server-status" - STATUS="200" - BYTES="368"
10.0.4.44 - [21/Oct/2017:17:20:47 -0500] - REQUEST="GET /server-status HTTP/1.1" - REQUEST_URI="/server-status" - URI="/server-status" - STATUS="200" - BYTES="369"
10.0.4.44 - [21/Oct/2017:17:20:50 -0500] - REQUEST="GET /server-status HTTP/1.1" - REQUEST_URI="/server-status" - URI="/server-status" - STATUS="200" - BYTES="367"
10.0.4.44 - [21/Oct/2017:17:20:52 -0500] - REQUEST="GET /server-status HTTP/1.1" - REQUEST_URI="/server-status" - URI="/server-status" - STATUS="200" - BYTES="368"
10.0.4.44 - [21/Oct/2017:17:20:56 -0500] - REQUEST="GET /server-status HTTP/1.1" - REQUEST_URI="/server-status" - URI="/server-status" - STATUS="200" - BYTES="367"
10.0.4.44 - [21/Oct/2017:17:20:59 -0500] - REQUEST="GET /server-status HTTP/1.1" - REQUEST_URI="/server-status" - URI="/server-status" - STATUS="200" - BYTES="369"
10.0.4.44 - [21/Oct/2017:17:22:01 -0500] - REQUEST="GET /server-status HTTP/1.1" - REQUEST_URI="/server-status" - URI="/server-status" - STATUS="504" - BYTES="347"
10.0.4.44 - [21/Oct/2017:17:22:04 -0500] - REQUEST="GET /server-status HTTP/1.1" - REQUEST_URI="/server-status" - URI="/server-status" - STATUS="200" - BYTES="366"

Use hostnames instead of fixed IP address on interfaces

I used to use this configuration of a LANCache a few years ago (https://blog.yolocation.pro/index.php/2016/02/03/how-to-install-lancache-on-debian/)

One thing I REALLY liked about it, is that it only used 1 IP address. It had the hostnames part of the Nginix configuration for virtual name hosting. For example, if Steam client connected, Nginx would look at the Host in the HTTP header and identify it is connecting to a Host defined for Steam and direct it to that depot. This GREATLY simplified the LANCache configuration and DNS. Thoughts on implementing that in your AWESOME lancache?

Range_Cache Branch

So I've seen the range_cache module beeing dropped by multiplay and I'm finally able to test it.
Needless to say I will post my progress in the range cache branch so its experimental but any help would appreciated :-)

GoG - server not found

I spotted an issue here on my setup.
The GoG Galaxy client complains every time I try to start a download.
This happens exactly at the moment where the game's EULA/ToS should appear.
Downloading the GoG Galaxy Software and login works by the way.

Did you encounter similar problems here?

Development - Steam not caching

Tried a new setup (well playing around in my whitebox) and it appears steam is not working.
Will have a look in to this later on

Order in configs should be consistent

To make it easier to adapt config for own network/s, config files should ahve the same order:

https://github.com/bntjah/lancache/blob/master/hosts
lc-host-steam lancache-steam
lc-host-riot lancache-riot
lc-host-blizzard lancache-blizzard
lc-host-hirez lancache-hirez
lc-host-origin lancache-origin
lc-host-sony lancache-sony
lc-host-microsoft lancache-microsoft
lc-host-tera lancache-tera
lc-host-gog lancache-gog
lc-host-arena lancache-arenanetworks
lc-host-apple lancache-apple
lc-host-wargaming lancache-wargaming
lc-host-uplay lancache-uplay
lc-host-glyph lancache-glyph

https://github.com/bntjah/lancache/blob/master/interfaces
_ # IP used for Steam caching

IP used for Riot caching

IP used for Blizzard caching

IP used for Hirez caching

IP used for Origin caching

IP used for Sony caching

IP used for Microsoft caching

IP used for Tera caching

IP used for GOG caching

IP used for ArenaNetworks caching

IP used for WarGaming caching

IP used for Uplay caching

IP used for Uplay caching

IP used for Glyph caching_

(shortened for clearness)

I've sumbitted a corrected interfaces file and send a pull request.

Some Performance and stability changes for testing

  • get required utilities
apt-get install checkinstall docbook-xsl docbook-xsl-ns docbook-xsl-doc-html xsltproc
  • get jemalloc and build
git clone -b stable-4 --depth 1 https://github.com/jemalloc/jemalloc.git
cd jemalloc
./autogen.sh
make && make dist
checkinstall --pkgname=jemalloc --pkgversion="4-stable" --backup=no --deldoc=yes --fstrans=no --default
make clean && make distclean
cd ..
rm -rf jemalloc
  • get and build nginx
curl http://nginx.org/download/nginx-1.15.1.tar.gz | tar zx
cd ngnix-1.15.1
./configure --with-http_slice_module --with-http_ssl_module --with-file-aio --with-threads --with-ld-opt="-lrt -ljemalloc -Wl,-z,relro -Wl,-rpath,/usr/local/lib" --with-cc-opt="-m64 -march=native -g -O3 -fstack-protector-strong --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wno-deprecated-declarations" --sbin-path=/usr/local/sbin/nginx --conf-path=/usr/local/nginx/conf/nginx.conf
make
checkinstall --pkgname=nginx --pkgversion="1.15.1-custom" --backup=no --deldoc=yes --fstrans=no --default
make clean
cd ..
rm -rf nginx-1.15.1
  • Profit

  • if necessary remove the above installed packaged with

dpkg -r jemalloc nginx

cheers Itow

edit

  • add necessary packages 13/10/17
  • update nginx to 1.13.8 03/01/18
  • update nginx to 1.15.1 18/07/18

ArenaNetworks Games

working on getting Guildwars2 working it should work with there other games that they have
testing now.. it looks like it will be good to go.

address=/.ArenaNetworks.com/x.x.x.x

Caching Issue with Blizzard

First of all awesome work with the caching server and making it so much simple to install and get setup, many thanks to all contributors.

Onto the issue, the caching server has been setup on Debian using the lc_installer.sh script and is using unbound installed to the same server for DNS, both steam and origin are caching great.

The DNS redirect for blizzard is working and I can see the traffic is going through the cache, I can see available disk space reducing as it caches blizzard content, however re-installed a game that should be cached pulls all data through from the internet again.

Tested with all but Overwatch from the blizzard downloader.

I was receiving a large number of errors in the log about not being able to resolve host, however a ping from that server resolves correctly, whereas a ping from a machine local to the network resolves to the blizzard virtual interface.

Any help/advice for tracking this down would be much appreciated.

content expired?

I keep seeing these, more often than I feel like I should..
[29/Aug/2017:21:51:40 -0600] -KEY="steam/depot/527101/chunk/3e70aab15d0a6e92a807d008444952dc97e32508" -CACHE="EXPIRED"
[29/Aug/2017:21:51:41 -0600] -KEY="steam/depot/527101/chunk/b6c103e895036b55308a81001090d2954e397fa9" -CACHE="EXPIRED"
[29/Aug/2017:21:51:42 -0600] -KEY="steam/depot/527101/chunk/5cd6f21d9412ef06ff5a100338376579ae26c9c2" -CACHE="EXPIRED"
[29/Aug/2017:21:51:42 -0600] -KEY="steam/depot/527101/chunk/a4bac1200b378683f3fa3eefb95c7e636e10b783" -CACHE="HIT"
[29/Aug/2017:21:51:44 -0600] -KEY="steam/depot/527101/chunk/f88af413e7f5aea9e3b24dbcf810cbd7c2a77d41" -CACHE="EXPIRED"
[29/Aug/2017:21:51:45 -0600] -KEY="steam/depot/527101/chunk/36e4d6d8086ca2b775d4971a9040e2bb7d3da01e" -CACHE="EXPIRED"
[29/Aug/2017:21:51:45 -0600] -KEY="steam/depot/527101/chunk/557e3ce1a95cd78f332aba06afb05ab560bf4390" -CACHE="EXPIRED"
[29/Aug/2017:21:51:46 -0600] -KEY="steam/depot/527101/chunk/a6e0282075d85273958b300177cd59dced3d425d" -CACHE="EXPIRED"
[29/Aug/2017:21:51:46 -0600] -KEY="steam/depot/527101/chunk/af3b4be708a0d649e3ee0572b24bdcf6104ffa90" -CACHE="EXPIRED"
[29/Aug/2017:21:51:46 -0600] -KEY="steam/depot/527101/chunk/0360c018ffb65dcb05822147e141f36daa2dcdc0" -CACHE="EXPIRED"

What am I doing wrong? Isn't the lancache server supposed to ignore the expiry date on the CDN content? For whatever reason this only seems to happen when we really want to download any given content, and then it's back to my uber slow internet connection.. Help!?!?!?

Nginx AIO

Hi,
im trying to update my lancache server to the latest conf. provided in this project, but i keep getting the following error : aio threads is unsupported on this platform

thanks & appreciate your support.
regards,

Out of order IP addresses on Interfaces

Is there a reason why the IP address are completely out of order and different on the installer.sh compared to the manual install? I'd love to see the IP address in order in the interfaces and host file. Maybe it is just my OCD kicking in. Was going to do a pull request, but wasn't sure if there was a reason behind.

Short example:

installer.sh - interface file

# IP used for Steam caching
auto eth0:1
iface eth0:1 inet static
address 10.10.10.68
netmask 255.255.255.0

# IP used for Riot caching
auto eth0:2
iface eth0:2 inet static
address 10.10.10.67
netmask 255.255.255.0

# IP used for Blizzard caching
auto eth0:3
iface eth0:3 inet static
address 10.10.10.62
netmask 255.255.255.0

Manual install - interface file

# Ip used for STEAM caching
auto eth0:1
iface eth0:1 inet static
address 10.10.10.61
netmask 255.255.255.0

# Ip used for RIOT caching
auto eth0:2
iface eth0:2 inet static
address 10.10.10.62
netmask 255.255.255.0

# Ip used for Blizzard caching
auto eth0:3
iface eth0:3 inet static
address 10.10.10.63
netmask 255.255.255.0

Xbox One Caching

Was just wondering if you knew of anyone that managed to get Xbox one caching working, not too fussed about game updates, would really like to know if you can cache system updates this way ?

Synology NAS - Setup

Hi,

I have multiple PC's each with Steam (plus other launchers) and I think this awesome project can help ease my internet woes.

I own a NAS (Synology DS214play) and I'd like to setup this project on this device, allowing all PCs in the house to fetch from this local cache.

The problem is, I really don't get (understand) Linux and I'm struggling big time. I've been trying to learn bits and bobs but I REALLY don't want to make a mistake and break my NAS. So I have one or two questions I guess.

Would anyone be able to help me install this project onto my NAS with some simple guidance for a n00b (and I do mean simple, from browsing directories to installing programs). Or alternatively, do you think this sort of project could be packaged up for Synology users to install (via the synology package centre). I'm assuming the former would be much easier but I'd love to know what you guys think.

@bntjah I tried running your lc-installer but I think the install didn't go as planned. Here's the log...

sh-4.3# chmod +x installer.sh
sh-4.3# sh installer.sh
The MAC Adresses for these Interfaces are:
eth0 sit0 tun0
HIDING MAC ADDRESS, BUT IMAGINE IT'S HERE
Please Enter The Interface to Use:
The Interfaces on this machine are: eth0 sit0 tun0
eth0
You have Entered: eth0

Checking if this Interface Exists...
It seems that eth0 exists

Now Defining the necessary files
sudo: adduser: command not found
sudo: addgroup: command not found
sudo: usermod: command not found
sudo: apt-get: command not found
sudo: apt-get: command not found
Cloning into 'lancache'...
remote: Counting objects: 643, done.
remote: Total 643 (delta 0), reused 0 (delta 0), pack-reused 643
Receiving objects: 100% (643/643), 78.04 KiB | 0 bytes/s, done.
Resolving deltas: 100% (407/407), done.
Checking connectivity... done.
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  867k  100  867k    0     0   689k      0  0:00:01  0:00:01 --:--:--  689k
sudo: apt-get: command not found
checking for OS
 + Linux 3.2.40 i686
checking for C compiler ... not found

./configure: error: C compiler cc is not found

sudo: make: command not found
sudo: make: command not found
mv: cannot stat ‘/usr/local/nginx/conf/nginx.conf’: No such file or directory
cp: cannot create regular file ‘/usr/local/nginx/conf/nginx.conf’: No such file or directory
mkdir: cannot create directory ‘/usr/local/nginx/conf/lancache’: No such file or directory
mkdir: cannot create directory ‘/usr/local/nginx/conf/vhosts_enabled/’: No such file or directory
cp: target ‘/usr/local/nginx/conf/lancache’ is not a directory
cp: target ‘/usr/local/nginx/conf/vhosts_enabled/’ is not a directory
cp: target ‘/etc/bind/’ is not a directory
sudo: service: command not found
sh-4.3# sudo /etc/init.d/lancache start
sudo: /etc/init.d/lancache: command not found

Any help would be greatly appreciated.

Many Thanks,

Linux n00b

Clear Cache ?

Hey,

Is there a way to clear the cache ?

And is there a way to change the size of the downloaded chunks ?, for some games the chunks are about 1m and for some around 100k.

Regards

IDEA: Switch from full zones to RPZ

We're preparing our servers for our party as well. I'm currently playing with a alternative way to actually redirect users to the lancache server. Maybe the idea is worth some thoughts

The idea is to use the RPZ (Response Policy Zone) feature from bind. RPZ is basically a DNS Firewall where you can modify, redirect or block dns queries/results. All rules are basically stored in a normal zone which replicated across nameservers. It support single hosts and even wildcards.

  1. Create a local zone definition
zone "rpz.example.net" {
        type master;
        file "/etc/bind/db.rpz.example.net";
};
  1. load the RPZ zone in the options { } section
response-policy {zone "rpz.example.net";};
  1. fill it with content
$TTL 2h ; default TTL
$ORIGIN rpz.example.net.
@       SOA     ns1.example.net. admin.example.net. (
                1          ; serial
                604800     ; refresh (1 week)
                86400      ; retry (1 day)
                2419200    ; expire (4 weeks)
                86400      ; minimum (1 day)
                )
        NS      ns1.example.net.
        NS      ns2.example.net.

cs.steampowered.com                     CNAME lancache-steam.example.net.
*.cs.steampowered.com                   CNAME lancache-steam.example.net.
content1.steampowered.com               CNAME lancache-steam.example.net.
content2.steampowered.com               CNAME lancache-steam.example.net.
content3.steampowered.com               CNAME lancache-steam.example.net.
content4.steampowered.com               CNAME lancache-steam.example.net.
content5.steampowered.com               CNAME lancache-steam.example.net.
content6.steampowered.com               CNAME lancache-steam.example.net.
content7.steampowered.com               CNAME lancache-steam.example.net.
content8.steampowered.com               CNAME lancache-steam.example.net.
content9.steampowered.com               CNAME lancache-steam.example.net.
*.hsar.steampowered.com.edgesuite.net   CNAME lancache-steam.example.net.
*.akamai.steamstatic.com                CNAME lancache-steam.example.net.
content-origin.steampowered.com         CNAME lancache-steam.example.net.

I can't tell you anything about performance hits, but maybe it's worth a look. Maybe bind logging has to be adjusted but well ...

p.s. check the minimum required bind version (9.8). I know debian8 works, but the best version for it would be 9.10+. The RPZ feature is usually used to block dns requests to domains that contain bad stuff like trojaner and such.

League of Legends CDN Caching

Hi guys,

We enabled SSL on all regions approximately a week ago. Regretfully, it broke local caching for servers. Spoofing an SSL cert won't work as the patcher will reject an invalid cert.

We're aware of the issue and working towards fixing it. You can see a conversation I had with another team about solutions we're investigating here: ti-mo/ansible-lanparty#8

Jonathan Howard // Patcher Team // Riot Venia

Help Wanted to maintain

If you feel like helping out as I'm a bith more occupied with work then before; do let me know through here or somewhere else and we'll try and figure out what we can do together

Slicing and proxy_bind

Hi @bntjah

does this option (--with-http_slice_module) means slicing would be enabled? wouldnt this affect riot League of legends? or is it working fine? also, i could not find where to change to proxy_bind variable? is it in /usr/local/nginx/conf/nginx.conf ? cz i cant see it there.

also, anyone tested with blizzard games?

Thanks,

feature requests - tera

Tera Game Updates

server {
listen lancache-tera deferred default;
server_name tera _;
# DNS entries:
access_log /srv/lancache/logs/lancache-tera-access.log main buffer=128k flush=1m;
access_log /srv/lancache/logs/lancache-tera-keys.log keys_default buffer=128k flush=1m;
error_log /srv/lancache/logs/lancache-tera-error.log;

    # Default Node
    include lancache/resolver;
    #include lancache/cache-key-default;

    location / {
            proxy_cache tera;
            proxy_set_header Range $http_range;
            proxy_set_header If-Range $http_if_range;
            proxy_cache_key "$server_name$request_uri $http_range";
            proxy_cache_valid 206 90d;
            include lancache/proxy-cache;
    }

}

Description

I'd recommend adding a good description on this repo so that it ranks better in search engines.

Steam Cache Not serve from lancache

steam download some games from this ip 58.26.7.212. please help us to update this ip unbound dns ruls or find out this ip dns http address.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.