feat(provider/localtunnel): deferred local dialing and custom subdomain support
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 55/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- go
- 領域
- networking
調査の方向性
Start in internal/provider/localtunnel.go, reading proxyRequest to see where the 10 pooled connections dial 127.0.0.1:localPort at startup, then requestTunnel and NewLocalTunnel for the GET /?new request. Use the selfhosted provider's lazy-dial code as the reference for deferring the dial until visitor bytes arrive. Done means local dials happen only after the first read, and a requested subdomain is sent as GET /:subdomain when -d is set.
索引モデルが issue の本文から書いたものです。
説明
Summary
Bring parity to the localtunnel provider based on recent selfhosted improvements:
-
Deferred Local Dialing (Lazy Dial):
- In
internal/provider/localtunnel.go,proxyRequestcurrently dials127.0.0.1:localPortimmediately across all 10 pooled connections on startup. - Wait for incoming visitor bytes on
tunnelConn.Read(buf)before dialing the local server, then writebuf[:n]before streaming withio.Copy. - Prevents 10 idle connections to localhost and stops the 500ms reconnect spin loop when the local server is offline.
- In
-
Custom Subdomain (
-d / --subdomain) Support:- LocalTunnel server protocol supports requesting custom subdomains via
GET /:subdomaininstead ofGET /?new. - Update
NewLocalTunnelandrequestTunnelto pass and use the requested subdomain if provided.
- LocalTunnel server protocol supports requesting custom subdomains via
- 主要言語
- Go
- スター
- 9
- フォーク
- 1
- 平均マージ
- 5時間 33分
- マージ済み PR(30日)
- 36
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
kernelshard/expose のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
kernelshard/expose#110 ·
メンテナーはふだん 1 日以内に返信
-
documentation
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
kernelshard/expose#71 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
kernelshard/expose#35 ·
メンテナーはふだん 1 日以内に返信
-
enhancement
難易度 4/5 3〜5日 初心者へのやさしさ 52/100
kernelshard/expose#92 ·
メンテナーはふだん 1 日以内に返信
-
enhancement
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
kernelshard/expose#88 ·
メンテナーはふだん 1 日以内に返信
kernelshard/expose の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
-
blocked-needs-validation bug
難易度 1/5 1時間未満 初心者へのやさしさ 78/100
projectcapsule/capsule#2280 ·
メンテナーはふだん 1 日以内に返信
-
bug ready-for-agent
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
kerti/balances-v2#801 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1〜3時間 初心者へのやさしさ 82/100
メンテナーはふだん 1 日以内に返信
-
[BUG] AdvancedCronJob validating webhook reports incorrect field paths for concurrencyPolicy and pod templates対応中かも @bhuvan-somisetty が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
openkruise/kruise#2650 ·
メンテナーはふだん 1 日以内に返信