Browse Source

invisable network seeds for security

pull/18/head
Sun 4 years ago
parent
commit
31c31e502f
  1. 32
      lib/pages/setting/network.dart
  2. 12
      src/rpc.rs

32
lib/pages/setting/network.dart

@ -20,7 +20,6 @@ class _NetworkDetailState extends State<NetworkDetail> {
List<String> networkDht = []; List<String> networkDht = [];
List<List<String>> networkStable = []; List<List<String>> networkStable = [];
List<String> networkSeed = [];
changeWs() async { changeWs() async {
Global.changeWs(wsController.text); Global.changeWs(wsController.text);
@ -53,20 +52,6 @@ class _NetworkDetailState extends State<NetworkDetail> {
} }
} }
void loadNetworkSeed() async {
final res = await httpPost(Global.httpRpc, 'network-seed', []);
if (res.isOk) {
this.networkSeed.clear();
res.params.forEach((p) {
this.networkSeed.add(p);
});
setState(() {});
} else {
// TODO tostor error
print(res.error);
}
}
void loadNetworkStable() async { void loadNetworkStable() async {
final res = await httpPost(Global.httpRpc, 'network-stable', []); final res = await httpPost(Global.httpRpc, 'network-stable', []);
if (res.isOk) { if (res.isOk) {
@ -85,7 +70,6 @@ class _NetworkDetailState extends State<NetworkDetail> {
initState() { initState() {
loadNetworkStable(); loadNetworkStable();
loadNetworkDht(); loadNetworkDht();
loadNetworkSeed();
super.initState(); super.initState();
} }
@ -198,22 +182,6 @@ class _NetworkDetailState extends State<NetworkDetail> {
])); ]));
}), }),
), ),
_settingHead(lang.networkSeed),
Container(
height: this.networkSeed.length > 0 ? 100.0 : 50.0,
child: ListView.builder(
itemCount: this.networkSeed.length,
itemBuilder: (context, index) {
final item = this.networkSeed[index];
return Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Icon(Icons.eco, size: 18.0, color: color.primary),
SizedBox(width: 15.0),
Text(item, style: TextStyle(fontSize: 14.0)),
]);
}),
)
]); ]);
} }
} }

12
src/rpc.rs

@ -58,12 +58,6 @@ pub(crate) fn network_dht(peers: Vec<PeerAddr>) -> RpcParam {
rpc_response(0, "network-dht", json!(s_peers), GroupId::default()) rpc_response(0, "network-dht", json!(s_peers), GroupId::default())
} }
#[inline]
pub(crate) fn network_seed(peers: Vec<SocketAddr>) -> RpcParam {
let s_peers: Vec<String> = peers.iter().map(|p| p.to_string()).collect();
rpc_response(0, "network-seed", json!(s_peers), GroupId::default())
}
#[inline] #[inline]
pub(crate) fn account_update(mgid: GroupId, name: &str, avatar: String) -> RpcParam { pub(crate) fn account_update(mgid: GroupId, name: &str, avatar: String) -> RpcParam {
rpc_response( rpc_response(
@ -166,11 +160,10 @@ pub(crate) async fn inner_rpc(
sender: &async_channel::Sender<SendMessage>, sender: &async_channel::Sender<SendMessage>,
) -> Result<()> { ) -> Result<()> {
// Inner network default rpc method. only use in http-rpc. // Inner network default rpc method. only use in http-rpc.
if method == "network-stable" || method == "network-dht" || method == "network-seed" { if method == "network-stable" || method == "network-dht" {
let req = match method { let req = match method {
"network-stable" => StateRequest::Stable, "network-stable" => StateRequest::Stable,
"network-dht" => StateRequest::DHT, "network-dht" => StateRequest::DHT,
"network-seed" => StateRequest::Seed,
_ => return Ok(()), _ => return Ok(()),
}; };
@ -183,8 +176,7 @@ pub(crate) async fn inner_rpc(
let param = match r.recv().await { let param = match r.recv().await {
Ok(StateResponse::Stable(peers)) => network_stable(peers), Ok(StateResponse::Stable(peers)) => network_stable(peers),
Ok(StateResponse::DHT(peers)) => network_dht(peers), Ok(StateResponse::DHT(peers)) => network_dht(peers),
Ok(StateResponse::Seed(seeds)) => network_seed(seeds), Ok(_) | Err(_) => {
Err(_) => {
return Ok(()); return Ok(());
} }
}; };

Loading…
Cancel
Save