An handy tool that is intended to help your inventory cleanup or dump.

Overview

NeosVR Inventory Management

Notes to foreign users

  • This readme is written in Japanese. Please use external tool to translate this document into your language. I'm sorry for inconvenience.
  • If this document is translated into a language other than Japanese, the Japanese version will prevail to the extent that there is any conflict.

これはなに?

NeosVR用のインベントリ整理支援ツールです。現在はベータ版となっています。

なぜ?

私が知る限りでは、NeosはWindowsの「エクスプローラー」にあるようなディレクトリ間の移動ができません。 話を聞いていく中で、「大晦日にインベントリを整理するイベントがある」「アイテムを全部だして選り分ける必要がある」という事例を聞きました。 また、開発者である私も、ゲーム内でインベントリにアイテムをセーブする中で、インベントリ直下のアイテムがすでに8列ほどとなっていました。このペースで保存していくと必然的に直下が大変なカオスを招くことになるだろうと予想したため、今回ツールの作成に踏み切りました。 なお、このツールを作るにあたってNeos-Publicのチケットを調べましたが、UI刷新によって問題が解決されると書いてあったため新しくチケットを建てるのは諦めました。また、UIの刷新は2019年から話に上がっているものの、3年経った現在でもチケットが閉じられていないことから起こる確率は今後も低いだろうと考えています。

ダウンロード

ダウンロードの前に下記をお読みください。

以下のOS向けに予めコンパイルされたバイナリが配布されています。Releasesからダウンロードしてください。古いリリースにはバグが含まれている可能性があるので、基本的には最新のリリースを使用してください。

  • Windows (*-x86_64-pc-windows-gnu.zip)
  • Linux (*-x86_64-unknown-linux-musl.tar.gz)
  • macOS (*-x86_64-apple-darwin.zip)

もし対応していないなど、何らかの事情でセルフコンパイルが必要な場合、git cloneからこのレポジトリをクローンしてソースコードを入手してください。

使用

並行ログインに対応しました 🎉

ご注意

  • cargo run経由で動かす場合、cargoのフラグと本プロダクトのフラグを--で区切ってください。
  • ログは標準エラー出力及びカレントディレクトリのoutput.logに出力されます。

引数

認証

  • -e or --email: Eメール
  • -p or --password: パスワード
  • -t or --totp: 二要素認証のトークン (任意)
  • -u or --user-id: ユーザーID
  • --read-token-from-stdin: 標準入力からトークンを読み込む
認証方法
  1. (-e または -u) と -p (と -t) を指定する
  2. -u--read-token-from-stdin を指定する
  • 認証情報を提供しない場合はログインしません。その場合、isPublictrueのレコードのみ見ることができます。
    • 特に、インベントリ直下のアイテムが見られない可能性が非常に高くなります。
  • ログインするべきアカウントが特定できない場合はエラーになります。

その他

  • -c: カラー
    • always: 常に色を付ける
    • auto (デフォルト): ttyが割り当てられているときのみ色を付ける (すなわち、他のコマンドへパイプされたときは色を付けない)
    • never: 常に色を付けない
  • --keep-record-id: ムーブするときにレコードIDを保持する
  • --log-level: ログのレベル
    • debug: すべてのログを表示
    • info: 情報・警告・エラーを表示
    • warn (デフォルト): 警告・エラーを表示
    • error: エラーを表示
    • none: すべてのログを抑制
  • -h or --help: ヘルプを表示

例1

U-kisaragi-marineInventory\\Publicフォルダを見る

入力1
neosvr-inventory-management --log-level none list -u U-kisaragi-marine Inventory Public
出力1

(インベントリの各アイテムごとのJSON、1行に1アイテム)

注意1
  • --log-level none でログの出力を抑制しています。

例2

U-kisaragi-marineR-65e927ba-d3cf-4d82-b5ec-ef5b1d34e143Inventory\\Workに移動する

入力2
neosvr-inventory-management -e [email protected] -p 1234567890 move -r R-65e927ba-d3cf-4d82-b5ec-ef5b1d34e143 -u U-kisaragi-marine --to Inventory --to Work 2>/dev/null
出力2

(なし)

注意
  • neosvr-inventory-management -e [email protected] -p 1234567890で認証を行っています。

コントリビューション

バグ報告、デバッグ、パッチの送信、ドキュメントの誤字修正など、いかなる形でもコントリビューションをいただければ幸いです。 このツールはRustで書かれています。 パッチを送っていただいた際、別途の表明がない限りは、下記ライセンスにおいてパッチを取り扱わせていただきます。

ライセンス

  • srcディレクトリ以下のソースコード、ソースコードに付随するドキュメント、及び配布されるバイナリはRust本体のライセンスに合わせて、MITライセンスとApache License, Version 2.0 (SPDX: MIT OR Apache-2.0) とします。
    • このライセンスはデュアルライセンスであり、あなたはどちらかのライセンスを選ぶことができます。
  • README.mdCargo.lockCargo.tomlrenovate.json、及び配布されたバイナリから計算したハッシュ値を表示するファイルはCC0とします。
  • ファイルの中に合理的な方法でライセンスが表示されている場合は、そのファイルはそのライセンスによってライセンスされています。
  • その他のファイルについては著作権を留保します。

免責事項

  • MIT License及びApache License, Version 2.0 §7に指定されている通り、成果物は現状のまま提供されるものとし、開発者およびコントリビューターは当人が提供する部分についていかなる保証も提供しません。
    • 特に、このツールを使用して目的が達成されることをいかなる形態でも保障しません。
    • 特に、このツールを使用してユーザーにアイテム消失などの損害が起きないことを保障しません。
    • 特に、内部APIの破壊的変更に追従することを保障しません。

開発者

  • KisaragiEffective (IGN: kisaragi marine)

スペシャルサンクス

(敬称略)

  • kazu0617
Comments
  • build(deps): bump tokio from 1.24.1 to 1.24.2

    build(deps): bump tokio from 1.24.1 to 1.24.2

    Bumps tokio from 1.24.1 to 1.24.2.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 4
  • build(deps): bump tokio from 1.22.0 to 1.23.1

    build(deps): bump tokio from 1.22.0 to 1.23.1

    ⚠️ Dependabot is rebasing this PR ⚠️

    Rebasing might not happen immediately, so don't worry if this takes some time.

    Note: if you make any changes to this PR yourself, they will take precedence over the rebase.


    Bumps tokio from 1.22.0 to 1.23.1.

    Release notes

    Sourced from tokio's releases.

    Tokio v1.23.1

    This release forward ports changes from 1.18.4.

    Fixed

    • net: fix Windows named pipe server builder to maintain option when toggling pipe mode (#5336).

    #5336: tokio-rs/tokio#5336

    Tokio v1.23.0

    Fixed

    • net: fix Windows named pipe connect (#5208)
    • io: support vectored writes for ChildStdin (#5216)
    • io: fix async fn ready() false positive for OS-specific events (#5231)

    Changed

    • runtime: yield_now defers task until after driver poll (#5223)
    • runtime: reduce amount of codegen needed per spawned task (#5213)
    • windows: replace winapi dependency with windows-sys (#5204)

    #5208: tokio-rs/tokio#5208 #5216: tokio-rs/tokio#5216 #5213: tokio-rs/tokio#5213 #5204: tokio-rs/tokio#5204 #5223: tokio-rs/tokio#5223 #5231: tokio-rs/tokio#5231

    Commits
    • 1a997ff chore: prepare Tokio v1.23.1 release
    • a8fe333 Merge branch 'tokio-1.20.x' into tokio-1.23.x
    • ba81945 chore: prepare Tokio 1.20.3 release
    • 763bdc9 ci: run WASI tasks using latest Rust
    • 9f98535 Merge remote-tracking branch 'origin/tokio-1.18.x' into fix-named-pipes-1.20
    • 9241c3e chore: prepare Tokio v1.18.4 release
    • 699573d net: fix named pipes server configuration builder
    • 3ce5a26 chore: prepare Tokio v1.23 release (#5270)
    • 644cb82 rt: fix *_closed false positives (#5231)
    • a1316cd io: impl std::io::BufRead on SyncIoBridge\<T> (#5265)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 2
  • 複数階層のアイテム・フォルダの移動に時間がかかる

    複数階層のアイテム・フォルダの移動に時間がかかる

    三階層下に移動させようとすると無限に読み込み状態になる

    恐らく第一階層の時点で適切なフォルダを選択するかフォルダのRecordIdの指定が必要。 三階層もあるとPublicFolderの下も確認しようとし、フォルダが大量にある場合はそれぞれ見ようとして処理が終わらない

    5-10分/1アイテムかかるがそれだけ待てば終わる模様。 ログを確認するとパブリックフォルダの階層(link先も?)まで見に行っている。

    perf 
    opened by kazu0617 2
  • build(deps): bump openssl from 0.10.41 to 0.10.48

    build(deps): bump openssl from 0.10.41 to 0.10.48

    Bumps openssl from 0.10.41 to 0.10.48.

    Release notes

    Sourced from openssl's releases.

    openssl v0.10.48

    What's Changed

    New Contributors

    Full Changelog: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.47...openssl-v0.10.48

    openssl v0.10.47

    No release notes provided.

    openssl v0.10.46

    No release notes provided.

    openssl v0.10.45

    No release notes provided.

    openssl v0.10.44

    No release notes provided.

    openssl v0.10.43

    No release notes provided.

    openssl v0.10.42

    No release notes provided.

    Commits
    • 4ff734f Release openssl v0.10.48 and openssl-sys v0.9.83 (#1855)
    • 5efceaa Merge pull request #1854 from alex/davids-openssl-of-horrors
    • 6ced4f3 Fix race condition with X509Name creation
    • a752805 Document the horror show
    • 78aa9aa Always provide an X509V3Context in X509Extension::new because OpenSSL require...
    • 332311b Resolve an injection vulnerability in EKU creation
    • 482575b Resolve an injection vulnerability in SAN creation
    • 690eeb2 Merge pull request #1852 from smoelius/master
    • e5b6d97 Improve reliability of some tests
    • 319200a Merge pull request #1851 from alex/libressl-versions
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the Security Alerts page.
    dependencies 
    opened by dependabot[bot] 1
  • fix(deps): update rust crate base64 to 0.21.0

    fix(deps): update rust crate base64 to 0.21.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | base64 | dependencies | minor | 0.13.1 -> 0.21.0 |


    Release Notes

    marshallpierce/rust-base64

    v0.21.0

    Compare Source

    Migration

    Functions

    | < 0.20 function | 0.21 equivalent | |-------------------------|-------------------------------------------------------------------------------------| | encode() | engine::general_purpose::STANDARD.encode() or prelude::BASE64_STANDARD.encode() | | encode_config() | engine.encode() | | encode_config_buf() | engine.encode_string() | | encode_config_slice() | engine.encode_slice() | | decode() | engine::general_purpose::STANDARD.decode() or prelude::BASE64_STANDARD.decode() | | decode_config() | engine.decode() | | decode_config_buf() | engine.decode_vec() | | decode_config_slice() | engine.decode_slice() |

    The short-lived 0.20 functions were the 0.13 functions with config replaced with engine.

    Padding

    If applicable, use the preset engines engine::STANDARD, engine::STANDARD_NO_PAD, engine::URL_SAFE, or engine::URL_SAFE_NO_PAD. The NO_PAD ones require that padding is absent when decoding, and the others require that canonical padding is present .

    If you need the < 0.20 behavior that did not care about padding, or want to recreate < 0.20.0's predefined Configs precisely, see the following table.

    | 0.13.1 Config | 0.20.0+ alphabet | encode_padding | decode_padding_mode | |-----------------|------------------|------------------|-----------------------| | STANDARD | STANDARD | true | Indifferent | | STANDARD_NO_PAD | STANDARD | false | Indifferent | | URL_SAFE | URL_SAFE | true | Indifferent | | URL_SAFE_NO_PAD | URL_SAFE | false | Indifferent |

    v0.20.0

    Compare Source

    Breaking changes

    • Update MSRV to 1.57.0
    • Decoding can now either ignore padding, require correct padding, or require no padding. The default is to require correct padding.
      • The NO_PAD config now requires that padding be absent when decoding.

    0.20.0-alpha.1

    Breaking changes
    • Extended the Config concept into the Engine abstraction, allowing the user to pick different encoding / decoding implementations.
      • What was formerly the only algorithm is now the FastPortable engine, so named because it's portable (works on any CPU) and relatively fast.
      • This opens the door to a portable constant-time implementation (#​153, presumably ConstantTimePortable?) for security-sensitive applications that need side-channel resistance, and CPU-specific SIMD implementations for more speed.
      • Standard base64 per the RFC is available via DEFAULT_ENGINE. To use different alphabets or other settings ( padding, etc), create your own engine instance.
    • CharacterSet is now Alphabet (per the RFC), and allows creating custom alphabets. The corresponding tables that were previously code-generated are now built dynamically.
    • Since there are already multiple breaking changes, various functions are renamed to be more consistent and discoverable.
    • MSRV is now 1.47.0 to allow various things to use const fn.
    • DecoderReader now owns its inner reader, and can expose it via into_inner(). For symmetry, EncoderWriter can do the same with its writer.
    • encoded_len is now public so you can size encode buffers precisely.

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 1
  • ColorPolicyのcamel_caseがdefaultだと動作しない

    ColorPolicyのcamel_caseがdefaultだと動作しない

    https://github.com/KisaragiEffective/neosvr-inventory-management/blob/4524c08174ae54b1bf2f5886701f889c61480b56/src/cli.rs#L28

    と書いてるけどログ見たところこんな感じ

    C:\Users\kazu0617\Downloads\neosvr-inventory-management_0.1.10_x86_64-pc-windows-gnu>neosvr-inventory-management.exe list
    error: Invalid value "Auto" for '--color <COLOR_POLICY>': Matching variant not found
    
    For more information try --help
    
    C:\Users\kazu0617\Downloads\neosvr-inventory-management_0.1.10_x86_64-pc-windows-gnu>neosvr-inventory-management.exe -c auto list
    thread 'main' panicked at 'To perform this action, I must know user, to see inventory contents.', src/main.rs:55:22
    note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
    

    指定しないとそもそもカラーポリシーではじかれるっぽい

    opened by kazu0617 1
  • fix(deps): update rust crate tokio to 1.28.0

    fix(deps): update rust crate tokio to 1.28.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | tokio (source) | dependencies | minor | 1.27.0 -> 1.28.0 |


    Release Notes

    tokio-rs/tokio

    v1.28.0: Tokio v1.28.0

    Compare Source

    1.28.0 (April 25th, 2023)

    Added
    • io: add AsyncFd::async_io (#​5542)
    • io: impl BufMut for ReadBuf (#​5590)
    • net: add recv_buf for UdpSocket and UnixDatagram (#​5583)
    • sync: add OwnedSemaphorePermit::semaphore (#​5618)
    • sync: add same_channel to broadcast channel (#​5607)
    • sync: add watch::Receiver::wait_for (#​5611)
    • task: add JoinSet::spawn_blocking and JoinSet::spawn_blocking_on (#​5612)
    Changed
    • deps: update windows-sys to 0.48 (#​5591)
    • io: make read_to_end not grow unnecessarily (#​5610)
    • macros: make entrypoints more efficient (#​5621)
    • sync: improve Debug impl for RwLock (#​5647)
    • sync: reduce contention in Notify (#​5503)
    Fixed
    • net: support get_peer_cred on AIX (#​5065)
    • sync: avoid deadlocks in broadcast with custom wakers (#​5578)
    Documented
    • sync: fix typo in Semaphore::MAX_PERMITS (#​5645)
    • sync: fix typo in tokio::sync::watch::Sender docs (#​5587)

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • fix(deps): update rust crate clap to 4.2.4

    fix(deps): update rust crate clap to 4.2.4

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | clap | dependencies | patch | 4.2.3 -> 4.2.4 |


    Release Notes

    clap-rs/clap

    v4.2.4

    Compare Source

    Documentation
    • Corrected docs for Command::style

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • fix(deps): update rust crate clap to 4.2.3

    fix(deps): update rust crate clap to 4.2.3

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | clap | dependencies | patch | 4.2.2 -> 4.2.3 |


    Release Notes

    clap-rs/clap

    v4.2.3

    Compare Source

    Features
    • Command::styles for theming help/errors (behind unstable-styles)

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • fix(deps): update rust crate clap to 4.2.2

    fix(deps): update rust crate clap to 4.2.2

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | clap | dependencies | patch | 4.2.1 -> 4.2.2 |


    Release Notes

    clap-rs/clap

    v4.2.2

    Compare Source

    Internal
    • Update dependencies

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • build(deps): bump h2 from 0.3.13 to 0.3.17

    build(deps): bump h2 from 0.3.13 to 0.3.17

    Bumps h2 from 0.3.13 to 0.3.17.

    Release notes

    Sourced from h2's releases.

    v0.3.17

    What's Changed

    • Add Error::is_library() method to check if the originated inside h2.
    • Add max_pending_accept_reset_streams(usize) option to client and server builders.
    • Fix theoretical memory growth when receiving too many HEADERS and then RST_STREAM frames faster than an application can accept them off the queue. (CVE-2023-26964)

    v0.3.16

    What's Changed

    • Set Protocol extension on requests when received Extended CONNECT requests.
    • Remove B: Unpin + 'static bound requiremented of bufs
    • Fix releasing of frames when stream is finished, reducing memory usage.
    • Fix panic when trying to send data and connection window is available, but stream window is not.
    • Fix spurious wakeups when stream capacity is not available.

    New Contributors

    v0.3.15

    What's Changed

    New Contributors

    v0.3.14

    • Add Error::is_reset function.
    • Bump MSRV to Rust 1.56.
    • Return RST_STREAM(NO_ERROR) when the server early responds.

    New Contributors

    Changelog

    Sourced from h2's changelog.

    0.3.17 (April 13, 2023)

    • Add Error::is_library() method to check if the originated inside h2.
    • Add max_pending_accept_reset_streams(usize) option to client and server builders.
    • Fix theoretical memory growth when receiving too many HEADERS and then RST_STREAM frames faster than an application can accept them off the queue. (CVE-2023-26964)

    0.3.16 (February 27, 2023)

    • Set Protocol extension on requests when received Extended CONNECT requests.
    • Remove B: Unpin + 'static bound requiremented of bufs
    • Fix releasing of frames when stream is finished, reducing memory usage.
    • Fix panic when trying to send data and connection window is available, but stream window is not.
    • Fix spurious wakeups when stream capacity is not available.

    0.3.15 (October 21, 2022)

    • Remove B: Buf bound on SendStream's parameter
    • add accessor for StreamId u32

    0.3.14 (August 16, 2022)

    • Add Error::is_reset function.
    • Bump MSRV to Rust 1.56.
    • Return RST_STREAM(NO_ERROR) when the server early responds.
    Commits
    • af4bcac v0.3.17
    • d3f37e9 feat: add max_pending_accept_reset_streams(n) options
    • 5bc8e72 fix: limit the amount of pending-accept reset streams
    • 8088ca6 feat: add Error::is_library method
    • 481c31d chore: Use Cargo metadata for the MSRV build job
    • d3d50ef chore: Replace unmaintained/outdated GitHub Actions
    • 45b9bcc chore: set rust-version in Cargo.toml (#664)
    • b9dcd39 v0.3.16
    • 96caf4f Add a message for EOF-related broken pipe errors (#615)
    • 7323190 Avoid spurious wakeups when stream capacity is not available (#661)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the Security Alerts page.
    dependencies 
    opened by dependabot[bot] 0
  • fix(deps): update rust crate clap to 4.2.5

    fix(deps): update rust crate clap to 4.2.5

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | clap | dependencies | patch | 4.2.4 -> 4.2.5 |


    Release Notes

    clap-rs/clap

    v4.2.5

    Compare Source

    Fixes
    • Improve panic when a group requires a non-existent ID

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • cargo-deny対応

    cargo-deny対応

    • [ ] cargo deny initで生成されたファイルを設定してコミット
      • [ ] attyからis-terminal
      • [ ] windows_x86_64_msvcwindows_x86_64_gnullvmwindows_x86_64_gnuwindows_i686_msvcwindows_i686_gnuwindows_aarch64_msvcwindows_aarch64_gnullvmwindows-targetswasisynhermit-abiをduplicate警告から取り除く
      • [ ] ~~chronoのold_timeを無効化~~
    • [ ] cargo install cargo-denyが遅いのでpre-built binaryを持ってくる
    • [ ]
    opened by KisaragiEffective 0
  • Dependency Dashboard

    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

    cargo
    Cargo.toml
    • anyhow 1.0.70
    • async-recursion 1.0.4
    • is-terminal 0.4.7
    • base64 0.21.0
    • chrono 0.4.24
    • clap 4.2.4
    • derive_more 0.99.17
    • email_address 0.2.4
    • fern 0.6.2
    • log 0.4.17
    • once_cell 1.17.1
    • reqwest 0.11.16
    • serde 1.0.160
    • serde_json 1.0.96
    • strum 0.24.1
    • tokio 1.28.0
    • url 2.3.1
    • uuid 1.3.1
    github-actions
    .github/workflows/build-and-test.yml
    • actions/checkout v3
    • Swatinem/rust-cache v2.2.1
    .github/workflows/release-binary.yml
    • rust-build/rust-build.action v1.4.3

    • [ ] Check this box to trigger a request for Renovate to run again on this repository
    opened by renovate[bot] 0
Releases(0.1.12+build.2)
Owner
Kisaragi
It's over. 💕Rust/Java/Kotlin/Scala ❤️C#/TypeScript 💔Ruby/Python/PHP/JavaScript
Kisaragi
Fake rest is a fake API generator using a config file to help you develop clients.

About Fake-Rest is a fake API generator using a config file to help you develop clients. It's EASY AS HELL. Usage It's very simple to use. just create

Benyamin Eskandari 9 Feb 1, 2023
Acts as an IRC server and a nostr client. Connect with your IRC client using your nostr private key as the password.

nostr-irc Acts as an IRC server and a nostr client. Connect with your IRC client using your nostr private key as the password. Experimental code, use

null 11 Dec 26, 2022
A tool to aid in self-hosting. Expose local services on your computer, via a public IPv4 address.

innisfree A tool to aid in self-hosting. Expose local services on your computer, via a public IPv4 address. Why? Most of the data I maintain is local,

Conor Schaefer 7 Mar 19, 2022
Userspace libpcap-based tool to mirror your dns traffic

DNS traffic mirroring tool (dns-mirror) Description Userspace libpcap-based tool. dns-mirror sniffs dns packets on the given interface and proxies it

Timofey 1 Mar 15, 2022
Imagine your SSH server only listens on an IPv6 address, and where the last 6 digits are changing every 30 seconds as a TOTP code...

tosh Imagine your SSH server only listens on an IPv6 address, and where the last 6 digits are changing every 30 seconds as a TOTP code... Inspired fro

Mark Vainomaa 409 Oct 23, 2022
Obtain (wildcard) certificates from let's encrypt using dns-01 without the need for API access to your DNS provider.

Agnos Presentation Agnos is a single-binary program allowing you to easily obtain certificates (including wildcards) from Let's Encrypt using DNS-01 c

Arthur Carcano 246 Dec 20, 2022
Automatically updates your Cloudflare DNS records for specific zones. Especially useful if you have dynamic IP address

Cloudflare DNS updater What does it do? Cloudflare DNS updater updates specified dns records for specified zones effortlessly and automatically. It wa

Niko Huuskonen 8 Aug 30, 2022
[WIP] wadachi scrapes your GitHub Activities.

wadachi wadachi scrapes your GitHub Activities. Usage | Examples | Docs This library is currently under development. Dependencies [dependencies] wadac

Takayuki Maeda 2 Mar 18, 2022
Test the interception/filter of UDP 53 of your local networks or hotspots.

udp53_lookup Test the interception/filter of UDP 53 of your local networks or hotspots. Inspired by BennyThink/UDP53-Filter-Type . What's the purpose?

null 1 Dec 6, 2021
🔌 A curseforge proxy server, keeping your API key safe and sound.

?? CFPROXY - The curseforge proxy server Curseforge has locked down their API and now restricts access without authentification. This spells trouble f

null 6 Nov 7, 2022
🐘 Query your Postgres Database directly from the Browser.

Postgres Browser Proxy Query your Postgres Database directly from the Browser. Video: https://youtu.be/ohr9gBPC3cE Download the latest binaries: https

Yannick 6 Jan 7, 2023
Simple CLI to manage your systemd clash.service and config subscriptions on Linux.

clashrup Simple CLI to manage your systemd clash.service and config subscriptions on Linux. Setup, update, apply overrides, and manage via systemctl.

Spencer (Shangbo Wu) 44 Jan 29, 2023
Easily add metrics to your system -- and actually understand them using automatically customized Prometheus queries

Autometrics ?? ✨ Autometrics is a macro that makes it trivial to add useful metrics to any function in your codebase. Easily understand and debug your

Fiberplane 341 Feb 6, 2023
Easily add metrics to your system -- and actually understand them using automatically customized Prometheus queries

A Rust macro that makes it easy to understand the error rate, response time, and production usage of any function in your code. Jump from your IDE to

Autometrics 462 Mar 6, 2023
Convert your docker-compose into excalidraw

excalidocker-rs Rust-based utility to convert docker-compose.yaml files into excalidraw files. Key features Transform your local docker-compose files

Eugene Tolbakov 26 Jun 15, 2023
Bring the power of pre-signed URLs to your apps. Signway is a gateway for redirecting authentic signed URLs to the requested API

A gateway that proxies signed requests to other APIs. Check the docs for more info. If you are looking for the managed version checkout this link http

Gabriel 37 Jun 24, 2023
It's like "docker stats" but with beautiful, real-time charts into your terminal. 📊

?? ds - Real-time Stats with Terminal Charts Visualize container stats with beautiful, real-time charts directly in your terminal. Why ds? Missing Cha

Rafael R. Camargo 5 Oct 3, 2023
The classic game of Pong, in your terminal, over ICMPv6!

icmpong The classic game of Pong, in your terminal, over ICMPv6! icmpong.mov How does this work? We are basically "using the ping command to send data

Ryan 3 Nov 9, 2023
Library + CLI-Tool to measure the TTFB (time to first byte) of HTTP requests. Additionally, this crate measures the times of DNS lookup, TCP connect and TLS handshake.

TTFB: CLI + Lib to Measure the TTFB of HTTP/1.1 Requests Similar to the network tab in Google Chrome or Mozilla Firefox, this crate helps you find the

Philipp Schuster 24 Dec 1, 2022