diff options
author | itchyonion <itchyonion@torproject.org> | 2022-11-07 15:20:20 -0800 |
---|---|---|
committer | itchyonion <itchyonion@torproject.org> | 2022-11-16 10:08:10 -0800 |
commit | 768b80dbdfba8733a614770c93fdbea4d48c7c52 (patch) | |
tree | dff6f19cbc787db672cb248ea126719454f4d57f | |
parent | 2f55581098ee45a2e19e8272f0130a6447a5f2d0 (diff) | |
download | snowflake-768b80dbdfba8733a614770c93fdbea4d48c7c52.tar.gz snowflake-768b80dbdfba8733a614770c93fdbea4d48c7c52.zip |
Use event logger for proxy starting message and NAT info
-rw-r--r-- | common/event/interface.go | 17 | ||||
-rw-r--r-- | proxy/lib/pt_event_logger.go | 2 | ||||
-rw-r--r-- | proxy/lib/snowflake.go | 4 |
3 files changed, 21 insertions, 2 deletions
diff --git a/common/event/interface.go b/common/event/interface.go index 968b270..64132e0 100644 --- a/common/event/interface.go +++ b/common/event/interface.go @@ -58,6 +58,14 @@ func (e EventOnSnowflakeConnectionFailed) String() string { return fmt.Sprintf("trying a new proxy: %s", scrubbed) } +type EventOnProxyStarting struct { + SnowflakeEvent +} + +func (e EventOnProxyStarting) String() string { + return "Proxy starting" +} + type EventOnProxyConnectionOver struct { SnowflakeEvent InboundTraffic int @@ -68,6 +76,15 @@ func (e EventOnProxyConnectionOver) String() string { return fmt.Sprintf("Proxy connection closed (↑ %d, ↓ %d)", e.InboundTraffic, e.OutboundTraffic) } +type EventOnCurrentNATTypeDetermined struct { + SnowflakeEvent + CurNATType string +} + +func (e EventOnCurrentNATTypeDetermined) String() string { + return fmt.Sprintf("NAT type: %v", e.CurNATType) +} + type SnowflakeEventReceiver interface { // OnNewSnowflakeEvent notify receiver about a new event // This method MUST not block diff --git a/proxy/lib/pt_event_logger.go b/proxy/lib/pt_event_logger.go index cb262e4..b16f5ba 100644 --- a/proxy/lib/pt_event_logger.go +++ b/proxy/lib/pt_event_logger.go @@ -33,6 +33,8 @@ func (p *logEventLogger) OnNewSnowflakeEvent(e event.SnowflakeEvent) { p.inboundSum += e.InboundTraffic p.outboundSum += e.OutboundTraffic p.connectionCount += 1 + default: + p.logger.Println(e.String()) } } diff --git a/proxy/lib/snowflake.go b/proxy/lib/snowflake.go index f8a0f2c..b4ca5c3 100644 --- a/proxy/lib/snowflake.go +++ b/proxy/lib/snowflake.go @@ -566,7 +566,7 @@ func (sf *SnowflakeProxy) runSession(sid string) { func (sf *SnowflakeProxy) Start() error { var err error - log.Println("starting") + sf.EventDispatcher.OnNewSnowflakeEvent(event.EventOnProxyStarting{}) sf.shutdown = make(chan struct{}) // blank configurations revert to default @@ -621,7 +621,7 @@ func (sf *SnowflakeProxy) Start() error { currentNATTypeLoaded := getCurrentNATType() - log.Printf("NAT type: %s", currentNATTypeLoaded) + sf.EventDispatcher.OnNewSnowflakeEvent(&event.EventOnCurrentNATTypeDetermined{CurNATType: currentNATTypeLoaded}) NatRetestTask := task.Periodic{ Interval: sf.NATTypeMeasurementInterval, |