offline_web_proxy 0.2.2 copy "offline_web_proxy: ^0.2.2" to clipboard
offline_web_proxy: ^0.2.2 copied to clipboard

Offline-capable local proxy server for Flutter WebView. Provides seamless online/offline operation when converting existing web systems to mobile apps.

0.2.2 #

CI/リリース #

  • タグpushで自動公開: v* タグのpushをトリガーに pub.flutter-io.cn publish → GitHub Release 作成まで自動化

0.2.1 #

CI/リリース #

  • CI互換性の改善: Flutter 3.22.x (Dart 3.4.x) を含むマトリクスで依存解決/テストが通るように調整
  • example依存関係の調整: flutter_lintswebview_flutter のSDK要件をCIに合わせて更新

0.2.0 #

バグ修正 #

  • レスポンスヘッダ整合性の修正: 上流レスポンスの hop-by-hop ヘッダや content-length をサニタイズし、端末/エミュレータでの FormatException (chunked decoding) を回避
  • 更新系リクエストの安定化: 非GETリクエストのボディを一度だけ読み取り、上流転送とキュー保存で共有(ストリーム二重readを防止)
  • キュー互換性: 旧データの相対URLを補正して再送できるように改善

改善 #

  • フリーズ要因の軽減: バイト列処理の効率化(BytesBuilder 等)、キャッシュパージの協調的な処理、バックグラウンドタイマーの多重起動/停止漏れ防止
  • キャッシュの信頼性向上: レスポンスボディを Uint8List として保持し、不要なUTF-8変換を削減(バイナリを安全にキャッシュ)
  • Range対応の強化: Range/206 は保存しない一方、フルキャッシュ(200)から単一Range(206)を生成して返却可能に

テスト #

  • 実機相当E2Eの追加: Flutter example/ アプリと WebView を用いた統合テストを追加(POSTキュー/復旧、バイナリ、Range、並列サブリソース、オフライン再ロード)

0.1.1 #

バグ修正 #

  • キャッシュキー生成の修正: オンライン/オフライン時のキャッシュキー生成を上流サーバURLベースに統一
  • クエリパラメータ対応: URLのクエリパラメータがキャッシュキーに正しく含まれるように修正
  • テスト環境の改善: path_providerのモック設定を追加し、テストの安定性を向上

改善 #

  • テストカバレッジ拡充: クエリパラメータ関連のテストを追加(104テストケース)
  • 依存関係の最適化: Flutter SDK互換性のためtest依存を削除

0.1.0 #

初回リリース #

主要機能

  • オフライン対応プロキシサーバ: Flutter WebView内で動作するローカルプロキシ
  • インテリジェントキャッシュ: RFC準拠のCache-Control対応とオフライン戦略の両立
  • リクエストキュー: POST/PUT/DELETEリクエストのオフライン時キューイング
  • Cookie管理: AES-256暗号化による安全なCookie永続化
  • 静的リソース配信: assets/static/配下のローカルファイル自動配信

API機能

  • サーバ管理: start()stop()isRunning
  • キャッシュ操作: clearCache()clearExpiredCache()clearCacheForUrl()
  • 統計情報: getStats()getCacheStats()
  • Cookie管理: getCookies()clearCookies()
  • キュー管理: getQueuedRequests()getDroppedRequests()
  • 事前キャッシュ: warmupCache()

データモデル

  • CacheEntry: キャッシュエントリ情報(Fresh/Stale/Expired状態管理)
  • ProxyStats: プロキシサーバ統計情報
  • CookieInfo: Cookie情報(値はセキュリティ上マスク)
  • QueuedRequest: キューイングされたリクエスト
  • WarmupResult: キャッシュ事前更新結果

例外クラス

  • ProxyStartException: サーバ起動失敗
  • CacheOperationException: キャッシュ操作失敗
  • NetworkException: ネットワークエラー
  • WarmupException: 事前更新失敗

品質保証

  • 包括的テスト: 85テストケース(基本機能、例外処理、統合テスト)
  • 完全カバレッジ: エッジケース、同時アクセス、設定統合テスト
  • CI/CD: GitHub Actions による自動テスト・品質チェック
  • セキュリティ: 依存関係監査、脆弱性チェック

ドキュメント

  • 詳細仕様書: specs.md(45KB)による完全な技術仕様
  • 多言語対応: README.md(英語)、README.ja.md(日本語)
  • API リファレンス: 全メソッド・クラスの詳細説明
0
likes
155
points
77
downloads

Publisher

unverified uploader

Weekly Downloads

Offline-capable local proxy server for Flutter WebView. Provides seamless online/offline operation when converting existing web systems to mobile apps.

Repository (GitHub)
View/report issues

Topics

#proxy #offline #webview #flutter #cache

Documentation

Documentation
API reference

License

MIT (license)

Dependencies

connectivity_plus, crypto, flutter, hive, hive_flutter, http, path_provider, shelf, shelf_proxy, shelf_router

More

Packages that depend on offline_web_proxy