cvpn
は静岡大学情報学部 VPN サービスのコマンドラインアプリケーションです。VPN サービスをコマンドラインを通じて利用することができます。
インストール方法は以下の2種類があります。推奨する方法は go install
です。
go install
によるビルド & インストール 【推奨】- release ページからビルド済みバイナリをダウンロード
-
go 言語のコンパイラを ここ からインストールする
-
パスを通す
# linux
$ echo 'export PATH="$PATH:$HOME/go/bin"' >> $HOME/.profile
# mac
$ echo 'export PATH="$HOME/go/bin:$PATH"' >> $HOME/.profile
- cvpn をインストール
$ go install github.com/Shizuoka-Univ-dev/cvpn/cmd/cvpn@latest
$ source $HOME/.profile
$ cvpn
cvpn is a tool which makes you happy
.
.
-
release ページ から適切なファイルをダウンロードし、展開してください。
-
バイナリファイルを任意のディレクトリに置いて
PATH
を設定してください。推奨のディレクトリのパスはCVPN_PATH=$HOME/cvpn/bin
です。
以下に設定手順の例を示します。
TODO
$ cd バイナリファイルをダウンロードしたディレクトリ
$ ls
cvpn があることを確認
$ CVPN_PATH=$HOME/cvpn/bin
$ mkdir -p $CVPN_PATH
$ cp cvpn $CVPN_PATH
$ echo 'export PATH=$PATH:$CVPN_PATH' >> $HOME/.profile
$ source $HOME/.profile
$ cvpn
cvpn is a tool which makes you happy
.
.
Note: パスやオプションの指定が
{...}
となっていますが、このとき{}
をつけて入力する必要はありません。
一番最初に login
を行ってください。login
ではユーザー ID とパスワードを各 OS の設定ディレクトリ上に保存します。
また、途中で作成を確認するメッセージが表示されますが、設定ファイルの作成を許可する場合は y
, 許可しない場合は n
を入力してください。
$ cvpn login
username >> cs200xx
password >> your_password
.
.
cvpn ls
コマンドは指定した {dir_path}
上のファイルとディレクトリを一覧表示します。
$ cvpn ls {dir_path} -v {volume} --path --json
example
$ cvpn ls /report -v fsshare
.
.
絵文字を使用したりしているため、ターミナルのフォントを Nerd Font にすることを推奨します。
推奨フォントは JetBrainsMono Nerd Font です。
-
Options
-
--path
: ファイル or ディレクトリのパスを表示します。 -
-v {volume}
: 参照するファイルが存在するボリュームを指定します(fsshare
,fs/{dir}
)。デフォルト値はfsshare
です。 -
--json
: json 形式で表示します。
-
Note: volume は FSShare や FS などのことを示します。
cvpn download
コマンドは指定した {target_file_path}
をダウンロードします。
$ cvpn download {target_file_path} -o {save_path} -v {volume}
example
$ cvpn download /cs200xx/I_am_file.txt -o ./univ -v fs/2020
また、find
サブコマンドと併用することで、複数ダウンロードを行うことができます。
$ cvpn download "$(cvpn find {target_dir})"
-
Options
-
-o {save_path}
: ダウンロードしたファイルの保存先を指定します。必ずディレクトリのパスを指定してください(仕様変更予定) -
-v {volume}
: 参照するファイルが存在するボリュームを指定します(fsshare
,fs/{dir}
)。デフォルト値はfsshare
です。
-
cvpn upload
コマンドは {source_file_path}
ファイルを {dst_path}
上にアップロードします。
$ cvpn upload {source_file_path} {dst_path} -v {volume}
example
$ cvpn upload text.txt /cs200xx -v fs/2020
-
Options
-v {volume}
: 参照するファイルが存在するボリュームを指定します(fsshare
,fs/{dir}
)。デフォルト値はfsshare
です。
cvpn find
コマンドは {starting-directory}
ディレクトリを元にして検索を行います。
$ cvpn find {starting-directory} -v {volume} -name {name_pattern} -path {path_pattern} -r
example
$ cvpn find /cs200xx -v fs/2020 -name hogehoge
-
Options
Note:
名前 は パス のうち末尾の部分を指します。 例えば、/class/english/hoge.pdf
において、名前とパスは以下のようになります。
k | v |
---|---|
名前 | hoge.pdf |
パス | /class/english/hoge.pdf |
ログは $USER_CACHE_DIR/cvpn/log/
配下に保存されます。
$USER_CACHE_DIR
は OS によって異なるので、詳しい内容は https://golang.org/pkg/os/#UserCacheDir を参照してください。
開発者向けの内容です。
$ make windows
$ make linux
$ make darwin