Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Reticulum — 暗号化ベースのネットワーキングスタック。LoRa、パケット無線、WiFiなど、あらゆる通信手段で止まらないネットワークを構築。 | Kitploit
ツール/GitHubGitHub/markqvist/reticulum
暗号化/復号化ツールネットワークセキュリティワイヤレスセキュリティ暗号化プライバシーユーティリティとフレームワーク認証
GitHubmarkqvist/reticulum

Reticulum

暗号化ベースのネットワーキングスタック。LoRa、パケット無線、WiFiなど、あらゆる通信手段で止まらないネットワークを構築。

リポジトリを見る
6.7k490126日前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
ウェブサイト

Reticulum ネットワークスタック

このリポジトリは公開ミラーです。全ての開発は別の場所で行われています。

このシステムの基本哲学と目標を理解するには、Zen of Reticulum をお読みください。

Reticulumは、既存のハードウェアを使用してローカルエリアおよびワイドエリアネットワークを構築するための暗号ベースのネットワークスタックです。非常に高いレイテンシと極めて低い帯域幅でも動作可能です。Reticulumを使用すると、既製のツールでワイドエリアネットワークを構築でき、エンドツーエンドの暗号化と接続性、発信者の匿名性、自動設定可能な暗号化マルチホップ転送、効率的なアドレス指定、改ざん不可能な配信確認などを提供します。

Reticulumのビジョンは、誰もが自分自身のネットワーク運営者になれるようにすること、そして、独立した相互接続可能で自律的な無数のネットワークで広大なエリアを安価かつ容易にカバーできるようにすることです。Reticulumは一つのネットワークではありません。数千のネットワークを構築するためのツールです。キルスイッチ、監視、検閲、コントロールのないネットワーク。自由に相互運用し、相互に結合・分離でき、中央管理を必要としないネットワークです。人間のためのネットワーク。人々のためのネットワークです。

Reticulumは完全なネットワーキングスタックであり、IPや上位層に依存しませんが、IPをReticulumの基盤キャリアとして使用することも可能です。したがって、ReticulumをインターネットやプライベートIPネットワーク上でトンネリングするのは簡単です。

従来のネットワーキングスタックへの依存がないことで、暗号原理に直接基づいて構築されたネットワーキングスタックを実装するためのオーバーヘッドが解放され、オープンで信頼できないネットワークでも復元力と安定した機能を可能にします。

カーネルモジュールやドライバは必要ありません。Reticulumは完全にユーザーランドで動作し、Python 3が動作するほぼすべてのシステムで実行できます。

マニュアルを読む

Reticulumの完全なドキュメントは markqvist.github.io/Reticulum/manual/ で入手できます。

また、ReticulumマニュアルのPDF または EPUB形式の電子書籍 をダウンロードすることもできます。

詳細については、reticulum.network および WikiのFAQセクション を参照してください。

主な機能

  • 調整不要のグローバルに一意なアドレス指定と識別
  • 異種キャリア上での完全自己設定型マルチホップルーティング
  • 異種トポロジにわたる柔軟なスケーラビリティ
    • Reticulumは、物理媒体とトポロジの任意の組み合わせでデータを伝送できます
    • 低帯域幅ネットワークは大規模で高帯域幅のネットワークと共存・相互運用できます
  • 発信者の匿名性、身元を明かさずに通信
    • Reticulumはどのパケットにも送信元アドレスを含めません
  • すべての通信の基礎として非対称X25519暗号化とEd25519署名
    • 基礎となるReticulum Identity Keysは512ビットの楕円曲線鍵セットです
  • すべての通信タイプ(単一パケットおよびリンク)で前方秘匿性が利用可能
  • Reticulumは暗号化トークンに以下の形式を使用します:
    • 一時的なパケットごとおよびリンク鍵は、Curve25519上のECDH鍵交換から導出されます
    • PKCS7パディングを使用したCBCモードのAES-256
    • 認証にSHA256を使用したHMAC
    • IVはos.urandom()で生成されます
  • 改ざん不可能なパケット配信確認
  • 柔軟で拡張可能なインターフェースシステム
    • Reticulumは多種多様な組み込みインターフェースタイプを含んでいます
    • ユーザーまたはコミュニティが提供するカスタムインターフェースタイプを読み込んで利用する機能
    • あらゆるものと通信するための独自のカスタムインターフェースを簡単に作成できます
  • すべてのサポートされているインターフェースタイプでの認証と仮想ネットワークセグメンテーション
  • 直感的で使いやすいAPI
    • ソケットAPIよりもシンプルで使いやすいが、より強力
    • 分散型および非中央集権型アプリケーションの構築をはるかに簡単にします
  • 任意の量のデータの信頼性と効率的な転送
    • Reticulumは数バイトのデータから多数のギガバイトのファイルまで扱えます
    • シーケンス、圧縮、転送調整、チェックサムは自動的に行われます
    • APIは非常に使いやすく、転送進捗を提供します
  • 軽量で柔軟かつ拡張可能なリクエスト/レスポンス機構
  • 効率的なリンク確立
    • 暗号化および検証されたリンクを設定する総コストはわずか3パケット、合計297バイト
    • リンクを開いたままにする低コストはわずか0.44ビット/秒
  • チャネルとバッファ機構による信頼性の高い順次配信

リファレンス実装

このリポジトリのPythonコードはReticulumのリファレンス実装です。Reticulumプロトコルは、このリファレンス実装とそれに関連するマニュアルによって完全かつ権威的に定義されています。メンテナはMark Qvistで、Reticulum Identity <bc7291552be7a58f361522990465165c> によって識別されます。

現在も将来的にも、二次的なプロトコル仕様の派生物は存在しません。実行可能で、機能的で、テスト可能で、地球全体で24時間365日展開され動作している仕様以上に優れたものはありません。

Reticulumには、別個の派生した「正式仕様」や「RFC」などは存在せず、今後も存在しません:

リファレンス実装が最終的かつ権威ある仕様です。

Reticulumプロトコルとの互換性は、このリファレンス実装との完全な相互運用性と十分な機能パリティを持つことと定義されます。これを達成する特定のプロトコル実装はReticulumです。達成しないものはReticulumではありません。

リファレンス実装はReticulumライセンスの下でライセンスされています。

Reticulumプロトコルは2016年にパブリックドメインに献呈されました。

Reticulumアプリケーションの例

Reticulumが何ができるかすぐに知りたい場合は、マニュアルのPrograms Using Reticulumセクション、または以下のリソースを参照してください:

  • LXMF はReticulum上に構築された分散型で遅延・分断耐性のあるメッセージ転送プロトコルです
  • LXST プロトコルとフレームワークは、Reticulum上でリアルタイムの音声および信号転送を提供します。これには、音声ベースのアプリケーションやハードウェアデバイスを構築するためのプリミティブとユーティリティが含まれており、例えばrnphoneプログラムはハードウェア電話の構築に使用できます。
  • オフグリッドで暗号化され、復元力のあるメッシュ通信プラットフォームについては、Nomad Network を参照してください。
  • Android、Linux、macOS、WindowsアプリのSideband は、グラフィカルインターフェースと、ファイル転送、画像・音声メッセージ、リアルタイム音声通話、分散テレメトリシステム、マッピング機能、完全なプラグイン拡張性など、多くの高度な機能を備えています。
  • MeshChatX は、多くの組み込みツールと機能を備えたフル機能のLXMFクライアントであり、画像や音声メッセージ、ファイル転送、音声通話もサポートしています。また、Nomad Networkノードを閲覧するための組み込みページブラウザも含まれています。
  • 含まれている rnsh プログラムを使用して、Reticulum経由でリモートシェルセッションを確立できます。

Reticulumはどこで使用できますか?

少なくとも5ビット/秒以上のスループットと500バイトのMTUを持つ半二重チャネルをサポートできるほぼすべての媒体上で使用できます。データラジオ、モデム、LoRaラジオ、シリアル回線、AX.25 TNC、アマチュア無線デジタルモード、WiFiおよびイーサネットデバイス、自由空間光リンク、および同様のシステムはすべて、Reticulumが使用できる物理デバイスの種類の例です。

Reticulumでの使用に特化して設計された RNode と呼ばれるオープンソースのLoRaベースインターフェースがあります。自分で構築することも、USB接続のみでホストに接続できる完全なトランシーバーとして購入することもできます。

Reticulumは既存のIPネットワーク上でもカプセル化できるため、有線イーサネット、ローカルWiFiネットワーク、インターネットでも同様に使用でき、何も妨げるものはありません。実際、Reticulumの強みの一つは、利用可能なインフラストラクチャの任意の組み合わせを使用して、異なる媒体を自己設定型で復元力があり暗号化されたメッシュに簡単に接続できることです。

例として、LoRaラジオ、パケットラジオTNC、WiFiネットワークの両方に接続されたRaspberry Piをセットアップすることが可能です。インターフェースが設定されれば、Reticulumが残りを管理し、WiFiネットワーク上の任意のデバイスがLoRa側やパケットラジオ側のノードと通信でき、その逆も可能です。

始めるには?

Reticulumネットワークスタックを始める最良の方法は、何をしたいかによります。詳細と例については、ReticulumマニュアルのGetting Started Fastセクションを参照してください。

システムにReticulumと関連ユーティリティをインストールする最も簡単な方法は、pipを使用することです。その後、Reticulumを使用する任意のプログラムを起動したり、rnsdユーティリティを使用してシステムサービスとしてReticulumを起動できます。```bash pip install rns

root@kitploit:~
通常のユーザーによる `pip` 経由のパッケージインストールをブロックするオペレーティングシステムを使用している場合、`~/.config/pip/pip.conf` ファイルを編集して、`[global]` セクションに以下のディレクティブを追加することで、`pip` の動作を通常に戻すことができます:```text
[global]
break-system-packages = true

または、pipx ツールを使用して、隔離された環境に Reticulum をインストールできます:```bash pipx install rns

root@kitploit:~
Reticulum は最初の起動時にデフォルトの設定ファイルを作成し、ローカルで到達可能な他の Reticulum ピアへの基本的な接続性を提供します。デフォルトの設定ファイルには、より複雑な設定を作成するためのいくつかの例と参照が含まれています。

システム上の `pip` のバージョンが古い場合は、最初に `pip install pip --upgrade` でアップグレードする必要があるかもしれません。`pip` がまだインストールされていない場合は、システムのパッケージマネージャーを使って `sudo apt install python3-pip` などでインストールできます。

パケット無線や LoRa、シリアルポート、あるいは UDP や TCP インターフェースを用いた高速 IP リンクやインターネットなど、多くの媒体を介した通信を拡張する方法の詳細な例については、[Reticulum Manual](https://markqvist.github.io/Reticulum/manual/) の [サポートされているインターフェース](https://markqvist.github.io/Reticulum/manual/interfaces.html) のセクションを参照してください。

## 付属ユーティリティ
Reticulum には、ネットワークの管理、ステータスや情報の表示、その他のタスクのための便利なユーティリティが多数含まれています。これらのプログラムの詳細については、[Reticulum Manual](https://markqvist.github.io/Reticulum/manual/) の [付属ユーティリティプログラム](https://markqvist.github.io/Reticulum/manual/using.html#included-utility-programs) のセクションを参照してください。

- 常時利用可能なサービスとして Reticulum を実行するためのシステムデーモン `rnsd`
- インターフェースに関する情報を表示するインターフェースステータスユーティリティ `rnstatus`
- パステーブルの表示と変更を可能にするパス検索・管理ツール `rnpath`
- 宛先への接続性を確認する診断ツール `rnprobe`
- システム間でファイルを簡単に転送できるシンプルなファイル転送プログラム `rncp`
- アイデンティティ管理と暗号化ユーティリティ `rnid` は、アイデンティティの管理とファイルの暗号化/復号化を可能にします
- `rnsh` プログラムは、リモートシステムとの完全なインタラクティブシェルセッションを確立することを可能にします
- リモートコマンド実行プログラム `rnx` は、リモートシステムで簡単なコマンドやプログラムを実行し、その出力を取得することを可能にします
- `rngit` プログラムは、Reticulum 上でリポジトリを提供するための完全なマルチリポジトリ Git ノードを提供します
- 付属の `git-remote-rns` ヘルパーは、Reticulum を介して Git リポジトリとやり取りすることを可能にします

`rnx` や `rncp` を含むすべてのツールは、LoRa やパケット無線のような非常に低帯域幅のリンクでも確実かつ良好に動作します。Reticulum 上でフル機能のリモートシェルをお求めの場合は、[rnsh](https://github.com/acehoss/rnsh) プログラムもご覧ください。

## サポートされているインターフェースの種類とデバイス

Reticulum は、Reticulum が動作可能なほとんどの通信ハードウェアをカバーする、汎用的なインターフェースタイプを実装しています。お使いのハードウェアがサポートされていない場合でも、[カスタムインターフェースモジュールの実装は簡単です](https://markqvist.github.io/Reticulum/manual/interfaces.html#custom-interfaces)。

カスタムインターフェースのプルリクエストは、一般的に有用であり、実際の使用で十分にテストされている場合に限り、感謝して受け付けます。

現在、以下の組み込みインターフェースがサポートされています:

- あらゆる Ethernet デバイス
- [RNode](https://unsigned.io/rnode/) を使用した LoRa
- パケット無線 TNC (AX.25 の有無を問わない)
- KISS 互換のハードウェアおよびソフトウェアモデム
- シリアルポートを持つあらゆるデバイス
- IP ネットワーク上の TCP
- IP ネットワーク上の UDP
- stdio またはパイプ経由の外部プログラム
- stdio またはパイプ経由のカスタムハードウェア

## パフォーマンス
Reticulum は非常に広い実用的なパフォーマンス範囲を対象としていますが、低帯域幅の媒体での機能とパフォーマンスを優先しています。目標は、通常のハードウェア上で毎秒 250 ビットから毎秒 1 ギガビットまでの動的なパフォーマンスエンベロープを提供することです。

現在、実用的なパフォーマンスエンベロープは約毎秒 150 ビットから毎秒 500 メガビットであり、それより高速な物理媒体では飽和していません。現在のレベルを超えるパフォーマンスは将来のアップグレードを意図していますが、現時点では優先度は高くありません。

## 現在の状況
すべてのコアプロトコル機能が実装され、動作していますが、実際の使用が探索され理解されるにつれて追加が行われる可能性があります。API およびワイヤフォーマットは安定していると見なすことができます。

## 依存関係
デフォルトの `rns` パッケージのインストールには、以下に示す 2 つの外部依存関係のみが必要です。ほとんどすべてのシステムとディストリビューションでは、これらの依存関係のパッケージが容易に入手でき、`rns` パッケージが `pip` でインストールされると、それらもダウンロードされてインストールされます。

- [PyCA/cryptography](https://github.com/pyca/cryptography)
- [pyserial](https://github.com/pyserial/pyserial)

より珍しいシステムや、まれに、上記のモジュールの 1 つ以上をインストールまたはコンパイルできない場合があります。そのような状況では、代わりに `rnspure` パッケージを使用できます。インストールに外部依存関係は必要ありません。`rns` パッケージと `rnspure` パッケージの内容は*同一*であることに注意してください。唯一の違いは、`rnspure` パッケージにはインストールに必要な依存関係がリストされていないことです。

Reticulum がどのようにインストールされ、起動されても、外部依存関係は*必要*であり*利用可能*である場合にのみロードされます。たとえば、[pyserial](https://github.com/pyserial/pyserial) をサポートできないシステムで Reticulum を使用したい場合、`rnspure` パッケージを使用することでそれが可能ですが、Reticulum はシリアルベースのインターフェースを使用できなくなります。他の利用可能なモジュールは、必要に応じてロードされます。

**注意!** [PyCA/cryptography](https://github.com/pyca/cryptography) をサポートしないシステムで Reticulum を実行するために `rnspure` パッケージを使用する場合は、このドキュメントの「[暗号プリミティブ](#cryptographic-primitives)」セクションを読んで理解することが重要です。

## ブートストラップ接続

Reticulum は加入するサービスでも、参加する単一のグローバルネットワークでもありません。Reticulum はネットワーク自体を介して利用可能な公開インターフェースを発見する機能を提供し、より広いコミュニティは接続をブートストラップするための公開エントリポイントのさまざまなディレクトリを提供しています。

Reticulum を介した初期接続を確立する方法については、マニュアルの「[ブートストラップ接続](https://reticulum.network/manual/gettingstartedfast.html#bootstrapping-connectivity)」セクションをお読みください。

これがどのように機能するか大まかに理解している場合は、[directory.rns.recipes](https://directory.rns.recipes/) や [rmap.world](https://rmap.world) などのコミュニティ運営サイトを使用して、グローバル分散 Reticulum バックボーンへの初期接続のためのインターフェース定義を見つけることができます。

## 公開テストネット
***重要!** 歴史的に、Reticulum プロジェクト自体によって開発者向けのテストネットが提供されていました。グローバルな Reticulum ノードとエントリポイントの数がかなりの量に増加したため、この公開テストネット(アムステルダムテストネットエントリポイントを含む)は廃止されました。まだこのエントリポイントに依存したインスタンスがある場合は、代わりに分散バックボーンへの移行を行ってください。Reticulum には現在、ネットワーク上のインターフェース発見と接続ブートストラップシステムが完全に含まれています。マニュアルの「[ブートストラップ接続](https://reticulum.network/manual/gettingstartedfast.html#bootstrapping-connectivity)」セクションを参照してください。*

## Reticulum をサポートする
これを可能にするために、皆様のご協力が必要です。以下のチャンネルのいずれかから寄付をしていただくことで、オープンで自由でプライベートな通信システムの継続的な開発を支援してください:

- Monero:  ```
  84FpY1QbxHcgdseePYNmhTHcrgMX4nFfBYtz2GKYToqHVVhJp8Eaw1Z1EedRnKD19b3B8NiLCGVxzKV17UMmmeEsCrPyA5w
  • ビットコイン ``` bc1pgqgu8h8xvj4jtafslq396v7ju7hkgymyrzyqft4llfslz5vp99psqfk3a6

    root@kitploit:~
  • Ethereum ``` 0x91C421DdfB8a30a49A71d63447ddb54cEBe3465E

    root@kitploit:~
  • Liberapay: https://liberapay.com/Reticulum/

  • Ko-Fi: https://ko-fi.com/markqvist

暗号プリミティブ

Reticulumは、効率的で強力かつ十分にテストされた暗号プリミティブのシンプルなスイートを使用しており、汎用CPUとマイクロコントローラの両方で利用可能な広く普及した実装を備えています。

この特定のプリミティブセットを選択する主な考慮事項の1つは、現在のほぼすべてのコンピューティングプラットフォームで、比較的落とし穴が少なく安全に実装できることです。

ここに挙げられたプリミティブは信頼できるものです。Reticulumを名乗りながら、これらの正確なプリミティブを使用していないものはReticulumではありません。おそらく意図的に脆弱化または弱体化されたクローンです。使用されているプリミティブは以下のとおりです:

  • Reticulum ID鍵は512ビットのCurve25519鍵セット
    • 署名用の256ビットEd25519鍵
    • ECDH鍵交換用の256ビットX22519鍵
  • 鍵導出用HKDF
  • 暗号化トークンはFernet仕様に基づく
    • Curve25519上のECDH鍵交換から導出された一時鍵
    • メッセージ認証用HMAC(SHA256使用)
    • IVはos.urandom()またはそれ以上で生成する必要あり
    • PKCS7パディングを使用したCBCモードのAES-256
    • Fernetバージョンとタイムスタンプのメタデータフィールドなし
  • SHA-256
  • SHA-512

デフォルトのインストール構成では、X25519、Ed25519、AES-256-CBCプリミティブはOpenSSL(PyCA/cryptographyパッケージ経由)によって提供されます。ハッシュ関数SHA-256とSHA-512は標準Pythonのhashlibによって提供されます。HKDF、HMAC、Tokenプリミティブ、およびPKCS7パディング関数は、常に以下の内部実装によって提供されます:

  • HKDF.py
  • HMAC.py
  • Token.py
  • PKCS7.py

Reticulumには、すべての必要なプリミティブの完全な実装がPure Pythonでも含まれています。Reticulumの起動時にOpenSSLとPyCAがシステムで利用できない場合、Reticulumは代わりに内部のPure-Pythonプリミティブを使用します。これによる些細な結果としてパフォーマンスが挙げられ、OpenSSLバックエンドの方がはるかに高速です。しかし、最も重要な結果は、OpenSSLと同等の精査、テスト、レビューを受けていないプリミティブを使用することによる潜在的なセキュリティの喪失です。

デフォルトでは、Reticulumをインストールすると、OpenSSLとPyCAがまだ利用できない場合、自動的にインストールされる必要があることに注意してください。Pure-Pythonプリミティブを使用できるのは、この要件がユーザーによって明示的に上書きされた場合のみです。例えば、通常のrnsパッケージではなくrnspureパッケージをインストールするか、ローカルソースコードから直接実行する場合などです。

内部のPure-Pythonプリミティブを使用したい場合は、これがもたらすリスクを十分に理解し、そのリスクが自分にとって許容できるかどうか情報に基づいた判断を下すことを強くお勧めします。

Reticulumは比較的新しいソフトウェアであり、そのように扱われるべきです。暗号化のベストプラクティスを最優先に構築されていますが、外部のセキュリティ監査は受けておらず、プライバシーやセキュリティを破壊するバグが存在する可能性は十分にあります。支援したい場合、または監査のスポンサーになりたい場合は、ぜひご連絡ください。

謝辞とクレジット

Reticulumは、その基盤となる膨大なオープンソースの成果、すべての関係者の貢献、そして長年にわたってプロジェクトを支援してきたすべての方々のおかげで存在しています。助けてくださったすべての方に、心から感謝します。

多くの他のモジュールやプロジェクトがReticulumの一部であるか、使用されています。以下のプロジェクトの作者と貢献者に心から感謝します:

  • PyCA/cryptography、BSDライセンス
  • Pure-25519 by Brian Warner、MITライセンス
  • Pysha2 by Thom Dixon、MITライセンス
  • Python AES-128 by Or Gur Arie、MITライセンス
  • Python AES-256 by BoppreH、MITライセンス
  • Curve25519.py by Nicko van Someren、パブリックドメイン
  • I2Plib by Viktor Villainov
  • PySerial by Chris Liechti、BSDライセンス
  • Configobj by Michael Foord, Nicola Larosa, Rob Dennis & Eli Courtwright、BSDライセンス
  • ifaddr by Stefan C. Mueller、MITライセンス
  • Umsgpack.py by Ivan A. Sergeev
  • rnsh by Aaron Heise
  • Python
ツールをダウンロード