switch it to i2p-zero and sam-forwarder-httptunnel for embedded behavior
This commit is contained in:
212
go-i2pd.go
212
go-i2pd.go
@ -1,80 +1,58 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"github.com/eyedeekay/checki2cp/i2pdbundle"
|
||||
// "github.com/eyedeekay/checki2cp"
|
||||
"github.com/eyedeekay/zerobundle"
|
||||
"github.com/eyedeekay/httptunnel"
|
||||
"github.com/eyedeekay/httptunnel/multiproxy"
|
||||
|
||||
"context"
|
||||
"flag"
|
||||
"io/ioutil"
|
||||
"log"
|
||||
"os"
|
||||
"os/signal"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
"net"
|
||||
"net/http"
|
||||
"time"
|
||||
)
|
||||
|
||||
var configFile = `## Configuration file for a typical i2pd user
|
||||
## See https://i2pd.readthedocs.org/en/latest/configuration.html
|
||||
## for more options you can use in this file.
|
||||
|
||||
#log = file
|
||||
#logfile = ./i2pd.log
|
||||
|
||||
ipv4 = true
|
||||
ipv6 = true
|
||||
|
||||
[precomputation]
|
||||
elgamal = true
|
||||
|
||||
[upnp]
|
||||
enabled = true
|
||||
name = goI2Pd
|
||||
|
||||
[reseed]
|
||||
verify = true
|
||||
|
||||
[addressbook]
|
||||
subscriptions = http://inr.i2p/export/alive-hosts.txt,http://identiguy.i2p/hosts.txt,http://stats.i2p/cgi-bin/newhosts.txt,http://i2p-projekt.i2p/hosts.txt
|
||||
|
||||
### REASONING FOR CHANGING DEFAULT CONSOLE PORT
|
||||
## We want to co-exist with other router projects peacefully inluding those that are on the same machine. This is a UI
|
||||
## improvement project, not a router improvement project, and as such we will allow the use of any underlying I2P router.
|
||||
[http]
|
||||
enabled = true
|
||||
address = 127.0.0.1
|
||||
port = 7070
|
||||
|
||||
[httpproxy]
|
||||
enabled = false
|
||||
address = 127.0.0.1
|
||||
port = 4444
|
||||
|
||||
[socksproxy]
|
||||
enabled = false
|
||||
#address = 127.0.0.1
|
||||
#port = 4447
|
||||
|
||||
[sam]
|
||||
enabled = true
|
||||
address = 127.0.0.1
|
||||
port = 7656
|
||||
`
|
||||
|
||||
var i2cpConf = `i2cp.tcp.host=127.0.0.1
|
||||
i2cp.tcp.port=7654
|
||||
`
|
||||
|
||||
// WriteConfOptions generates a default config file for the bundle
|
||||
func WriteConfOptions(targetdir string) error {
|
||||
if i2pd.FileOK(filepath.Join(filepath.Dir(targetdir), "i2pd.conf")) != nil {
|
||||
err := ioutil.WriteFile(filepath.Join(filepath.Dir(targetdir), "i2pd.conf"), []byte(configFile), 0644)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
var (
|
||||
tunnelName = flag.String("service-name", "sam-browser-proxy", "Name of the service(can be anything)")
|
||||
aggressiveIsolation = flag.Bool("mode-aggressive", false, "Create a new client for every single eepSite, rather than making use of contextual identities")
|
||||
controlPortString = flag.String("control-addr", "127.0.0.1:7951", ":port of the SAM bridge")
|
||||
proxyPortString = flag.String("proxy-addr", "127.0.0.1:4444", ":port of the SAM bridge")
|
||||
samHostString = flag.String("bridge-host", "127.0.0.1", "host: of the SAM bridge")
|
||||
samPortString = flag.String("bridge-port", "7656", ":port of the SAM bridge")
|
||||
watchProfiles = flag.String("watch-profiles", "~/.mozilla/.firefox.profile.i2p.default/user.js,~/.mozilla/.firefox.profile.i2p.debug/user.js", "Monitor and control these Firefox profiles")
|
||||
destfile = flag.String("dest-file", "invalid.tunkey", "Use a long-term destination key")
|
||||
debugConnection = flag.Bool("conn-debug", true, "Print connection debug info")
|
||||
inboundTunnelLength = flag.Int("in-tun-length", 2, "Tunnel Length(default 3)")
|
||||
outboundTunnelLength = flag.Int("out-tun-length", 2, "Tunnel Length(default 3)")
|
||||
inboundTunnels = flag.Int("in-tunnels", 2, "Inbound Tunnel Count(default 2)")
|
||||
outboundTunnels = flag.Int("out-tunnels", 2, "Outbound Tunnel Count(default 2)")
|
||||
inboundBackups = flag.Int("in-backups", 1, "Inbound Backup Count(default 1)")
|
||||
outboundBackups = flag.Int("out-backups", 1, "Inbound Backup Count(default 1)")
|
||||
inboundVariance = flag.Int("in-variance", 0, "Inbound Backup Count(default 0)")
|
||||
outboundVariance = flag.Int("out-variance", 0, "Inbound Backup Count(default 0)")
|
||||
dontPublishLease = flag.Bool("no-publish", true, "Don't publish the leaseset(Client mode)")
|
||||
encryptLease = flag.Bool("encrypt-lease", false, "Encrypt the leaseset(default false, inert)")
|
||||
reduceIdle = flag.Bool("reduce-idle", false, "Reduce tunnels on extended idle time")
|
||||
useCompression = flag.Bool("use-compression", true, "Enable gzip compression")
|
||||
reduceIdleTime = flag.Int("reduce-idle-time", 2000000, "Reduce tunnels after time(Ms)")
|
||||
reduceIdleQuantity = flag.Int("reduce-idle-tunnels", 1, "Reduce tunnels to this level")
|
||||
runCommand = flag.String("run-command", "", "Execute command using the *_PROXY environment variables")
|
||||
runArguments = flag.String("run-arguments", "", "Pass arguments to run-command")
|
||||
suppressLifetime = flag.Bool("suppress-lifetime-output", false, "Suppress \"Tunnel lifetime\" output")
|
||||
)
|
||||
|
||||
func WriteI2CPConf() error {
|
||||
dir, err := i2pd.UnpackI2PdDir()
|
||||
dir, err := zerobundle.UnpackZeroDir()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -88,27 +66,103 @@ func WriteI2CPConf() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func launchi2pd() error {
|
||||
i2pd.WriteConfOptions = WriteConfOptions
|
||||
boolPtr := flag.Bool("force", false, "Force an embedded I2Pd router to start")
|
||||
flag.Parse()
|
||||
if err := i2pd.UnpackI2Pd(); err != nil {
|
||||
return err
|
||||
func proxyMain(ctx context.Context) {
|
||||
profiles := strings.Split(*watchProfiles, ",")
|
||||
|
||||
srv := &http.Server{
|
||||
ReadTimeout: 600 * time.Second,
|
||||
WriteTimeout: 10 * time.Second,
|
||||
Addr: *proxyPortString,
|
||||
}
|
||||
if path, err := i2pd.FindI2Pd(); err != nil {
|
||||
return err
|
||||
} else {
|
||||
log.Println(path)
|
||||
var err error
|
||||
srv.Handler, err = i2pbrowserproxy.NewHttpProxy(
|
||||
i2pbrowserproxy.SetHost(*samHostString),
|
||||
i2pbrowserproxy.SetPort(*samPortString),
|
||||
i2pbrowserproxy.SetProxyAddr(*proxyPortString),
|
||||
i2pbrowserproxy.SetControlAddr(*controlPortString),
|
||||
i2pbrowserproxy.SetDebug(*debugConnection),
|
||||
i2pbrowserproxy.SetInLength(uint(*inboundTunnelLength)),
|
||||
i2pbrowserproxy.SetOutLength(uint(*outboundTunnelLength)),
|
||||
i2pbrowserproxy.SetInQuantity(uint(*inboundTunnels)),
|
||||
i2pbrowserproxy.SetOutQuantity(uint(*outboundTunnels)),
|
||||
i2pbrowserproxy.SetInBackups(uint(*inboundBackups)),
|
||||
i2pbrowserproxy.SetOutBackups(uint(*outboundBackups)),
|
||||
i2pbrowserproxy.SetInVariance(*inboundVariance),
|
||||
i2pbrowserproxy.SetOutVariance(*outboundVariance),
|
||||
i2pbrowserproxy.SetUnpublished(*dontPublishLease),
|
||||
i2pbrowserproxy.SetReduceIdle(*reduceIdle),
|
||||
i2pbrowserproxy.SetCompression(*useCompression),
|
||||
i2pbrowserproxy.SetReduceIdleTime(uint(*reduceIdleTime)),
|
||||
i2pbrowserproxy.SetReduceIdleQuantity(uint(*reduceIdleQuantity)),
|
||||
i2pbrowserproxy.SetKeysPath(*destfile),
|
||||
i2pbrowserproxy.SetProxyMode(*aggressiveIsolation),
|
||||
)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
if !*boolPtr {
|
||||
// if cmd, err := i2pd.LaunchI2Pd(); err != nil {
|
||||
if _, err := i2pd.LaunchI2PdConditional(false, true, false); err != nil {
|
||||
return nil
|
||||
|
||||
ctrlsrv := &http.Server{
|
||||
ReadHeaderTimeout: 600 * time.Second,
|
||||
WriteTimeout: 600 * time.Second,
|
||||
Addr: *controlPortString,
|
||||
}
|
||||
ctrlsrv.Handler, err = i2phttpproxy.NewSAMHTTPController(profiles, srv)
|
||||
|
||||
c := make(chan os.Signal, 1)
|
||||
signal.Notify(c, os.Interrupt)
|
||||
|
||||
go func() {
|
||||
for sig := range c {
|
||||
if sig == os.Interrupt {
|
||||
srv.Handler.(*i2pbrowserproxy.SAMMultiProxy).Close()
|
||||
srv.Shutdown(ctx)
|
||||
ctrlsrv.Shutdown(ctx)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if _, err := i2pd.LaunchI2PdForce(); err != nil {
|
||||
return err
|
||||
}()
|
||||
|
||||
cln, err := net.Listen("tcp4", *controlPortString)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
go func() {
|
||||
log.Println("Starting control server on", cln.Addr())
|
||||
if err := ctrlsrv.Serve(cln); err != nil {
|
||||
if err == http.ErrServerClosed {
|
||||
return
|
||||
}
|
||||
log.Fatal("Serve:", err)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
log.Println("Stopping control server on", cln.Addr())
|
||||
}()
|
||||
|
||||
ln, err := net.Listen("tcp4", *controlPortString)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
go func() {
|
||||
log.Println("Starting proxy server on", ln.Addr())
|
||||
if err := srv.Serve(ln); err != nil {
|
||||
if err == http.ErrServerClosed {
|
||||
return
|
||||
}
|
||||
log.Fatal("Serve:", err)
|
||||
}
|
||||
log.Println("Stopping proxy server on", ln.Addr())
|
||||
}()
|
||||
|
||||
go counter()
|
||||
|
||||
<-ctx.Done()
|
||||
}
|
||||
|
||||
func counter() {
|
||||
var x int
|
||||
for {
|
||||
if !*suppressLifetime {
|
||||
log.Println("Identity is", x, "minute(s) old")
|
||||
time.Sleep(1 * time.Minute)
|
||||
x++
|
||||
}
|
||||
}
|
||||
}
|
||||
|
14
go.mod
14
go.mod
@ -6,6 +6,20 @@ require (
|
||||
github.com/eyedeekay/GingerShrew v0.0.0-20200702210346-bb2ed34c11fb
|
||||
github.com/eyedeekay/checki2cp v0.0.15
|
||||
github.com/eyedeekay/go-fpw v0.0.0-20200512022837-c8b4dcdc74d4
|
||||
github.com/eyedeekay/httptunnel v0.0.0-20200116022455-631ab90f707d
|
||||
github.com/eyedeekay/zerobundle v0.0.0-20200729142507-09254e0fcd4a
|
||||
github.com/eyedeekay/zerobundle/parts/aa v0.0.0-20200729142507-09254e0fcd4a // indirect
|
||||
github.com/eyedeekay/zerobundle/parts/ab v0.0.0-20200729142507-09254e0fcd4a // indirect
|
||||
github.com/eyedeekay/zerobundle/parts/ac v0.0.0-20200729142507-09254e0fcd4a // indirect
|
||||
github.com/eyedeekay/zerobundle/parts/ad v0.0.0-20200729142507-09254e0fcd4a // indirect
|
||||
github.com/eyedeekay/zerobundle/parts/ae v0.0.0-20200729142507-09254e0fcd4a // indirect
|
||||
github.com/eyedeekay/zerobundle/parts/af v0.0.0-20200729142507-09254e0fcd4a // indirect
|
||||
github.com/eyedeekay/zerobundle/parts/ag v0.0.0-20200729142507-09254e0fcd4a // indirect
|
||||
github.com/eyedeekay/zerobundle/parts/ah v0.0.0-20200729142507-09254e0fcd4a // indirect
|
||||
github.com/eyedeekay/zerobundle/parts/ai v0.0.0-20200729142507-09254e0fcd4a // indirect
|
||||
github.com/eyedeekay/zerobundle/parts/aj v0.0.0-20200729142507-09254e0fcd4a // indirect
|
||||
github.com/eyedeekay/zerobundle/parts/ak v0.0.0-20200729142507-09254e0fcd4a // indirect
|
||||
github.com/eyedeekay/zerobundle/parts/al v0.0.0-20200729142507-09254e0fcd4a // indirect
|
||||
github.com/pierrec/lz4/v3 v3.3.2 // indirect
|
||||
github.com/zserge/lorca v0.1.9
|
||||
)
|
||||
|
89
go.sum
89
go.sum
@ -3,6 +3,7 @@ cloud.google.com/go v0.16.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT
|
||||
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
|
||||
cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
|
||||
code.cloudfoundry.org/bytefmt v0.0.0-20190710193110-1eb035ffe2b6/go.mod h1:wN/zk7mhREp/oviagqUXY3EwuHhWyOvAdsn5Y4CzOrc=
|
||||
crawshaw.io/littleboss v0.0.0-20190317185602-8957d0aedcce/go.mod h1:TIbCAHgttUfOKudw59Il7Z0XIlitzo228/mtwMe4vPM=
|
||||
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
||||
github.com/RoaringBitmap/roaring v0.4.7/go.mod h1:8khRDP4HmeXns4xIj9oGrKSz7XTQiJx2zgh7AcNke4w=
|
||||
github.com/RoaringBitmap/roaring v0.4.17/go.mod h1:D3qVegWTmfCaX4Bl5CrBE9hfrSrrXIr8KVNvRsDi1NI=
|
||||
@ -72,14 +73,19 @@ github.com/andybalholm/brotli v0.0.0-20190621154722-5f990b63d2d6/go.mod h1:+lx6/
|
||||
github.com/andybalholm/brotli v1.0.0 h1:7UCwP93aiSfvWpapti8g88vVVGp2qqtGyePsSuDafo4=
|
||||
github.com/andybalholm/brotli v1.0.0/go.mod h1:loMXtMfwqflxFJPmdbJO0a3KNoPuLBgiu3qAvBg8x/Y=
|
||||
github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ=
|
||||
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs=
|
||||
github.com/benbjohnson/immutable v0.2.0/go.mod h1:uc6OHo6PN2++n98KHLxW8ef4W42ylHiQSENghE1ezxI=
|
||||
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
|
||||
github.com/boltdb/bolt v1.3.1/go.mod h1:clJnj/oiGkjum5o1McbSZDSLxVThjynRyGBgiAx27Ps=
|
||||
github.com/boreq/friendlyhash v0.0.0-20190522010448-1ca64b3ca69e h1:2q8XPjAYhXX8H71AoAPdgBrCUA3HPhC4ax8XHrTsY6I=
|
||||
github.com/boreq/friendlyhash v0.0.0-20190522010448-1ca64b3ca69e/go.mod h1:y80zLCg0QS5u3fJKeF2rwpezcyZuCpZpbFcWv6Pn98w=
|
||||
github.com/bradfitz/gomemcache v0.0.0-20170208213004-1952afaa557d/go.mod h1:PmM6Mmwb0LSuEubjR8N7PtNe1KxZLtOUHtbeikc5h60=
|
||||
github.com/bradfitz/iter v0.0.0-20140124041915-454541ec3da2/go.mod h1:PyRFw1Lt2wKX4ZVSQ2mk+PeDa1rxyObEDlApuIsUKuo=
|
||||
github.com/bradfitz/iter v0.0.0-20190303215204-33e6a9893b0c/go.mod h1:PyRFw1Lt2wKX4ZVSQ2mk+PeDa1rxyObEDlApuIsUKuo=
|
||||
github.com/bradfitz/iter v0.0.0-20191230175014-e8f45d346db8/go.mod h1:spo1JLcs67NmW1aVLEgtA8Yy1elc+X8y5SRW1sFW4Og=
|
||||
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
|
||||
github.com/d5/tengo v1.24.3/go.mod h1:VhLq8Q2QFhCIJO3NhvM934qOThykMqJi9y9Siqd1ocQ=
|
||||
github.com/danfragoso/thdwb v0.0.0-20191106005607-18cfeb88e782/go.mod h1:IXu355OpbfEz78+tgu81vte3YA/MEWQKBu/dXod4NM0=
|
||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE=
|
||||
@ -105,6 +111,7 @@ github.com/eyedeekay/checki2cp v0.0.13 h1:lSOtS7LzInJIPrMbBkoLhlQHloRFMx0u5nFaQl
|
||||
github.com/eyedeekay/checki2cp v0.0.13/go.mod h1:3dCAyHmQ0WRd6xsBpL/W62gTcXU4P3kWfigrjeDZpAQ=
|
||||
github.com/eyedeekay/checki2cp v0.0.15 h1:Vlwp9opuQJSgp139VVrLkKXRwLYYrXiBkqed35ZbqzY=
|
||||
github.com/eyedeekay/checki2cp v0.0.15/go.mod h1:3dCAyHmQ0WRd6xsBpL/W62gTcXU4P3kWfigrjeDZpAQ=
|
||||
github.com/eyedeekay/eephttpd v0.0.0-20190903000420-52f5a8485a4e/go.mod h1:wFPQsNBnY95LkuujFEZARo7slafRwoF0D97FFHBoZro=
|
||||
github.com/eyedeekay/go-fpw v0.0.0-20200403201858-3d24733073ff h1:nmfiBxYeXYnUUB7sYoez7VT7mB99hFeHeZtXE69ot9A=
|
||||
github.com/eyedeekay/go-fpw v0.0.0-20200403201858-3d24733073ff/go.mod h1:F4d0cXDXTK6ZsAnxmATan3VyDV4k9P9ciCGRKt/fVik=
|
||||
github.com/eyedeekay/go-fpw v0.0.0-20200404005604-8ccf7dc81580 h1:Eo210WM4t+DLJ5rBmj1fnUAuCEM614zIvVUO7RIeTRw=
|
||||
@ -116,10 +123,53 @@ github.com/eyedeekay/go-fpw v0.0.0-20200512022837-c8b4dcdc74d4/go.mod h1:RyCx7Ku
|
||||
github.com/eyedeekay/go-i2cp v0.0.0-20190716135428-6d41bed718b0 h1:rnn9OlD/3+tATEZNuiMR1C84O5CX8bZL2qqgttprKrw=
|
||||
github.com/eyedeekay/go-i2cp v0.0.0-20190716135428-6d41bed718b0/go.mod h1:+P0fIhkqIYjo7exMJRTlSteRMbRyHbiBiKw+YlPWk+c=
|
||||
github.com/eyedeekay/go-i2pcontrol v0.0.0-20200110011336-510cca77e350/go.mod h1:bhIQsVpbNNXMtcoZ9UF4hLQleOjaCgKGXiRRhNc8TOA=
|
||||
github.com/eyedeekay/goSam v0.1.1-0.20190814204230-d4c9b8c57dd6 h1:+5eM/MhjGMWCGQCCqn9pb1bmvoRewweWhOaE6fA7kZ0=
|
||||
github.com/eyedeekay/goSam v0.1.1-0.20190814204230-d4c9b8c57dd6/go.mod h1:kGTfZrncJ4CwMX3d1qA6bcMJTOcuTbOqgWg7WrFNAQ0=
|
||||
github.com/eyedeekay/httptunnel v0.0.0-20190831065052-9eab288b8a82/go.mod h1:VeXBZz04xj4eUGAcD8ygn2WFxY/dAvRbSNYMWoDzMxc=
|
||||
github.com/eyedeekay/httptunnel v0.0.0-20190831071439-0ff3d5f798fb/go.mod h1:SnCAM9CskhwSFkzDfh+H5yNTbvhcTeKekkuX0ejCcSk=
|
||||
github.com/eyedeekay/httptunnel v0.0.0-20200116022455-631ab90f707d h1:ggsfRJcekoacUcTR2tqeBaIi/b/Zug4+nuff+m5nheU=
|
||||
github.com/eyedeekay/httptunnel v0.0.0-20200116022455-631ab90f707d/go.mod h1:zLeRR3eJaYINzWRjbnXc84VuopURbgjIbw6HQ/Q1qgM=
|
||||
github.com/eyedeekay/outproxy v0.0.0-20190908174238-22bd71d43733/go.mod h1:jUBr6XRbiuUBe/sSbVdO5upU4mp8842bdpXDsQY54Rc=
|
||||
github.com/eyedeekay/portcheck v0.0.0-20190218044454-bb8718669680/go.mod h1:8VVIH19/CU2VFJB8P6e58Mo9nvDqqKgllS0oQY3F83U=
|
||||
github.com/eyedeekay/ramp v0.0.0-20190429201811-305b382042ab h1:EfTRHxGSbiaEyxNzvKRBWVIDw3mD8xXGxj4gvwFzY7Q=
|
||||
github.com/eyedeekay/ramp v0.0.0-20190429201811-305b382042ab/go.mod h1:h7mvUAMgZ/rtRDUOkvKTK+8LnDMeUhJSoa5EPdB51fc=
|
||||
github.com/eyedeekay/sam-forwarder v0.0.0-20190814201550-7c0d7cb0d56c/go.mod h1:Ptrm1d4a3KC5/cN264Gn6OntYOmcuJ8Pkyd7+hA01gw=
|
||||
github.com/eyedeekay/sam-forwarder v0.0.0-20190831071254-d67c0c0e311f/go.mod h1:u4K8aGwSIuMSQ/OzsH7zkshnEvCQgUupfexLXZIjsDI=
|
||||
github.com/eyedeekay/sam-forwarder v0.0.0-20190905212604-029317222e15/go.mod h1:kFP6jkqHUTGGW/nMUZLnRonkPWE9fyEc8/eSU1CqTFg=
|
||||
github.com/eyedeekay/sam-forwarder v0.0.0-20190908210105-71ca8cd65fda h1:Mpi42j17o2vXGZNmTAkv5pwXzVFKWkkAviSAjSF4xPs=
|
||||
github.com/eyedeekay/sam-forwarder v0.0.0-20190908210105-71ca8cd65fda/go.mod h1:crhQdi30uVnJ5Xn3JAPoMxvyWg6yo5LOfH4JZ+VIaxA=
|
||||
github.com/eyedeekay/sam3 v0.0.0-20190613034117-99ad6522ebe3/go.mod h1:Vrxh+71E3HVYqyRlT5Jg+E26sSuu8UNTLB4p8qyT408=
|
||||
github.com/eyedeekay/sam3 v0.0.0-20190730185140-f8d54526ea25/go.mod h1:Y3igFVzN4ybqkkpfUWULGhw7WRp8lieq0ORXbLBbcZM=
|
||||
github.com/eyedeekay/sam3 v0.32.2 h1:xODDY5nBVg0oK7KaYk7ofkXFoHPsmI1umhSv1TZlS7s=
|
||||
github.com/eyedeekay/sam3 v0.32.2/go.mod h1:Y3igFVzN4ybqkkpfUWULGhw7WRp8lieq0ORXbLBbcZM=
|
||||
github.com/eyedeekay/zerobundle v0.0.0-20200729053534-6fdefaab976b h1:o3AMSGxze29dkXAs7bjFTNg/wO1SR29aH9+DLg1Q3Ys=
|
||||
github.com/eyedeekay/zerobundle v0.0.0-20200729142507-09254e0fcd4a h1:DP3ZHtWFnq15iGkQ/NAskdxTwyUNhU/TQYGof2FytiQ=
|
||||
github.com/eyedeekay/zerobundle v0.0.0-20200729142507-09254e0fcd4a/go.mod h1:wSZgKbze5193l1gvlEMGmC2T9BSmfK/ZFx+w7GpPScE=
|
||||
github.com/eyedeekay/zerobundle/parts v0.0.0-20200729142507-09254e0fcd4a h1:kS2ZOf/ZiHnV+JL/V5yxr4I9qDLSvKXBjmHUm/xCPRM=
|
||||
github.com/eyedeekay/zerobundle/parts/aa v0.0.0-20200729142507-09254e0fcd4a h1:SCBVcTjxLI1idb/Idgf3WJN9FdKKnnauoJCd8QRfMVE=
|
||||
github.com/eyedeekay/zerobundle/parts/aa v0.0.0-20200729142507-09254e0fcd4a/go.mod h1:tVoCDPZqyc9Q5NKmU7m9jMHCFLuDhurZPsnnzv89pGE=
|
||||
github.com/eyedeekay/zerobundle/parts/ab v0.0.0-20200729142507-09254e0fcd4a h1:1DgXjWc4ZXTnC4WGsHY8HAA8QdCrB67+/nZGXTQbIr4=
|
||||
github.com/eyedeekay/zerobundle/parts/ab v0.0.0-20200729142507-09254e0fcd4a/go.mod h1:NKlWiAbDc3kJWP/G6OhSrqslLlslDCdv7nKoU0GTyxo=
|
||||
github.com/eyedeekay/zerobundle/parts/ac v0.0.0-20200729142507-09254e0fcd4a h1:rwMHSafcl+31LFgF3ISBWsDwdpn3bjBir2Ro+61c7ow=
|
||||
github.com/eyedeekay/zerobundle/parts/ac v0.0.0-20200729142507-09254e0fcd4a/go.mod h1:AuRFy8afdHaiMGYwzYHe5y/zMhR4jAmlVp1pkHnpqK8=
|
||||
github.com/eyedeekay/zerobundle/parts/ad v0.0.0-20200729142507-09254e0fcd4a h1:DcnJHPJytYcO3wJuNJsg8mHRh1n1EMbxCNfbdavs0Dc=
|
||||
github.com/eyedeekay/zerobundle/parts/ad v0.0.0-20200729142507-09254e0fcd4a/go.mod h1:62U7cYEvzk7Ifxw/Ar5v4IuJhIk0tmmtBXzfQ9wvYZk=
|
||||
github.com/eyedeekay/zerobundle/parts/ae v0.0.0-20200729142507-09254e0fcd4a h1:bdiHNCtlUCTTxRD2dx7Na/Rihl4KFZ3pSKKcAFNvQlU=
|
||||
github.com/eyedeekay/zerobundle/parts/ae v0.0.0-20200729142507-09254e0fcd4a/go.mod h1:MKLWNSl5M4lATW82deXgDyqtLXwkef8qLgQi32iUios=
|
||||
github.com/eyedeekay/zerobundle/parts/af v0.0.0-20200729142507-09254e0fcd4a h1:ISq9LKIkHsiJBko6QwXlxAO8Fzsxdphip/yWQ0X+FMQ=
|
||||
github.com/eyedeekay/zerobundle/parts/af v0.0.0-20200729142507-09254e0fcd4a/go.mod h1:LpDs3WuJeg+W2ovaaaV/zki2+qUw1u8kivAkBrYNn3Y=
|
||||
github.com/eyedeekay/zerobundle/parts/ag v0.0.0-20200729142507-09254e0fcd4a h1:g3WOL17K3aWxOaAKp9eg3tgRN54P2YyBpdWFRSfIdDQ=
|
||||
github.com/eyedeekay/zerobundle/parts/ag v0.0.0-20200729142507-09254e0fcd4a/go.mod h1:F0f897NnR0kBLV6zRIEHp7lhHYzBo2QNG6RhSsm0j8g=
|
||||
github.com/eyedeekay/zerobundle/parts/ah v0.0.0-20200729142507-09254e0fcd4a h1:Fa6fCH5UJCBEZEvCHNM7mAVH1/XkUkEeD/TyYbeRcyA=
|
||||
github.com/eyedeekay/zerobundle/parts/ah v0.0.0-20200729142507-09254e0fcd4a/go.mod h1:LQQiw6dlpSNb9vQFLHqOWUSGsNuPulqet/gLzgntWKk=
|
||||
github.com/eyedeekay/zerobundle/parts/ai v0.0.0-20200729142507-09254e0fcd4a h1:T4Cm1uKjtDU4Fly9vaPvOY4sf6VVkaERQhvyALnVnBw=
|
||||
github.com/eyedeekay/zerobundle/parts/ai v0.0.0-20200729142507-09254e0fcd4a/go.mod h1:HD5UclEN5RPgVQ2Ba/RdNWhtQ1d12Gx72CKksezEdhc=
|
||||
github.com/eyedeekay/zerobundle/parts/aj v0.0.0-20200729142507-09254e0fcd4a h1:AITYqhm/b9RCxeCvRWFx8lu2Ds8FeII63hbNF7JvnIM=
|
||||
github.com/eyedeekay/zerobundle/parts/aj v0.0.0-20200729142507-09254e0fcd4a/go.mod h1:oX+vQpNrt5jVdJwdFD+kVMDNfYpRNCB8E8me6xOrqos=
|
||||
github.com/eyedeekay/zerobundle/parts/ak v0.0.0-20200729142507-09254e0fcd4a h1:+aFtyD7v1mfjtuqdBDwPV0wA31GSB3l+BSkYL3l1xZk=
|
||||
github.com/eyedeekay/zerobundle/parts/ak v0.0.0-20200729142507-09254e0fcd4a/go.mod h1:uUp6ltyxP5+9AD4A+ythEBdkglMRkhgGV8SM+eXZqTw=
|
||||
github.com/eyedeekay/zerobundle/parts/al v0.0.0-20200729142507-09254e0fcd4a h1:h+8wlDouDmrZW2NZwRy5UaHAewkZps4KYpJs5bZljo0=
|
||||
github.com/eyedeekay/zerobundle/parts/al v0.0.0-20200729142507-09254e0fcd4a/go.mod h1:lZDRMeWc47sspGEW0wOGtUqEh+WWA2z5GGTCEFgddVI=
|
||||
github.com/frankban/quicktest v1.4.0/go.mod h1:36zfPVQyHxymz4cH7wlDmVwDrJuljRB60qkgn7rorfQ=
|
||||
github.com/fsnotify/fsnotify v1.4.3-0.20170329110642-4da3e2cfbabc/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
|
||||
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
|
||||
@ -130,12 +180,17 @@ github.com/glycerine/go-unsnap-stream v0.0.0-20190901134440-81cf024a9e0a/go.mod
|
||||
github.com/glycerine/goconvey v0.0.0-20180728074245-46e3a41ad493/go.mod h1:Ogl1Tioa0aV7gstGFO7KhffUsb9M4ydbEbbxpcEDc24=
|
||||
github.com/glycerine/goconvey v0.0.0-20190315024820-982ee783a72e/go.mod h1:Ogl1Tioa0aV7gstGFO7KhffUsb9M4ydbEbbxpcEDc24=
|
||||
github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31/go.mod h1:Ogl1Tioa0aV7gstGFO7KhffUsb9M4ydbEbbxpcEDc24=
|
||||
github.com/go-gl/gl v0.0.0-20181026044259-55b76b7df9d2/go.mod h1:482civXOzJJCPzJ4ZOX/pwvXBWSnzD4OKMdH4ClKGbk=
|
||||
github.com/go-gl/gl v0.0.0-20190320180904-bf2b1f2f34d7/go.mod h1:482civXOzJJCPzJ4ZOX/pwvXBWSnzD4OKMdH4ClKGbk=
|
||||
github.com/go-gl/glfw v0.0.0-20181014061658-691ee1b84c51/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
|
||||
github.com/go-gl/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
|
||||
github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
|
||||
github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
|
||||
github.com/go-stack/stack v1.6.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
|
||||
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
|
||||
github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
|
||||
github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
|
||||
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k=
|
||||
github.com/golang/gddo v0.0.0-20190419222130-af0f2af80721/go.mod h1:xEhNfoBDX1hzLm2Nf80qUvZ2sVwoMZ8d6IE2SrsQfh4=
|
||||
github.com/golang/gddo v0.0.0-20200324184333-3c2cc9a6329d/go.mod h1:sam69Hju0uq+5uvLJUMDlsKlQ21Vrs1Kd/1YFPNYdOU=
|
||||
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
|
||||
@ -164,6 +219,8 @@ github.com/gosuri/uilive v0.0.3/go.mod h1:qkLSc0A5EXSP6B04TrN4oQoxqFI7A8XvoXSlJi
|
||||
github.com/gosuri/uiprogress v0.0.0-20170224063937-d0567a9d84a1/go.mod h1:C1RTYn4Sc7iEyf6j8ft5dyoZ4212h8G1ol9QQluh5+0=
|
||||
github.com/gosuri/uiprogress v0.0.1/go.mod h1:C1RTYn4Sc7iEyf6j8ft5dyoZ4212h8G1ol9QQluh5+0=
|
||||
github.com/gregjones/httpcache v0.0.0-20170920190843-316c5e0ff04e/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA=
|
||||
github.com/gtank/cryptopasta v0.0.0-20170601214702-1f550f6f2f69 h1:7xsUJsB2NrdcttQPa7JLEaGzvdbk7KvfrjgHZXOQRo0=
|
||||
github.com/gtank/cryptopasta v0.0.0-20170601214702-1f550f6f2f69/go.mod h1:YLEMZOtU+AZ7dhN9T/IpGhXVGly2bvkJQ+zxj3WeVQo=
|
||||
github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
|
||||
github.com/hashicorp/hcl v0.0.0-20170914154624-68e816d1c783/go.mod h1:oZtUIOe8dh44I2q6ScRibXws4Ajl+d+nod3AaR9vL5w=
|
||||
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
|
||||
@ -176,6 +233,7 @@ github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJS
|
||||
github.com/jtolds/gls v4.2.1+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
|
||||
github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
|
||||
github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
|
||||
github.com/justinas/nosurf v0.0.0-20190416172904-05988550ea18/go.mod h1:Aucr5I5chr4OCuuVB4LTuHVrKHBuyRSo7vM2hqrcb7E=
|
||||
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
|
||||
github.com/klauspost/compress v1.4.1/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A=
|
||||
github.com/klauspost/compress v1.9.2/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A=
|
||||
@ -212,6 +270,8 @@ github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db/go.mod h1:l0
|
||||
github.com/mitchellh/mapstructure v0.0.0-20170523030023-d0303fe80992/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
|
||||
github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae/go.mod h1:qAyveg+e4CE+eKJXWVjKXM4ck2QobLqTDytGJbLLhJg=
|
||||
github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
|
||||
github.com/mwitkow/go-http-dialer v0.0.0-20161116154839-378f744fb2b8 h1:BhQQWYKJwXPtAhm12d4gQU4LKS9Yov22yOrDc2QA7ho=
|
||||
github.com/mwitkow/go-http-dialer v0.0.0-20161116154839-378f744fb2b8/go.mod h1:ntWhh7pzdiiRKBMxUB5iG+Q2gmZBxGxpX1KyK6N8kX8=
|
||||
github.com/nwaples/rardecode v1.0.0/go.mod h1:5DzqNKiOdpKKBH87u8VlvAnPZMXcGRhxWkRpHbbfGS0=
|
||||
github.com/nwaples/rardecode v1.1.0 h1:vSxaY8vQhOcVr4mm5e8XllHWTiM4JF507A0Katqw7MQ=
|
||||
github.com/nwaples/rardecode v1.1.0/go.mod h1:5DzqNKiOdpKKBH87u8VlvAnPZMXcGRhxWkRpHbbfGS0=
|
||||
@ -222,6 +282,8 @@ github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1Cpa
|
||||
github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
|
||||
github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw=
|
||||
github.com/pelletier/go-toml v1.0.1-0.20170904195809-1d6b12b7cb29/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
|
||||
github.com/phayes/freeport v0.0.0-20180830031419-95f893ade6f2 h1:JhzVVoYvbOACxoUmOs6V/G4D5nPVUW73rKvXxP4XUJc=
|
||||
github.com/phayes/freeport v0.0.0-20180830031419-95f893ade6f2/go.mod h1:iIss55rKnNBTvrwdmkUpLnDpZoAHvWaiq5+iMmen4AE=
|
||||
github.com/philhofer/fwd v1.0.0/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU=
|
||||
github.com/pierrec/cmdflag v0.0.2/go.mod h1:a3zKGZ3cdQUfxjd0RGMLZr8xI3nvpJOB+m6o/1X5BmU=
|
||||
github.com/pierrec/lz4 v1.0.1 h1:w6GMGWSsCI04fTM8wQRdnW74MuJISakuUU0onU0TYB4=
|
||||
@ -265,12 +327,14 @@ github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXf
|
||||
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
||||
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
|
||||
github.com/syncthing/syncthing v0.14.48-rc.4/go.mod h1:nw3siZwHPA6M8iSfjDCWQ402eqvEIasMQOE8nFOxy7M=
|
||||
github.com/tfriedel6/canvas v0.9.2/go.mod h1:O1YsCm9agdCl48M82l/1tUszUh1nR5zfpLcHxM5D7Cw=
|
||||
github.com/tinylib/msgp v1.0.2/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE=
|
||||
github.com/tinylib/msgp v1.1.0/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE=
|
||||
github.com/tinylib/msgp v1.1.1/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE=
|
||||
github.com/ulikunitz/xz v0.5.6/go.mod h1:2bypXElzHzzJZwzH67Y6wb67pO62Rzfn7BSiF4ABRW8=
|
||||
github.com/ulikunitz/xz v0.5.7 h1:YvTNdFzX6+W5m9msiYg/zpkSURPPtOlzbqYjrFn7Yt4=
|
||||
github.com/ulikunitz/xz v0.5.7/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14=
|
||||
github.com/veandco/go-sdl2 v0.3.3/go.mod h1:FB+kTpX9YTE+urhYiClnRzpOXbiWgaU3+5F2AB78DPg=
|
||||
github.com/willf/bitset v1.1.3/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4=
|
||||
github.com/willf/bitset v1.1.9/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4=
|
||||
github.com/willf/bitset v1.1.10/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4=
|
||||
@ -279,30 +343,49 @@ github.com/willf/bloom v2.0.3+incompatible/go.mod h1:MmAltL9pDMNTrvUkxdg0k0q5I0s
|
||||
github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8 h1:nIPpBwaJSVYIxUFsDv3M8ofmx9yWTog9BfvIu0q41lo=
|
||||
github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8/go.mod h1:HUYIGzjTL3rfEspMxjDjgmT5uz5wzYJKVo23qUhYTos=
|
||||
github.com/ybbus/jsonrpc v2.1.2+incompatible/go.mod h1:XJrh1eMSzdIYFbM08flv0wp5G35eRniyeGut1z+LSiE=
|
||||
github.com/zieckey/goini v0.0.0-20180118150432-0da17d361d26 h1:E0lEWrifmR0ACbGf5PLji1XbW6rtIXLHCXO/YOqi0AE=
|
||||
github.com/zieckey/goini v0.0.0-20180118150432-0da17d361d26/go.mod h1:TQpdgg7I9+PFIkatlx/dnZyZb4iZyCUx1HJj4rXi3+E=
|
||||
github.com/zserge/lorca v0.1.8/go.mod h1:gTrVdXKyWxNhc8aUb1Uu3s0mY343arR1T6jUtxmBxR8=
|
||||
github.com/zserge/lorca v0.1.9 h1:vbDdkqdp2/rmeg8GlyCewY2X8Z+b0s7BqWyIQL/gakc=
|
||||
github.com/zserge/lorca v0.1.9/go.mod h1:bVmnIbIRlOcoV285KIRSe4bUABKi7R7384Ycuum6e4A=
|
||||
github.com/zserge/webview v0.0.0-20190123072648-16c93bcaeaeb/go.mod h1:a1CV8KR4Dd1eP2g+mEijGOp+HKczwdKHWyx0aPHKvo4=
|
||||
gitlab.com/golang-commonmark/html v0.0.0-20180917080848-cfaf75183c4a/go.mod h1:JT4uoTz0tfPoyVH88GZoWDNm5NHJI2VbUW+eyPClueI=
|
||||
gitlab.com/golang-commonmark/linkify v0.0.0-20180917065525-c22b7bdb1179/go.mod h1:Gn+LZmCrhPECMD3SOKlE+BOHwhOYD9j7WT9NUtkCrC8=
|
||||
gitlab.com/golang-commonmark/markdown v0.0.0-20181102083822-772775880e1f/go.mod h1:SIHlEr9462fpIfTrVWf3GqQDxnA65Vm3BMMsUtuA6W0=
|
||||
gitlab.com/golang-commonmark/mdurl v0.0.0-20180912090424-e5bce34c34f2/go.mod h1:wQk4rLkWrdOPjUAtqJRJ10hIlseLSVYWP95PLrjDF9s=
|
||||
gitlab.com/golang-commonmark/puny v0.0.0-20180912090636-2cd490539afe/go.mod h1:P9LSM1KVzrIstFgUaveuwiAm8PK5VTB3yJEU8kqlbrU=
|
||||
go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
|
||||
go.etcd.io/bbolt v1.3.4/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ=
|
||||
go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk=
|
||||
go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk=
|
||||
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||
golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20190829043050-9756ffdc2472 h1:Gv7RPwsi3eZ2Fgewe3CBsuOebPwO27PoXzRpJPsvSSM=
|
||||
golang.org/x/crypto v0.0.0-20190829043050-9756ffdc2472/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/exp v0.0.0-20181106170214-d68db9428509/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/image v0.0.0-20181109002202-aa35264064ba/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs=
|
||||
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
||||
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
|
||||
golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
||||
golang.org/x/mobile v0.0.0-20181026062114-a27dd33d354d/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
|
||||
golang.org/x/net v0.0.0-20180524181706-dfa909b99c79/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20181102091132-c10e9556a7bc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190318221613-d196dffd7c2b/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
|
||||
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20191125084936-ffdde1057850/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20200222125558-5a598a2470a0 h1:MsuvTghUPjX762sGLnGsxC3HM0B5r83wEtYcYR8/vRs=
|
||||
@ -315,14 +398,18 @@ golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJ
|
||||
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20181128092732-4ed8d59d0b35/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190712062909-fae7ac547cb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190830142957-1e83adbbebd0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190910064555-bbd175535a8b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20191105231009-c1f44814a5cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
@ -334,12 +421,14 @@ golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
|
||||
golang.org/x/time v0.0.0-20170424234030-8be79e1e0910/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||
golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||
golang.org/x/time v0.0.0-20191024005414-555d28b269f0 h1:/5xXl8Y5W96D+TtHSlonuFqGHIWVuyCkGJLwGh9JJFs=
|
||||
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||
golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
|
||||
golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||
golang.org/x/tools v0.0.0-20190830223141-573d9926052a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
|
40
main.go
40
main.go
@ -8,11 +8,15 @@ import (
|
||||
"io/ioutil"
|
||||
"log"
|
||||
"os"
|
||||
"context"
|
||||
"path/filepath"
|
||||
"time"
|
||||
"flag"
|
||||
|
||||
. "github.com/eyedeekay/GingerShrew/import"
|
||||
"github.com/eyedeekay/checki2cp"
|
||||
. "github.com/eyedeekay/go-fpw"
|
||||
. "github.com/eyedeekay/go-fpw"
|
||||
"github.com/eyedeekay/zerobundle"
|
||||
)
|
||||
|
||||
func userFind() string {
|
||||
@ -87,24 +91,37 @@ func writeProfile(FS *fs) bool {
|
||||
}
|
||||
|
||||
func main() {
|
||||
flag.Parse()
|
||||
ctx, cancel := context.WithCancel(context.Background())
|
||||
defer cancel()
|
||||
if err := UnpackTBZ(gingerdir); err != nil {
|
||||
log.Fatal("Error unpacking embedded browser")
|
||||
} else {
|
||||
os.Setenv("FIREFOX_BIN", filepath.Join(gingerdir, "gingershrew", "gingershrew"))
|
||||
}
|
||||
if err := WriteI2CPConf(); err != nil {
|
||||
if ok, err := checki2p.ConditionallyLaunchI2P(); ok {
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
} else {
|
||||
if err := launchi2pd(); err != nil {
|
||||
log.Println("Embedded router failed to launch", err)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
log.Println("Undefined I2P launching error")
|
||||
log.Println(err)
|
||||
}
|
||||
if ok, err := checki2p.ConditionallyLaunchI2P(); ok {
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
}
|
||||
} else {
|
||||
if err := zerobundle.UnpackZero(); err != nil {
|
||||
log.Println(err)
|
||||
}
|
||||
latest := zerobundle.LatestZero()
|
||||
log.Println("latest zero version is:", latest)
|
||||
if err := zerobundle.StartZero(); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
log.Println("Starting SAM")
|
||||
if err := zerobundle.SAM(); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
time.Sleep(time.Second * 2)
|
||||
go proxyMain(ctx)
|
||||
firstrun := writeProfile(FS)
|
||||
prefs := filepath.Join(userdir, "/user.js")
|
||||
if _, err := os.Stat(prefs); os.IsNotExist(err) {
|
||||
@ -130,3 +147,4 @@ func main() {
|
||||
<-FIREFOX.Done()
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user