Lynx エージェント認証

Lynx エージェント認証

lynx私のシステムには、プロキシを通過できないこれらのスクリプトに依存するスクリプトがたくさんあります。具体的には、ユーザーIDフィールドとパスワードフィールドを除くグローバルプロキシ設定を正常に取得するには、代わりにコマンドラインで使用することをお勧めしますlynx-pauth

lynx -pauth=proxyuserid:proxypass

Lynxを間接的に呼び出すので簡単にできません。しかし、すべてのLynx呼び出しにグローバルにこれらの設定を適用するにはどうすればよいですか?構成ファイル - プロキシ認証に関連するコンテンツが見つかりません。同じ名前のbashシェルラッパーはlynx実際のlynxwithを呼び出します-pauth。どういうわけか動作させることはできません。

修正する。プロキシを完全に説明する環境変数があります。たとえば、 http_proxy=http://userid:pass@proxyserver:port Lynxはプロキシサーバーとポートを正しく読み取りますが、何らかの理由でユーザー/パスワードフィールドを読み取ることはできません(例:wgetとは異なり)。

だから今、私はlynxラッパースクリプトを次のように使用します。

envproxy=${http_proxy%@*}
/usr/bin/lynx -pauth=${envproxy:7} "$@"

答え1

lynxパスを指定せずにスクリプト/プログラムを呼び出すと、ラッパースクリプトに置き換えることができるため、lynxシステムは変数にリストされているディレクトリからそれを検索しますPATH

lynxたとえば、と入力して場所を見つける必要がありますtype lynx
私の考えではそうかもしれないと思います/usr/bin/lynx

PATH呼び出されたスクリプト/プログラムの変数は、場所(たとえばlynx)の前に別のディレクトリ(たとえば)がなければなりません。そうでない場合は、拡張が必要な​​場合があります。/usr/local/binlynx/usr/binPATH

例:

設定が次のと仮定PATHします。

PATH=/usr/bin:/bin:/sbin:/usr/bin/X11

あなたはそれを拡張することができます

PATH="/usr/local/bin:$PATH"

PATHスクリプト/プログラム用に設定された起動スクリプトのいずれか。これを行う正確な方法は、これらのスクリプト/プログラムの呼び出し方法によって異なります。

/usr/local/bin/lynxその後、次のシェルスクリプトを作成できます。

#! /bin/sh

# Here you could do what is needed to get the user name and password for the
# proxy authentication and use these instead of hard coded values.

/usr/bin/lynx -pauth=proxyuserid:proxypass "$@"

スクリプト/プログラムを実行しようとしたら、lynx foo barまずスクリプトを見つけ/usr/local/bin/lynxてから/usr/bin/lynx

これでスクリプトが呼び出されます/usr/bin/lynx -pauth=proxyuserid:proxypass "foo" "bar"

もちろん、他の場所を代わりに使用することもできます/usr/local/bin

スクリプト/プログラムは/usr/bin/lynx foo bar/usr/bin/lynx/usr/bin/lynx.real/usr/bin/lynx/usr/bin/lynx.real

関連情報