メインコンテンツまでスキップ
バージョン: KPM v3

KPM を設定する

KPM をカスタマイズして、更に便利に使用します。


概要

KPM では、設定ファイルによるカスタマイズが可能です。
ニーズ別の設定はこちらを、設定の一覧はこちらを参照してください。

KPM の設定ファイル

KPM の設定ファイルは plugins/TeamKUNPluginManager/config.yml の1つのみです。シンプル!


設定一覧

[インタフェース] インタフェースの設定

KPM のインタフェースをカスタマイズします。


interface.lang

KPM の全ての出力の言語を変更します。 対応している言語は以下の通りです:

  • ja_JP - 日本語(日本)
  • en_US - English (US)
  • ja_KS - 関西弁(大阪らへん)
  • デフォルト値: ja_JP
  • 型: Enum{ja_JP, en_US, ja_KS}

[パス] データベース・パスの設定

各ファイルのパスを設定します。 基本的にはデフォルトのままで問題ありません。

ヒント

作業ディレクトリは、 KPM のデータフォルダ(例: plugins/TeamKUNPluginManager )です。

備考

データベースは、 SQLite3 を使用しています。
Hikari CP に感謝!


paths.database.metadata

プラグイン固有のメタデータを管理するデータベースのパスを設定します。

危険

このファイルは、他のサーバの KPM と共有しないでください。

  • デフォルト値: metadata.db
  • 型: String

paths.database.aliases

プラグインのエイリアスを管理するデータベースのパスを設定します。

  • デフォルト値: aliases.db
  • 型: String

[パス] トークン・パスの設定

KPM と GitHub を連携する際に使用される認証トークン(パスワードのようなもの)を設定します。

GitHub との連携については、以下のドキュメントを参照してください。


paths.token.body

トークン自体が保存されるファイルのパスを設定します。
このファイルは AES で暗号化されています。

危険

このファイルの内容を流出させないでください。
このファイルが流出した場合、あなたの GitHub アカウントに悪意のある人がアクセスする可能性があります。

  • デフォルト値: token.dat
  • 型: String

paths.token.decryptionKey

トークンを復号化するためのキーが保存されるファイルのパスを設定します。

危険

このファイルの内容を流出させないでください。
このファイルが流出した場合、あなたの GitHub アカウントに悪意のある人がアクセスする可能性があります。

ヒント

このファイルの安全性を守るために、権限は 600(rw-------) に設定することをおすすめします。

  • デフォルト値: token_key.dat
  • 型: String

[HTTP] HTTP リクエストの設定

KPM が発行する HTTP リクエストをカスタマイズします。

http.userAgent

HTTP リクエストのヘッダーである、 User-Agent を設定します。

ヒント

%productName%%productVersion% は、それぞれ KPM の名前とバージョンに置き換えられます。

備考

このデフォルト値は、一時間に及ぶ試行錯誤で、最も DDoS プロテクタにブロックされない値を見つけました!

  • デフォルト値: Mozilla/8.10 (X931; Peyantu; Linux x86_64) PeyangWebKit/114.514(KUN, like Gacho) %productName%/%productVersion%
  • 型: String

http.timeout

HTTP リクエストのタイムアウトを設定します。この値は、ミリ秒で指定します。

  • デフォルト値: 10000
  • 型: Integer

http.maxRedirects

HTTP リクエストのリダイレクトの最大数を設定します。

ヒント

この値を 0 に設定するとリダイレクトが無効になります。 また、 -1 に設定すると無限にリダイレクトします。

  • デフォルト値: 15
  • 型: Integer

[解決] GitHub の組織名の省略

resolve.githubUsers

この設定に記述した組織名は、クエリの解決 で省略できるようになります。 組織名の省略や、 GitHub の優越については、こちらを参照してください。

  • デフォルト値: [TeamKUN]
  • 型: String[](Array<String>)

[解決] エイリアスの設定

エイリアスに関する設定です。

resolve.aliases.sources

エイリアスを定義する データセット(エイリアス定義ファイル)のリモートを設定します。
この設定は、オブジェクトの配列で記述します。

キー説明
nameStringエイリアス定義ファイルの名前を設定します。この名前は^[a-zA-Z0-9_\s]+$の正規表現にマッチする必要があります。
urlStringエイリアス定義ファイルのリモートを設定します。
  • デフォルト値:
    • name: TeamKun HUB
    • url: https://raw.githubusercontent.com/TeamKun/PluginManagerRepository/main/database.json
  • 型: Object{name: String, url: String}[](Array<Object{name: String, url: String}>)

除外設定

KPM による管理や、インストーラの操作から除外するプラグインを設定します。

exclude.pluginNames

除外するプラグインの名前です。

  • デフォルト値: []
  • 型: String[](Array<String>)

[製品] プロダクトの設定

KPM の製品に関する設定です。

危険

この設定や、これらの子は、変更しないでください。

kpm

KPM のバージョンを設定します。

  • デフォルト値: <KPM のバージョン>
  • 型: SemanticVersion

ニーズ別設定概要

KPM の使用場面や、環境によってのオススメ設定を紹介します。


ケース:リクエストが CloudFlare 等の DDoS プロテクタにブロックされる

KPM のリクエストは、デフォルトでは KPM オリジナルのユーザーエージェントを使用します。
全く、絶対に、多分ほぼ起こり得ないとは思いますが、もし、もしブロックされた場合は、以下のような代替ユーザエージェントを試してください。

  • Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36
  • Mozilla/5.0 (Macintosh; Intel Mac OS X 13.1; rv:108.0) Gecko/20100101 Firefox/108.0
  • Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 Edg/108.0.1462.54

ケース:ローカルの複数のサーバでパフォーマンスを最適化したい

KPM は、デフォルトでは各サーバごとにエイリアスのデータベースやトークンの設定を持っています。 しかし、複数のサーバで同じ設定を使用する場合は、以下のように設定を共有できます。

  1. KPM の設定を共有して保存するディレクトリを作成します。
    pwd
    # /home/user/servers/server1/
    mkdir /home/user/servers/kpm-shared
    cd /home/user/servers/kpm-shared
  2. 各サーバの設定ファイルを以下のように設定します。
    /home/user/servers/*/kpm.yml
    # ...
    paths:
    # ...
    database:
    aliases: "../kpm-shared/aliases.json"
    #...
    token:
    # ...
    body: "../kpm-shared/token.dat"
    decryptionKey: "../kpm-shared/token_key.dat"
  3. サーバを起動します。
    cd /home/user/servers/server1/
    ./start.sh
    cd /home/user/servers/server2/
    ./start.sh
    # ...