# コマンドラインインターフェース

HULFT10 Smart Proxyで使用する管理コマンドの共通仕様を説明します。

管理コマンドは、hspctlというベースコマンドに、オプションやコマンドなどの引数で機能を判別し実行されます。

## コマンド形式

    hspctl [global options] command [command options] [arguments...]

## パラメーター説明

[global options]

  すべてのコマンドに共通で使用するオプションを指定します。

  このオプションを指定しなかった場合、HULFT10 Proxy Serverはコマンドラインの設定ファイル（$HOME/.hspctl/config）の設定値を使用して動作します。設定ファイルの詳細は「設定ファイル」を参照してください。

  --api-key <api-key>

    APIキー

    HULFT10 Smart Proxyの機能を利用するために必要な認証用のトークンです。

    1文字から128文字までのASCIIの印字可能な文字で指定します。

  --endpoint-url <url>

    リクエストを送信する先のURL

    リバースプロキシのサーバー、APIゲートウェイとなるサーバー、または直接ホストしているAPIサーバーを指定します。

    https://のスキームからあとは以下の文字が使用できます。

    - ホスト名に使用できる文字。最大255文字

    - IPv4 アドレスに使用できる文字（英数字 / "-" / "." ）

    - ポート番号の指定に必要な文字（”:”）。任意の番号を指定可

  --tls-cacert <file-path>

    認証局が発行したCA証明書のファイルパス

    OSの信頼済みの複数のルート証明書を1つのファイルにまとめたCAバンドルに加えて、ここで指定したCAを信頼するものです。

    PEM形式のCA証明書のみサポートしています。

    印字可能な任意の文字列で、最大4096バイトです。

  --tls-allow-insecure-cert

    サーバーの証明書を検証せずに接続を許可するフラグ

    このフラグを指定すると、証明書が信頼できる認証局によって署名されているかどうかをチェックしません。

    自己署名証明書での接続が可能となりますが、中間者による攻撃などのリスクがあります。

    閉じられたネットワーク内で自己署名証明書を運用する場合に使用できます。

  --https-proxy <url>

    HTTPプロキシのURL

    ご使用のネットワーク環境で、HTTPプロキシを通しての通信が必要な場合に指定してください。

    http(s)://[<user>:<password>@]<host>[:<port>] の形式で指定します。

    スキームからあとは、ASCIIの印字可能な文字列を指定できます。

    文字数の制限はありません。

  --no-proxy <values>

    HTTPプロキシが有効なときに、HTTPプロキシを使用しないホストやドメインを指定するための設定

    環境変数のNO_PROXYの値と互換を保つため、以下の要件があります。

    - カンマ区切りのリストで指定可

    - 特定のドメインやサブドメインを指定するために、ドメインの先頭にドット（.）を付けることで部分一致の指定可

    - ローカルエリアネットワークのプライベートIPアドレスの一部セグメントを指定する場合はCIDRで指定可

    印字可能な任意の文字列で、文字数の制限はありません。

  --request-timeout-sec <timeout>

    リクエストの開始から完全なレスポンスの受信までの全体的な最大時間

    これには、接続の確立、リクエストの送信、レスポンスヘッダーの受信、およびレスポンスボディーの受信が含まれます。

    0秒から60秒まで指定できます。0秒を指定した場合は無制限で、指定がない場合は30秒です。

  --config, -c

    コマンドの設定ファイルのパス

    指定がない場合は、以下のパスになります。

    $HOME/.hspctl/config

## 環境変数

コマンドラインで、以下の環境変数を使用できます。

HTTPS_PROXY

  HTTP プロキシのURL

NO_PROXY

  HTTPプロキシが有効な場合に、HTTPプロキシを使用しないホストやドメインを指定するための設定

## 設定ファイル

コマンドラインの設定ファイルです。

global optionsが指定されていなかった場合、HULFT10 Proxy Serverはコマンドラインの設定ファイル（$HOME/.hspctl/config）の設定値を使用して動作します。

HULFT10 Proxy Serverは以下の優先度で設定値を読み取り、動作します。

    コマンドラインのオプション > 設定ファイル > 環境変数
    （優先度高）                              （優先度低）

コマンドの実行時に設定ファイルがなくてもエラーにはなりません。

コマンドの実行時に必要な情報が、global options、設定ファイル、および環境変数のどこにも設定されていない場合はエラーとなります。

設定ファイルはYAML形式で、以下の属性があります。

- api-key

- endpoint-url

- tls-cacert

- tls-allow-insecure-cert

- https-proxy

- no-proxy

- request-timeout-sec

各属性の設定値の内容は、global optionsのパラメーターと同じです。

各設定値の詳細は、global optionsの「パラメーター説明」を参照してください。