mirror of
https://github.com/YGGverse/YGGstate.git
synced 2025-03-11 12:51:17 +00:00
hide remote peer IP for third-party connections #2
This commit is contained in:
parent
c88a44543e
commit
c3c2a106a7
@ -65,8 +65,13 @@ Crawler
|
||||
* @d47081: [BTC](https://www.blockchain.com/explorer/addresses/btc/bc1qngdf2kwty6djjqpk0ynkpq9wmlrmtm7e0c534y) | [LTC](https://live.blockcypher.com/ltc/address/LUSiqzKsfB1vBLvpu515DZktG9ioKqLyj7) | [XMR](835gSR1Uvka19gnWPkU2pyRozZugRZSPHDuFL6YajaAqjEtMwSPr4jafM8idRuBWo7AWD3pwFQSYRMRW9XezqrK4BEXBgXE) | [ZEPH](ZEPHsADHXqnhfWhXrRcXnyBQMucE3NM7Ng5ZVB99XwA38PTnbjLKpCwcQVgoie8EJuWozKgBiTmDFW4iY7fNEgSEWyAy4dotqtX) | Support our server by order [Linux VPS](https://www.yourserver.se/portal/aff.php?aff=610)
|
||||
|
||||
#### License
|
||||
|
||||
* Engine sources [MIT License](https://github.com/YGGverse/YGGstate/blob/main/LICENSE)
|
||||
|
||||
#### Components
|
||||
|
||||
* [SVG icons](https://icons.getbootstrap.com/)
|
||||
|
||||
#### Feedback
|
||||
|
||||
Feel free to [share](https://github.com/YGGverse/YGGstate/issues) your ideas and bug reports!
|
||||
|
@ -73,6 +73,18 @@ define('WEBSITE_PEER_REMOTE_PAGINATION_LIMIT', 20);
|
||||
define('WEBSITE_PEER_PORT_CHECK_TIMEOUT', 60 * 5);
|
||||
|
||||
// API
|
||||
define('API_PEER_FIELDS', (array)
|
||||
[
|
||||
'bytes_recvd',
|
||||
'bytes_sent',
|
||||
'coords',
|
||||
'key',
|
||||
'port',
|
||||
'uptime',
|
||||
// ...
|
||||
]
|
||||
);
|
||||
|
||||
define('API_PEERS', (object)
|
||||
[
|
||||
'tls://94.140.114.241:4708' => WEBSITE_URL,
|
||||
|
@ -134,29 +134,38 @@ try {
|
||||
@unlink(__DIR__ . '/../public/api/trackers.json');
|
||||
|
||||
// Update peers
|
||||
if ($connectedPeers = Yggverse\Yggdrasilctl\Yggdrasil::getPeers()) {
|
||||
|
||||
if ($handle = fopen(__DIR__ . '/../public/api/peers.json', 'w+')) {
|
||||
fwrite($handle, json_encode($connectedPeers));
|
||||
fclose($handle);
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
if (!$connectedPeers = Yggverse\Yggdrasilctl\Yggdrasil::getPeers())
|
||||
{
|
||||
exit;
|
||||
}
|
||||
|
||||
// Update trackers
|
||||
if (API_PEERS) {
|
||||
// Update peers
|
||||
|
||||
if ($handle = fopen(__DIR__ . '/../public/api/trackers.json', 'w+')) {
|
||||
fwrite($handle, json_encode(API_PEERS));
|
||||
fclose($handle);
|
||||
/// Remove remote addresses
|
||||
$jsonPeers = [];
|
||||
foreach ($connectedPeers as $connectedPeerAddress => $connectedPeerInfo)
|
||||
{
|
||||
foreach ($connectedPeerInfo as $connectedPeerInfoKey => $connectedPeerInfoValue)
|
||||
{
|
||||
if (in_array($connectedPeerInfoKey, (array) API_PEER_FIELDS))
|
||||
{
|
||||
$jsonPeers[$connectedPeerAddress][$connectedPeerInfoKey] = $connectedPeerInfoValue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
/// Save dump
|
||||
if ($handle = fopen(__DIR__ . '/../public/api/peers.json', 'w+'))
|
||||
{
|
||||
fwrite($handle, json_encode($jsonPeers));
|
||||
fclose($handle);
|
||||
}
|
||||
|
||||
exit;
|
||||
// Update trackers
|
||||
if ($handle = fopen(__DIR__ . '/../public/api/trackers.json', 'w+'))
|
||||
{
|
||||
fwrite($handle, json_encode(API_PEERS));
|
||||
fclose($handle);
|
||||
}
|
||||
|
||||
// @TODO merge peers data from remote trackers
|
||||
|
@ -130,6 +130,10 @@
|
||||
|
||||
/* responsive rules */
|
||||
|
||||
.width-13-px {
|
||||
width: 13px;
|
||||
}
|
||||
|
||||
.width-100 {
|
||||
width: 100%;
|
||||
}
|
||||
@ -138,6 +142,10 @@
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
.no-wrap {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
@media (max-width: 1220px) {
|
||||
|
||||
.width-tablet-100 {
|
||||
|
@ -232,7 +232,6 @@ $peerPortStatuses = $db->findLastPeerPortStatusesByPeerId($requestPeerId);
|
||||
</span>
|
||||
<?php } ?>
|
||||
</h1>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -246,12 +245,21 @@ $peerPortStatuses = $db->findLastPeerPortStatusesByPeerId($requestPeerId);
|
||||
<tr>
|
||||
<th class="text-left">
|
||||
<a href="<?php echo WEBSITE_URL ?>/peer.php?peerId=<?php echo $requestPeerId ?>&sort=peerConnection.timeAdded&order=<?php echo $requestOrder == 'DESC' ? 'ASC' : 'DESC' ?>">
|
||||
<?php echo _('Time') ?>
|
||||
<?php echo _('Time') ?>
|
||||
</a>
|
||||
</th>
|
||||
<th class="text-left">
|
||||
<?php echo _('Remote') ?>
|
||||
</th>
|
||||
<?php if (!empty($_SERVER['REMOTE_ADDR']) && $peerInfo->address == $_SERVER['REMOTE_ADDR']) { ?>
|
||||
<th class="text-left">
|
||||
<?php echo _('Remote') ?>
|
||||
<sub title="<?php echo _('Feature hidden for others') ?>">
|
||||
<svg class="width-13-px" xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-eye-slash" viewBox="0 0 16 16">
|
||||
<path d="M13.359 11.238C15.06 9.72 16 8 16 8s-3-5.5-8-5.5a7.028 7.028 0 0 0-2.79.588l.77.771A5.944 5.944 0 0 1 8 3.5c2.12 0 3.879 1.168 5.168 2.457A13.134 13.134 0 0 1 14.828 8c-.058.087-.122.183-.195.288-.335.48-.83 1.12-1.465 1.755-.165.165-.337.328-.517.486l.708.709z"/>
|
||||
<path d="M11.297 9.176a3.5 3.5 0 0 0-4.474-4.474l.823.823a2.5 2.5 0 0 1 2.829 2.829l.822.822zm-2.943 1.299.822.822a3.5 3.5 0 0 1-4.474-4.474l.823.823a2.5 2.5 0 0 0 2.829 2.829z"/>
|
||||
<path d="M3.35 5.47c-.18.16-.353.322-.518.487A13.134 13.134 0 0 0 1.172 8l.195.288c.335.48.83 1.12 1.465 1.755C4.121 11.332 5.881 12.5 8 12.5c.716 0 1.39-.133 2.02-.36l.77.772A7.029 7.029 0 0 1 8 13.5C3 13.5 0 8 0 8s.939-1.721 2.641-3.238l.708.709zm10.296 8.884-12-12 .708-.708 12 12-.708.708z"/>
|
||||
</svg>
|
||||
</sub>
|
||||
</th>
|
||||
<?php } ?>
|
||||
<th class="text-center">
|
||||
<?php echo _('Port') ?>
|
||||
</th>
|
||||
@ -269,8 +277,12 @@ $peerPortStatuses = $db->findLastPeerPortStatusesByPeerId($requestPeerId);
|
||||
<tbody>
|
||||
<?php foreach ($peerRemoteConnections as $i => $peerRemoteConnection) { ?>
|
||||
<tr>
|
||||
<td class="text-left"><?php echo date('Y-m-d H:s:i', $peerRemoteConnection->timeAdded) ?></td>
|
||||
<td class="text-left"><?php echo $peerRemoteConnection->remote ?></td>
|
||||
<td class="text-left no-wrap"><?php echo date('Y-m-d H:s:i', $peerRemoteConnection->timeAdded) ?></td>
|
||||
<?php if (!empty($_SERVER['REMOTE_ADDR']) && $peerInfo->address == $_SERVER['REMOTE_ADDR']) { ?>
|
||||
<td class="text-left">
|
||||
<?php echo $peerRemoteConnection->remote ?>
|
||||
</td>
|
||||
<?php } ?>
|
||||
<td class="text-center"><?php echo $peerRemoteConnection->connectionPort ?></td>
|
||||
<td class="text-left"><?php echo $peerRemoteConnection->route ?></td>
|
||||
<td class="text-center">
|
||||
|
Loading…
x
Reference in New Issue
Block a user