
さびに書かれたデルタチャットのコアライブラリ
Rustプログラミング言語の公式コンパイラと貨物パッケージマネージャーをダウンロードしてインストールするには、ユーザー環境でコマンドを実行します。
$ curl https://sh.rustup.rs -sSf | sh
Windowsでは、Deltachat-CoreをコンパイルできるようにPerlをインストールする必要がある場合があります。
cargoを使用して、デルタチャットコアコマンドラインユーティリティをコンパイルして実行します。
$ cargo run --locked -p deltachat-repl -- ~/deltachat-db
ここで、〜/deltachat-dbはデータベースファイルです。デルタチャットが存在しない場合は作成します。
オプションで、 deltachat-replバイナリをインストールします
$ cargo install --locked --path deltachat-repl/
そして、asとして実行します
$ deltachat-repl ~/deltachat-db
アカウントを構成します(まだ構成されていない場合):
Delta Chat Core is awaiting your commands.
> set addr [email protected]
> set mail_pw yourpassword
> configure
メールサーバーに接続します(既に設定されている場合):
> connect
連絡先を作成します:
> addcontact [email protected]
Command executed successfully.
リストの連絡先:
> listcontacts
Contact#10: <name unset> <[email protected]>
Contact#1: Me √√ <[email protected]>
友達とチャットを作成し、メッセージを送信してください。
> createchat 10
Single#10 created successfully.
> chat 10
Single#10: [email protected] [[email protected]]
> send hi
Message sent.
[email protected]がDeltachatを使用しているが、送信されたメッセージを受信しない場合は、 Spamフォルダーを確認することをお勧めします。少なくともgmx.com 、そのようなテストメッセージをスパムとして扱うことが知られています。
チャット内にメッセージをリストする:
> chat
その他のコマンドのタイプ:
> help
$ git clone https://github.com/deltachat/deltachat-core-rust.git
$ cd deltachat-core-rust
$ cmake -B build . -DCMAKE_INSTALL_PREFIX=/usr
$ cmake --build build
$ sudo cmake --install build
# run tests
$ cargo test --all
# build c-ffi
$ cargo build -p deltachat_ffi --releaseDCC_MIME_DEBUG :発信および着信メッセージが印刷される場合
RUST_LOG=async_imap=trace,async_smtp=trace :情報メッセージに加えてimapとsmtpトレースを有効にします。
一部のテストは高価で、 #[ignore]でマークされています。これらを実行するには、テストバイナリに--ignored引数を使用します(貨物自体ではありません):
$ cargo test -- --ignoredcargo-boleroをインストールします
$ cargo install cargo-boleroファジングテストを実行します
$ cd fuzz
$ cargo bolero test fuzz_mailparse --release=false -s NONE Corpusはfuzz/fuzz_targets/corpusで作成され、そこに初期入力を追加できます。 fuzz_mailparseの場合、ターゲットコーパスに../test-data/message/*.emlを入力できます。
libfuzzerの代わりにAFLで実行するには:
$ cargo bolero test fuzz_format_flowed --release=false -e afl -s NONEvendored :TLSにOpenSSLを使用する場合、これによりベンダーバージョンがバンドルされます。 Provider-DBからCoreに更新を追加するには、実行してください。
./src/provider/update.py ../provider-db/_providers/ > src/provider/data.rs
言語バインディングは次のように利用できます。
次の「フロントエンド」プロジェクトでは、錆びたものまたはその言語のバインディングを使用します。
時代遅れ /維持されていませんが、それらの言語が気に入っている場合は、それらを維持し始めてください。ご質問がある場合は、お手伝いします。問題をお問い合わせください。 ↩↩2↩3