Giter Club home page Giter Club logo

khinsider's Introduction

khinsider

Easily fetch videogame soundtracks from downloads.khinsider.com

Demo

Installation

V2 of khinsider offers a wide variety of distribution formats over the original:

Homebrew

For macOS and Linux users who prefer Homebrew, there is a Homebrew formula installable like so:

brew install marcus-crane/tap/khinsider

Docker

If you prefer to not run anything on your machine, you can run khinsider as a Docker image. It's available from both Docker Hub and ghcr.io

docker run utf9k/khinsider

Binaries

There are a wide variety of binaries available under the releases tab:

  • apk
  • deb
  • rpm
  • exe

Windows, macOS and Linux are all supported (x86 and arm64) although at the time of writing, I haven't tested most of those platforms personally.

Usage

khinsider [global options] command [command options] [arguments...]

When you run khinsider by itself, you'll be presented with the help menu. There are a few subcommands you can choose from:

  • search: Interactively filter through all of the albums on khinsider. It's powered by a prebuilt index so you can search the entire site at once.
    • The site is checked hourly for updates so the index will be no less than 1 hour out of date at any given time. If a new index is available, it'll be automatically downloaded.
  • album: If you know the particular album you're already, you can provide a slug and download it straight away.
  • update: As it says on the tin, you can automatically update khinsider to the latest version with this command.
  • index: This command is unlisted but if you prefer to build a copy of the index locally, you can do so with this command. The prebuilt index is simply running this command and uploading the index generated if it differs from the previous copy.

At present, all albums are downloaded to $HOME/Downloads. It also isn't possible to download an album if a folder with the same name exists (ie; a previous download) in which case, you'll be prompted to move the existing folder in order to carry on.

Flags

You can run --debug before any command to see some more detailed information in the case of an issue but it isn't as fleshed out as I would like it to be. This should be expanding in future releases.

When updating, you can use the --prerelease flag to request the latest prerelease over the latest stable release.

Environment variables

By default, khinsider will check if there are any new updates in the background when run. It won't download them but it will prompt the user to consider updating. If you want to disable this check, you can set KHINSIDER_NO_UPDATE=true in your shell environment to disable this functionality.

Special thanks

I wouldn't have originally made this project without being inspired by obskyr's original python-based downloader.

In general, he's a cool guy and is up to lots of interesting stuff on Twitter.

Also a shout out to Terin Stock for his feedback on polishing up v2.0.0.

khinsider's People

Contributors

eddsalkield avatar marcus-crane avatar renovate-bot avatar terinjokes 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

Watchers

 avatar  avatar

khinsider's Issues

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

github-actions
.github/workflows/release.yaml
  • actions/checkout v3
  • docker/login-action v2
  • docker/login-action v2
  • actions/setup-go v3
  • goreleaser/goreleaser-action v3
gomod
go.mod
  • github.com/AlecAivazis/survey/v2 v2.3.4
  • github.com/PuerkitoBio/goquery v1.8.0
  • github.com/cli/safeexec v1.0.0
  • github.com/pterm/pterm v0.12.41
  • github.com/urfave/cli/v2 v2.7.1
  • golang.org/x/mod v0.5.1

  • Check this box to trigger a request for Renovate to run again on this repository

Improve the help menu

At the moment, as a user who hasn't run this application in a long time, the help menu isn't useful at all.

Ironic given I created this thing!

Add search functionality

At the moment, users are required to browse via the web. This works but it'd be nice to allow users to install via the CLI.

Create a Brew formula

I have no idea what the criteria for adding an application to Homebrew is but it would be an interesting distribution method

At the least, I could presumably serve my own cask so ie brew cask install khinsider

[CVE-2020-9283] 同学,您这个项目引入了39个开源组件,存在3个漏洞,辛苦升级一下

检测到 marcus-crane/khinsider 一共引入了39个开源组件,存在3个漏洞

漏洞标题:Go SSH拒绝服务漏洞
缺陷组件:golang.org/x/[email protected]
漏洞编号:CVE-2020-9283
漏洞描述:Go SSH是一个使用go语言开发的极度简洁的ssh工具,用于远程管理linux、unix等机器。
Go SSH存在拒绝服务漏洞,该漏洞源于网络系统或产品未对输入的数据进行正确的验证,攻击者可利用该漏洞导致拒绝服务条件,拒绝向合法用户提供服务。
国家漏洞库信息:https://www.cnvd.org.cn/flaw/show/CNVD-2020-14300
影响范围:(∞, 0.0.0-20200220183623-bac4c82f6975)
最小修复版本:0.0.0-20200220183623-bac4c82f6975
缺陷组件引入路径:github.com/marcus-crane/khinsider/v2@->golang.org/x/[email protected]

另外还有3个漏洞,详细报告:https://mofeisec.com/jr?p=a8693e

Install and update broken

When trying to update or install khinsider, I always get the following error in the terminal:

==> Fetching marcus-crane/tap/khinsider
==> Downloading https://github.com/marcus-crane/khinsider/releases/download/v0.0
curl: (22) The requested URL returned error: 404

Error: khinsider: Failed to download resource "khinsider"
Download failed: https://github.com/marcus-crane/khinsider/releases/download/v0.0.1/khinsider_0.0.1_darwin_arm64.tar.gz

Speed up the download process

Golang has some features designed especially for making parallelism much easier so we should just use those. There's no state that needs to be shared globally so this should cause no trouble.

Search function returning only unrelated results in macOS Terminal

In macOS' default Terminal (macOS 12.3.1), the script always returns the same long list of nearly all games when given any search term. When using live search, any search term longer than 3 characters returns zero results, and any terms 3 or less returns the full list of all albums on the site.

(Also would it be possible to get a command flag to download different formats of a soundtrack when available, like FLAC or M4A? And maybe an option to change the default download location? That would be super useful!)

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.