fix(oonimkall): allow Android app to set proxy (#303)

Part of https://github.com/ooni/probe/issues/985
This commit is contained in:
Simone Basso 2021-04-06 14:53:58 +02:00 committed by GitHub
commit 5d8cf60f55
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 52 additions and 0 deletions

View file

@ -5,6 +5,7 @@ import (
"context"
"encoding/json"
"fmt"
"net/url"
"time"
engine "github.com/ooni/probe-cli/v3/internal/engine"
@ -74,9 +75,21 @@ func (r *Runner) newsession(ctx context.Context, logger *ChanLogger) (*engine.Se
if err != nil {
return nil, err
}
// TODO(bassosimone): write tests for this functionality
var proxyURL *url.URL
if r.settings.Proxy != "" {
var err error
proxyURL, err = url.Parse(r.settings.Proxy)
if err != nil {
return nil, err
}
}
config := engine.SessionConfig{
KVStore: kvstore,
Logger: logger,
ProxyURL: proxyURL,
SoftwareName: r.settings.Options.SoftwareName,
SoftwareVersion: r.settings.Options.SoftwareVersion,
TempDir: r.settings.TempDir,