An open API service indexing awesome lists of open source software.

https://github.com/tkumata/micro-router-esp32c6

Micro Wi-Fi Router with DNS filtering
https://github.com/tkumata/micro-router-esp32c6

esp32-c6 router security xiao-esp32-c6

Last synced: 6 months ago
JSON representation

Micro Wi-Fi Router with DNS filtering

Awesome Lists containing this project

README

          

# XIAO ESP32-C6 マイクロ Wi-Fi ルータ

**Seeed Studio XIAO ESP32C6** (RISC-V) を使用した、極小・セキュア・ポータブルな Wi-Fi ルータの実装です。**NAT ルーティング**、**デュアルモード Wi-Fi**、そしてハードウェアレベルでの **DNS 広告ブロック**機能を備えています。

![image](./docs/IMG_0517.jpeg)

## 主な機能

- **🚀 NAT ルーティング**: 上流ネットワークに接続しつつ、プライベートな Wi-Fi ネットワーク (`192.168.4.x`) を提供します。
- **🛡️ DNS フィルタリング (広告ブロック)**: ルータレベルで広告やトラッカを遮断します。カスタムブロックリスト(最大約 5,000 ドメイン)に対応。
- **📶 デュアルモード**: ステーション (STA) モードとアクセスポイント (AP) モードで同時に動作します。
- **⚙️ Web インターフェース**: `http://micro-router.local` (または `192.168.4.1`) から簡単に設定可能。
- **💾 設定の永続化**: Wi-Fi 設定やブロックリストを不揮発性メモリに保存します。
- **🔄 自動再接続**: 上流ネットワークが切断された場合、自動的に再接続を試みます。

## ハードウェア要件

- **Seeed Studio XIAO ESP32C6** (必須: RISC-V アーキテクチャ)
- _注意: SDK の違いにより、XIAO ESP32-C3/S3 とは互換性がありません。_
- USB-C 電源

## 始め方

### 1. インストール

1. Arduino IDE で **ESP32 Board Package v3.0.0+** をセットアップします。
2. ボードを選択: **XIAO_ESP32C6**。
3. このスケッチ (`micro-router-esp32c6.ino`) を書き込みます。
4. (オプション) ブロックリストを予め入れたい場合はファイルシステム (LittleFS) アップロードを行います。

### 2. 初期設定

1. デバイスの電源を入れます。
2. Wi-Fi に接続: **`micro-router-esp32c6`** (初期パスワード: `esp32c6router`)。
3. キャプティブポータルが開きます。開かない場合は `http://192.168.4.1` へアクセスしてください。
4. 自宅の Wi-Fi SSID とパスワードを入力します。
5. **保存して再起動** をクリックします。

### 3. 使用方法

- **インターネット接続**: ルータの AP に接続すれば、NAT ファイアウォール越しにインターネットへアクセスできます。
- **広告ブロック**:
- `http://192.168.4.1/dns-filter` にアクセスします。
- `domain.txt` ブロックリスト(1 行 1 ドメイン形式)をアップロードします。
- フィルタを有効にして保存します。
- **管理**: Web UI にアクセスすれば、いつでもステータス確認や設定変更が可能です。

## ドキュメント

- **[システム仕様書](./docs/requirements.md)**: 詳細な仕様とアーキテクチャ。
- **[使用方法](./docs/usage.md)**: ステップバイステップのユーザマニュアル。
- **[DNS フィルタリング](./docs/dns_filtering.md)**: 広告ブロックの仕組み。
- **[トラブルシューティング](./docs/troubleshooting_dns_filtering.md)**: よくある問題の解決策。
- **[データ構造](./docs/data_structure.md)**: 内部メモリレイアウトとクラス構成。