if nc == nil {
return
}
- c, err = handshakesConnection(nc, true, utp)
+ c, err = handshakesConnection(nc, !me.config.DisableEncryption, utp)
if err != nil {
nc.Close()
return
cl.mu.Lock()
skeys := cl.receiveSkeys()
cl.mu.Unlock()
- c.rw, c.encrypted, err = maybeReceiveEncryptedHandshake(c.rw, skeys)
- if err != nil {
- if err == mse.ErrNoSecretKeyMatch {
- err = nil
+ if !cl.config.DisableEncryption {
+ c.rw, c.encrypted, err = maybeReceiveEncryptedHandshake(c.rw, skeys)
+ if err != nil {
+ if err == mse.ErrNoSecretKeyMatch {
+ err = nil
+ }
+ return
}
- return
}
ih, ok, err := cl.connBTHandshake(c, nil)
if err != nil {
return 1
}
}(),
- "e": 1, // Awwww yeah
+ }
+ if !me.config.DisableEncryption {
+ d["e"] = 1
}
if torrent.metadataSizeKnown() {
d["metadata_size"] = torrent.metadataSize()
// Called to instantiate storage for each added torrent. Provided backends
// are in $REPO/data. If not set, the "file" implementation is used.
TorrentDataOpener
+ DisableEncryption bool `long:"disable-encryption"`
}