mirror of
https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake.git
synced 2025-10-13 20:11:19 -04:00
Use event logger for proxy starting message and NAT info
This commit is contained in:
parent
2f55581098
commit
768b80dbdf
3 changed files with 21 additions and 2 deletions
|
@ -58,6 +58,14 @@ func (e EventOnSnowflakeConnectionFailed) String() string {
|
||||||
return fmt.Sprintf("trying a new proxy: %s", scrubbed)
|
return fmt.Sprintf("trying a new proxy: %s", scrubbed)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type EventOnProxyStarting struct {
|
||||||
|
SnowflakeEvent
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e EventOnProxyStarting) String() string {
|
||||||
|
return "Proxy starting"
|
||||||
|
}
|
||||||
|
|
||||||
type EventOnProxyConnectionOver struct {
|
type EventOnProxyConnectionOver struct {
|
||||||
SnowflakeEvent
|
SnowflakeEvent
|
||||||
InboundTraffic int
|
InboundTraffic int
|
||||||
|
@ -68,6 +76,15 @@ func (e EventOnProxyConnectionOver) String() string {
|
||||||
return fmt.Sprintf("Proxy connection closed (↑ %d, ↓ %d)", e.InboundTraffic, e.OutboundTraffic)
|
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 {
|
type SnowflakeEventReceiver interface {
|
||||||
// OnNewSnowflakeEvent notify receiver about a new event
|
// OnNewSnowflakeEvent notify receiver about a new event
|
||||||
// This method MUST not block
|
// This method MUST not block
|
||||||
|
|
|
@ -33,6 +33,8 @@ func (p *logEventLogger) OnNewSnowflakeEvent(e event.SnowflakeEvent) {
|
||||||
p.inboundSum += e.InboundTraffic
|
p.inboundSum += e.InboundTraffic
|
||||||
p.outboundSum += e.OutboundTraffic
|
p.outboundSum += e.OutboundTraffic
|
||||||
p.connectionCount += 1
|
p.connectionCount += 1
|
||||||
|
default:
|
||||||
|
p.logger.Println(e.String())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -566,7 +566,7 @@ func (sf *SnowflakeProxy) runSession(sid string) {
|
||||||
func (sf *SnowflakeProxy) Start() error {
|
func (sf *SnowflakeProxy) Start() error {
|
||||||
var err error
|
var err error
|
||||||
|
|
||||||
log.Println("starting")
|
sf.EventDispatcher.OnNewSnowflakeEvent(event.EventOnProxyStarting{})
|
||||||
sf.shutdown = make(chan struct{})
|
sf.shutdown = make(chan struct{})
|
||||||
|
|
||||||
// blank configurations revert to default
|
// blank configurations revert to default
|
||||||
|
@ -621,7 +621,7 @@ func (sf *SnowflakeProxy) Start() error {
|
||||||
|
|
||||||
currentNATTypeLoaded := getCurrentNATType()
|
currentNATTypeLoaded := getCurrentNATType()
|
||||||
|
|
||||||
log.Printf("NAT type: %s", currentNATTypeLoaded)
|
sf.EventDispatcher.OnNewSnowflakeEvent(&event.EventOnCurrentNATTypeDetermined{CurNATType: currentNATTypeLoaded})
|
||||||
|
|
||||||
NatRetestTask := task.Periodic{
|
NatRetestTask := task.Periodic{
|
||||||
Interval: sf.NATTypeMeasurementInterval,
|
Interval: sf.NATTypeMeasurementInterval,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue