Coder Social home page Coder Social logo

lancache-autofill's Introduction

lancache-autofill

Automatically fill a lancache with the content of your choosing, so that subsequent downloads for the same content will be served from the lancache, improving speeds and reducing load on your internet connection.

Features

  • Queue the top 1 to 100 popular apps on Steam, or just the free apps
  • Queue a specific app by ID
  • Choose which platform(s) to download an app for
  • Use multiple Steam accounts to download apps
  • See which apps downloaded successfully
  • See which apps failed, and what the error message was
  • Retry downloading of failed apps

Requirements

  • A working lancache
  • Ubuntu 16.04 x64, configured to download via the lancache
  • Sufficient disk space to (temporarily) store the downloaded content
  • PHP 7.0

Installation

  • git clone https://github.com/zeropingheroes/lancache-autofill.git
  • cd lancache-autofill
  • sudo ./install.sh

Quick Start

  1. Install and initialise SteamCMD:

    ./lancache-autofill steam:initialise

  2. Set the default Steam account to be used when queueing apps for download:

    nano .env

  3. Search for the apps you wish to download to find their app ID:

    ./lancache-autofill steam:search-apps "team fortress 2"

    440 Team Fortress 2 [...]

  4. Queue the app for download by ID:

    ./lancache-autofill steam:queue-app 440

  5. Authorise your Steam account:

    ./lancache-autofill steam:authorise-account

  6. Start downloading items in the download queue:

    ./lancache-autofill steam:start-downloading

  7. View the download queue to see the status of the downloads:

    ./lancache-autofill steam:show-queue

  8. Clear the temporary download location:

    ./lancache-autofill app:initialise-downloads-directory

Command Reference

app:initialise-database

  • Initialise the database.

app:initialise-downloads-directory

  • Initialise the downloads directory.

steam:initialise

  • Install and initialise SteamCMD

steam:authorise-account [account]

  • Authorise a Steam account to allow download of apps in their library.
  • If no account is specified, you will be prompted for the username

steam:queue-app appid [appid, appid...] [--windows] [--osx] [--linux]

  • Queue one or more Steam apps for downloading.
  • Optionally the platform(s) to download can be specified as options
  • If no platform option is specified, the Windows version of the app will be queued

steam:queue-popular-apps [top=100] [--free] [--windows] [--osx] [--linux]

  • Queue the top most popular apps on Steam in the past 2 weeeks
  • Optionally
    • Only queue top X apps (default 100)
    • Only queue free apps
    • Specify the platform(s) to download (default - windows)

steam:dequeue [--app_id=] [--platform=] [--status=] [--message=]

  • Dequeue a items from the download queue.
  • Optionally specify any combination of app ID, platform, status and message
  • Calling with no arguments clears the queue

steam:requeue [status=failed] [--message=]

  • Requeue failed and/or completed items in the download queue.
  • By default failed items are requeued
  • Optionally only requeue items whose message contains the specified value

steam:search-apps name

  • Search Steam apps by name.

steam:show-queue [status]

  • Show the Steam app download queue.
  • Optionally only show items with specified status
  • Available statuses are: queued, failed, completed

steam:start-downloading

  • Start downloading the Steam apps in the queue.
  • The account(s) specified in the queue to download from are checked before any app downloads are attempted

steam:update-app-list

  • Get the latest list of apps from Steam.

Limitations & Known Issues

  • Steam is the only supported platform currently
  • Paid apps can only be cached with access to a Steam account that owns them
  • No support for forcing download of 32 bit apps
  • Yes, it's written in PHP. No shame.

Reference

lancache-autofill's People

Contributors

ilumos avatar

Watchers

 avatar

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.