1
1
package proxiedsites
2
2
3
3
import (
4
- "encoding/json"
5
- "fmt"
6
4
"sync"
7
5
8
6
"github.com/getlantern/detour"
9
7
"github.com/getlantern/golog"
10
8
"github.com/getlantern/proxiedsites"
11
-
12
- "github.com/getlantern/flashlight/config"
13
- "github.com/getlantern/flashlight/ui"
14
- )
15
-
16
- const (
17
- messageType = `proxiedSites`
18
9
)
19
10
20
11
var (
21
12
log = golog .LoggerFor ("flashlight.proxiedsites" )
22
13
23
- service * ui.Service
24
14
PACURL string
25
15
startMutex sync.Mutex
26
16
)
@@ -34,26 +24,6 @@ func Configure(cfg *proxiedsites.Config) {
34
24
if delta != nil {
35
25
updateDetour (delta )
36
26
}
37
- if service == nil {
38
- // Initializing service.
39
- if err := start (); err != nil {
40
- log .Errorf ("Unable to register service: %q" , err )
41
- }
42
- } else if delta != nil {
43
- // Sending delta.
44
- message := ui.Envelope {
45
- EnvelopeType : ui.EnvelopeType {messageType },
46
- Message : delta ,
47
- }
48
- b , err := json .Marshal (message )
49
-
50
- if err != nil {
51
- log .Errorf ("Unable to publish delta to UI: %v" , err )
52
- } else {
53
- service .Out <- b
54
- }
55
- }
56
-
57
27
startMutex .Unlock ()
58
28
}
59
29
@@ -75,36 +45,3 @@ func updateDetour(delta *proxiedsites.Delta) {
75
45
detour .AddToWl (v + ":443" , true )
76
46
}
77
47
}
78
-
79
- func start () (err error ) {
80
- newMessage := func () interface {} {
81
- return & proxiedsites.Delta {}
82
- }
83
-
84
- // Registering a websocket service.
85
- helloFn := func (write func (interface {}) error ) error {
86
- return write (proxiedsites .ActiveDelta ())
87
- }
88
-
89
- if service , err = ui .Register (messageType , newMessage , helloFn ); err != nil {
90
- return fmt .Errorf ("Unable to register channel: %q" , err )
91
- }
92
-
93
- // Initializing reader.
94
- go read ()
95
-
96
- return nil
97
- }
98
-
99
- func read () {
100
- for msg := range service .In {
101
- err := config .Update (func (updated * config.Config ) error {
102
- log .Debugf ("Applying update from UI" )
103
- updated .ProxiedSites .Delta .Merge (msg .(* proxiedsites.Delta ))
104
- return nil
105
- })
106
- if err != nil {
107
- log .Debugf ("Error applying update from UI: %v" , err )
108
- }
109
- }
110
- }
0 commit comments