Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
G
go-ipfs
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
jihao
go-ipfs
Commits
61a0d1a8
Unverified
提交
61a0d1a8
authored
4月 18, 2019
作者:
Steven Allen
提交者:
GitHub
4月 18, 2019
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #6229 from marten-seemann/tls
add an experiment to prefer TLS 1.3 over secio
上级
8e381d55
928f0ac4
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
77 行增加
和
12 行删除
+77
-12
groups.go
core/node/groups.go
+1
-1
libp2p.go
core/node/libp2p.go
+19
-5
experimental-features.md
docs/experimental-features.md
+22
-0
go.mod
go.mod
+8
-6
go.sum
go.sum
+27
-0
没有找到文件。
core/node/groups.go
浏览文件 @
61a0d1a8
...
...
@@ -38,7 +38,7 @@ func LibP2P(cfg *BuildCfg) fx.Option {
opts
:=
fx
.
Options
(
BaseLibP2P
,
maybeProvide
(
P2PNoSecurity
,
cfg
.
DisableEncryptedConnections
),
fx
.
Provide
(
P2PSecurity
(
!
cfg
.
DisableEncryptedConnections
)
),
maybeProvide
(
Pubsub
,
cfg
.
getOpt
(
"pubsub"
)
||
cfg
.
getOpt
(
"ipnsps"
)),
fx
.
Provide
(
P2PSmuxTransport
(
cfg
.
getOpt
(
"mplex"
))),
...
...
core/node/libp2p.go
浏览文件 @
61a0d1a8
...
...
@@ -33,6 +33,8 @@ import (
"github.com/libp2p/go-libp2p-record"
"github.com/libp2p/go-libp2p-routing"
"github.com/libp2p/go-libp2p-routing-helpers"
secio
"github.com/libp2p/go-libp2p-secio"
tls
"github.com/libp2p/go-libp2p-tls"
p2pbhost
"github.com/libp2p/go-libp2p/p2p/host/basic"
"github.com/libp2p/go-libp2p/p2p/host/routed"
mafilter
"github.com/libp2p/go-maddr-filter"
...
...
@@ -353,12 +355,24 @@ func P2PQUIC(cfg *config.Config) (opts Libp2pOpts, err error) {
return
}
func
P2PNoSecurity
()
(
opts
Libp2pOpts
)
{
opts
.
Opts
=
append
(
opts
.
Opts
,
libp2p
.
NoSecurity
)
// TODO: shouldn't this be Errorf to guarantee visibility?
log
.
Warningf
(
`Your IPFS node has been configured to run WITHOUT ENCRYPTED CONNECTIONS.
func
P2PSecurity
(
enabled
bool
)
interface
{}
{
if
!
enabled
{
return
func
()
(
opts
Libp2pOpts
)
{
// TODO: shouldn't this be Errorf to guarantee visibility?
log
.
Warningf
(
`Your IPFS node has been configured to run WITHOUT ENCRYPTED CONNECTIONS.
You will not be able to connect to any nodes configured to use encrypted connections`
)
return
opts
opts
.
Opts
=
append
(
opts
.
Opts
,
libp2p
.
NoSecurity
)
return
opts
}
}
return
func
(
cfg
*
config
.
Config
)
(
opts
Libp2pOpts
)
{
if
cfg
.
Experimental
.
PreferTLS
{
opts
.
Opts
=
append
(
opts
.
Opts
,
libp2p
.
ChainOptions
(
libp2p
.
Security
(
tls
.
ID
,
tls
.
New
),
libp2p
.
Security
(
secio
.
ID
,
secio
.
New
)))
}
else
{
opts
.
Opts
=
append
(
opts
.
Opts
,
libp2p
.
ChainOptions
(
libp2p
.
Security
(
secio
.
ID
,
secio
.
New
),
libp2p
.
Security
(
tls
.
ID
,
tls
.
New
)))
}
return
opts
}
}
type
P2PHostIn
struct
{
...
...
docs/experimental-features.md
浏览文件 @
61a0d1a8
...
...
@@ -683,3 +683,25 @@ ipfs config --json Swarm.EnableAutoNATService true
### Road to being a real feature
- [ ] needs testing
## TLS 1.3 as default handshake protocol
### State
Every go-ipfs node (>=0.4.21) accepts secio and TLS 1.3 connections but prefers
secio over TLS when dialing. To prefer TLS when dialing, you'll have to enable
this feature.
### How to enable
Modify your ipfs config:
```
ipfs config --json Experimental.PreferTLS true
``
`
### Road to being a real feature
-
[
]
needs testing
-
[
]
needs adoption
go.mod
浏览文件 @
61a0d1a8
...
...
@@ -34,7 +34,7 @@ require (
github.com/ipfs/go-ipfs-chunker v0.0.1
github.com/ipfs/go-ipfs-cmdkit v0.0.1
github.com/ipfs/go-ipfs-cmds v0.0.5
github.com/ipfs/go-ipfs-config v0.0.
1
github.com/ipfs/go-ipfs-config v0.0.
2
github.com/ipfs/go-ipfs-ds-help v0.0.1
github.com/ipfs/go-ipfs-exchange-interface v0.0.1
github.com/ipfs/go-ipfs-exchange-offline v0.0.1
...
...
@@ -75,7 +75,7 @@ require (
github.com/libp2p/go-libp2p-loggables v0.0.1
github.com/libp2p/go-libp2p-metrics v0.0.1
github.com/libp2p/go-libp2p-net v0.0.2
github.com/libp2p/go-libp2p-peer v0.
0.1
github.com/libp2p/go-libp2p-peer v0.
1.0
github.com/libp2p/go-libp2p-peerstore v0.0.2
github.com/libp2p/go-libp2p-pnet v0.0.1
github.com/libp2p/go-libp2p-protocol v0.0.1
...
...
@@ -87,6 +87,7 @@ require (
github.com/libp2p/go-libp2p-routing-helpers v0.0.2
github.com/libp2p/go-libp2p-secio v0.0.1
github.com/libp2p/go-libp2p-swarm v0.0.2
github.com/libp2p/go-libp2p-tls v0.0.1
github.com/libp2p/go-maddr-filter v0.0.1
github.com/libp2p/go-stream-muxer v0.0.1
github.com/libp2p/go-testutil v0.0.1
...
...
@@ -94,11 +95,11 @@ require (
github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b // indirect
github.com/mitchellh/go-homedir v1.1.0
github.com/mr-tron/base58 v1.1.0
github.com/multiformats/go-multiaddr v0.0.
1
github.com/multiformats/go-multiaddr v0.0.
2
github.com/multiformats/go-multiaddr-dns v0.0.2
github.com/multiformats/go-multiaddr-net v0.0.1
github.com/multiformats/go-multibase v0.0.1
github.com/multiformats/go-multihash v0.0.
1
github.com/multiformats/go-multihash v0.0.
2
github.com/opentracing/opentracing-go v1.0.2
github.com/pkg/errors v0.8.1
github.com/prometheus/client_golang v0.9.2
...
...
@@ -110,10 +111,11 @@ require (
github.com/whyrusleeping/multiaddr-filter v0.0.0-20160516205228-e903e4adabd7
github.com/whyrusleeping/tar-utils v0.0.0-20180509141711-8c6c8ba81d5c
go.uber.org/atomic v1.3.2 // indirect
go.uber.org/dig v1.7.0
go.uber.org/dig v1.7.0
// indirect
go.uber.org/fx v1.9.0
go.uber.org/goleak v0.10.0 // indirect
go.uber.org/multierr v1.1.0 // indirect
golang.org/x/sys v0.0.0-20190
302025703-b6889370fb10
golang.org/x/sys v0.0.0-20190
403152447-81d4e9dc473e
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e // indirect
gopkg.in/airbrake/gobrake.v2 v2.0.9 // indirect
gopkg.in/cheggaaa/pb.v1 v1.0.28
...
...
go.sum
浏览文件 @
61a0d1a8
差异被折叠。
点击展开。
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论