Skip to content

Commit 26141f0

Browse files
committed
startVPN obj
1 parent 9a3c78e commit 26141f0

File tree

2 files changed

+51
-17
lines changed

2 files changed

+51
-17
lines changed

src/components/MiningStatus/index.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ const MiningStatus = () => {
2121
<div className={`circle ${isMiningUp ? "green" : "red"}`}></div>
2222
<p>Mining {isMiningUp ? "UP" : "DOWN"}</p>
2323
</div>
24-
<div className="rate">Mining Rate: {miningData?.rate ? miningData.rate : <Skeleton height="14px" width="45px" />}</div>
25-
<div className="miners">Online Miners: {miningData?.online ? miningData.online : <Skeleton height="14px" width="45px" />}</div>
24+
<div className="rate">Rate: {miningData?.rate ? miningData.rate : <Skeleton height="14px" width="45px" />}</div>
25+
<div className="miners">Miners: {miningData?.online ? miningData.online : <Skeleton height="14px" width="45px" />}</div>
2626
<div className="miners">Online VPN Users: {miningData?.totalUsers ? miningData.totalUsers : <Skeleton height="14px" width="45px" />}</div>
2727

2828
</div>

src/pages/Home/index.tsx

Lines changed: 49 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ import Skeleton from '../../components/Skeleton';
1212
import { allNodes, closestNodes, maxNodes, currentScanNodeNumber } from '../../services/mining';
1313
import { CoNET_Data } from '../../utils/globals';
1414

15+
16+
1517
const Home = () => {
1618
const { profile, sRegion, setSRegion, setAllRegions, allRegions, isRandom, setIsRandom} = useDaemonContext();
1719
const [power, setPower] = useState<boolean>(false);
@@ -79,6 +81,20 @@ const Home = () => {
7981
setIsMenuVisible(prevState => !prevState);
8082
}
8183

84+
type Native_node = {
85+
country: string
86+
ip_addr: string
87+
region: string
88+
armoredPublicKey: string
89+
nftNumber: string
90+
}
91+
92+
93+
type Native_StartVPNObj = {
94+
entryNodes: Native_node[]
95+
privateKey: string
96+
exitNode: Native_node[]
97+
}
8298
const handleTogglePower = async () => {
8399
let selectedCountryIndex = -1
84100

@@ -87,6 +103,11 @@ const Home = () => {
87103
window?.webkit?.messageHandlers["stopVPN"].postMessage(null)
88104
return
89105
}
106+
const conetProfile = CoNET_Data?.profiles[1];
107+
const privateKey = conetProfile?.privateKeyArmor
108+
if (!privateKey) {
109+
return
110+
}
90111

91112
try {
92113
setIsConnectionLoading(true)
@@ -104,29 +125,42 @@ const Home = () => {
104125

105126
const randomNodeIndex = Math.floor(Math.random() * nodeListFilteredBySelectedRegion!.length);
106127

107-
const exitNode = [nodeListFilteredBySelectedRegion?.[randomNodeIndex]];
128+
const _exitNode = [nodeListFilteredBySelectedRegion?.[randomNodeIndex]];
108129

109-
let entryNodes: any[] = [];
130+
let _entryNodes: nodes_info[] = nodeListFilteredByClosestRegion
110131

111-
if (nodeListFilteredByClosestRegion.length < 5) {
112-
entryNodes = nodeListFilteredByClosestRegion;
113-
} else {
132+
if (nodeListFilteredByClosestRegion.length > 5) {
133+
_entryNodes = []
114134
do {
115135
const randomNodeIndex = Math.floor(Math.random() * nodeListFilteredByClosestRegion!.length)
116-
const choosenNode = nodeListFilteredByClosestRegion[randomNodeIndex];
117-
118-
if (!!entryNodes.find((item: any) => item.ip_addr === choosenNode.ip_addr)) continue;
119-
120-
entryNodes.push(choosenNode)
121-
} while (entryNodes.length < 5);
136+
const choosenNode = nodeListFilteredByClosestRegion[randomNodeIndex]
137+
_entryNodes.push(choosenNode)
138+
nodeListFilteredByClosestRegion.splice(randomNodeIndex, 1)
139+
} while (_entryNodes.length < 5);
122140
}
123141

124-
const conetProfile = CoNET_Data?.profiles[1];
125-
126-
const startVPNMessageObject = {
142+
143+
const entryNodes: Native_node[] = _entryNodes.map(n => {
144+
return {
145+
country: n.country,
146+
ip_addr: n.ip_addr,
147+
region: n.region,
148+
armoredPublicKey: n.armoredPublicKey,
149+
nftNumber: n.nftNumber.toString()
150+
}})
151+
const exitNode = _exitNode.map(n => {
152+
return {
153+
country: n.country,
154+
ip_addr: n.ip_addr,
155+
region: n.region,
156+
armoredPublicKey: n.armoredPublicKey,
157+
nftNumber: n.nftNumber.toString()
158+
}})
159+
160+
const startVPNMessageObject: Native_StartVPNObj = {
127161
entryNodes,
128162
exitNode,
129-
privateKey: conetProfile?.privateKeyArmor,
163+
privateKey
130164
}
131165

132166
const stringifiedVPNMessageObject = JSON.stringify(startVPNMessageObject);

0 commit comments

Comments
 (0)