แฉแแแ แแฎแแแฎแแ แแแแแฆแแ LIR แกแขแแขแฃแกแ แแ /29 IPv6 แแแแแ. แแ แจแแแแแ แแแฉแแแ แกแแญแแ แแแแ แแแแแญแแแฃแแ แฅแแแฅแกแแแแแแก แแแแแงแฃแ แแก แแแแแแแ. แแ แ แแแแแ แฉแแแแ แแแแแแแ แแฌแแ แแแ PHP-แจแ, แชแแขแ แฃแแแ แฉแแแฃแฆแ แแแแแแ แกแแแแแฎแก แแ แแแแฎแแแแ, แ แแ แแก แแแ แแ แแ แแก แงแแแแแแ แแแแแแ แฃแแ IPv6-แแแ แแฃแจแแแแแก แแแแแกแแแ แแกแแ. แญแ แแแแก แฅแแแแแ แแ แแก แฉแแแแ แแแแแฌแงแแแขแ แแ แแ แแแแแแแแแก แจแแกแแฎแแ, แ แแแแแแแช แฌแแ แแแแฅแแแแแ แแแกแแแแ แแแแแแ แแ แแแแแแแแแแแแแ แแฃแจแแแแแกแแก. แแแแแ แแ แแ แแก แงแแแแแแ แแแแแแแขแฃแ แ, แแแแ แแ แแก แแแแแแแก แกแแฅแแแก.

แชแแขแ แแแแ แแ
แแแกแฃแฎแแกแแแแแแแแแก แฃแแ แงแแคแ. แแฃ แแชแแ แ แ แแ แแก IPv6 แแ แ แแก แแแงแแแแ, แแก แแแฌแแแ แจแแแซแแแแ แแแกแแฌแงแแแ แแงแแก แแฅแแแแแแแก. แจแแแซแแแแ แแ แแงแแก.
แแแแแแแแแแ, แ แแแแแแแช แแแ แแแแแ แฎแแแแแแ IPv6 แแแแขแแชแแแก, แจแแแซแแแแ แแก แกแแแแแแ แจแแแแซแ แฌแฃแแแแแแ แแฆแแแฉแแแแแ. แแแแแแแขแฃแ แแก แจแแแแแ 64.233.177.101 แฉแแแ แแแฃแแแแแแแแ แฌแแแแจแ แแแแแแแ แ 2607:f8b0:4002:c08::8b แแ แจแแแซแแแแ แแแแแแฃแแ แแแงแแ. แแ แแแ แฃแแ แแแแ แแแแแแแแแก แฌแแแแแฎแแแแ แฌแแ แแแแแแแแแแ, แจแแกแแแแแแกแแ 32 แแ 128 แแแขแ. แแแแแกแแแแ แ IP แแแแแขแ แจแแแชแแแก แกแแแแฃแ แก แแแแชแ แแ แกแขแแแแแ แขแแแแแฃแแ แแแแแจแแฃแแแแแ แแแแแแฃแแ แแแขแแกแแแแก. แกแแแแฃแ แแแแก แกแขแ แฃแฅแขแฃแ แแจแ แฉแแฆแ แแแแแแแก แแแ แแจแ, แแ แแ แ แแ แฃแแแ แแแแฆแแ แแฅแแแแ, แแ แแก แแก, แ แแ IP แแแกแแแแ แแแแแ แแ แแแแแแแแแแแแ แแแแ แแชแแแแแกแแแแก, แแแแแแแ แแแกแแฎแแ แฎแแแแแแ แแ แแแแแ แแแแแแแขแแแแกแ แแ แแแขแฃแ แ แแแแ แแชแแแแแก แแแแแงแแแแแ. แแกแแแ แงแแแแแแ แแแกแแฎแแ แฎแแแแแแ แแแแ แจแแแแฎแแ แแแแแชแแแแ แแแแแจแ แ แแแแ แช แแ แแแแแ (4) IPv4-แแกแแแแก แแ แแ แแแแแ (16) IPv6-แแกแแแแก.
แแแแแ แแ แแ แแแแจแแแแแแแแแ แแกแแแฅแขแ, แ แแแแแแแช แฆแแ แก แจแแฎแแแแ, แแ แแก แฅแกแแแแก แแแฆแแแแ แแ CIDR แแแขแแชแแ. CIDR แแ แแก แจแแแแแแแแ Classless Inter-Domain Routing-แแกแแแแก (). แแ แแแแชแแคแชแแแ แจแแชแแแแ แแแแกแแก แแแแชแแคแชแแ IP แแแกแแแแ แแแก แ แแแแแ แแแฌแแแแ แฅแกแแแแก แแ แแคแแฅแกแ แแ แ แแแแแ แแแฌแแแ แแ แแก แฅแกแแแแก แแแขแแ แคแแแกแแก แแแกแแแแ แแ แแ แฅแกแแแจแ. แแ แแฅแขแแแแจแ, แแ แแคแแฅแกแแก แจแแกแแแแแแกแ แแแ แแแแ n แแแขแ แแแงแแแแแแ 1-แแ, แแแแแ แฉแแแ 0-แแ.
แแแแแแแแแก แแแกแแแแแแ, แแก แแฌแแ แแแ แคแแ แแแจแ ip.add.re.ss/cidr. แแแแแแแแแ, 64.233.177.0/24 แแแฃแแแแแแก, แ แแ แแแ แแแแ 24 แแแขแ แแฎแแแ แแ แแคแแฅแกแก. แแแแ 8 แแแขแ, แ แแแแแแช แแกแแแ แชแแแแแแแ แ แแแแ แช แแแแ แ แแชแฎแแ แแแแแแแแแก แฌแแแแแฎแแแแ แแฆแแแจแแแแ, แแฎแแแ แแแกแแแแ แแก แฅแแแฅแกแแแจแ. แแแแแ แ แแแแแแแแ แแแ แฏแแจแ. 64.233.177.101/32 ะธ 2607:f8b0:4002:c08::8b/128 - แแ แแ แแแแแ แแขแฃแแ แแแกแแแแ แแ. 2607:f8b0:4002:c08::/64 - แแแ แแแแ 64 แแแขแ (แแแ แแแแ 4 แฏแแฃแคแ) แแ แแก แแ แแคแแฅแกแ, แแแแแ แฉแแแ 64 แแแขแ แแ แแก แแแแแแฃแ แ แแแฌแแแ. แกแฎแแแแ แจแแ แแก, แแฃ แแแแแ แแแแแแฃแแแ แฉแแแแฌแแ แจแ โ::โ-แแ, แแ แแแแ แแ แฌแแ แขแแแ แชแแแแก แกแแฅแชแแแแแก แแแแแแแแฃแ แ แแแแแแแแแก, แ แแแแแแช แจแแแชแแแก 0-แก. แแก แจแแแซแแแแ แแฎแแแแ แแ แแฎแแ แแแแแฉแแแแก แแแแขแแชแแแจแ. แฒกแฎแแ แกแแขแงแแแแแ, 2607:f8b0:4002:c08::8b = 2607:f8b0:4002:c08:0:0:0:8b.
แ แ แฃแแแ แแแกแฌแแแแแ แแ แงแแแแแคแ แแกแแแ? แแแ แแแ แ แแแจแ, แแแ แแแแ แแ แแแแ แฅแแแฅแกแแแแก แแแกแแแแ แแแก แแแฆแแแ แจแแกแแซแแแแแแแ แแ แแแแแ AND แแ OR แแแแแงแแแแแแ, แแแฆแแแ แแ แแแแแ แคแแ แแแ. แแแแ แแช, แจแแแแแแ แฅแแแฅแกแแแแก แแแแ (แแแฃ CIDR-แแ) n แจแแแซแแแแ แแแแแแแแแแแก 1-แแก แแแแแขแแแแ n-แแก แแแแแชแแ แแแแแ แฃแ แฌแแ แแแแแแแแจแ. แแแแแ แฃแแจแ แแแฃแแแกแฎแแแ แคแฃแแฅแชแแแแแก แแแแแงแแแแแแก แจแแแแแก แจแแคแฃแแแ () ะธ inet_pton () แแ แจแแแแแแแ แแแแแงแแแแแ แแ แแแแแ แแ แแก แแ แแแแแ แกแแกแขแแแแก แฌแแ แแแแแแแ, แ แแแแแแช แจแแแซแแแแ แแแฆแแแฃแ แแฅแแแก, แแแฅแแแ, base_convert().
แแกแขแแ แแฃแแ แแแคแแ แแแชแแแแแแกแแแ แแ แแแแแ แแแแก แฌแแ แฃแซแฆแแแ แแแแกแแแ แแแ แกแแแ แแแแชแแ. แแ แจแแ แแฃแ แฌแแแแจแ แแแ แแแแ แฌแแ แแแแแแแแแ, แ แแ แแแแแแ แฅแแแฅแกแแแ แแฅแแแแแแ; แแกแแแ แแแฌแแแแแแแแ แแแ แชแฎแแแ แแ แแแ แฏแแแแ แแแ แแแแแแแแ: แแแแกแ A - แแ แแคแแฅแกแ แแงแ แแแ แแแแ 8 แแแขแ (แแแฃ แแแ แแแแ แแแแแ แ), แฌแแแงแแแแ แแแขแแ 0; แแแแกแ B - แแแ แแแแ 16 (แแแ แแแแ แแ แ แแแแแ แ), แฌแแแงแแแแ แแแขแ 10; แแแแกแ C - แแแ แแแแ 24 แแแขแ, แฌแแแงแแแแ แแแขแ 110. แแ แฌแแแงแแแ แแแขแแแจแ แแแแแแแแฃแแแ แแแแแแแแแแแ, แ แแแแแแจแแช แแแแชแแแ แแแแแ แแขแฃแแ แแแแกแแก แแแกแแแแ แแ: 0.0.0.0 - 127.255.255.255 A แแแแกแแกแแแแก, 128.0.0.0 - 191.255.255.255 - แแแแกแ B, 192.0.0.0 - 223.255.255.255 - แแแแกแ C. แ แแแแกแแช แแแขแแ แแแขแ แแแแ แชแแแแ แแแแ แแแแแแขแแแ, แแแ แแแฃแแแ แแแแแแ แแแฎแแแแแ, แ แแ แแแ แแแแแขแแแแก แแแจแแแ แแ 90-แแแแ แฌแแแแแก แแแกแแฌแงแแกแจแ แแแ แจแแแแฃแจแแแแก แฃแแแแกแ แแแแชแแคแชแแ, แ แแแแช แจแแกแแซแแแแแแ แแแฎแแแ แแ แแงแ แแแแแฃแแ. แฌแแแงแแแ แแแขแแแแแแ. แชแแขแ แแแขแ แแแขแแแ แจแแแแซแแแแ แแฎแแแแ, แแแฅแแแ, .
แแแแแ แแแแแแแแแ แแ แแฅแขแแแแแ
แแ แแฅแขแแแแจแ, แฉแแแ แแแแแแฎแแ แชแแแแแแ แกแแแ แงแแแแแแ แกแแแแ แแฃแแ, แ แแแแ แช แแ แแแฉแแแแ, แแแแแแแแแก:
- แแแแแแแแแแก แแแ แแแแ แแ แแแแ แแแกแแแแ แแแก แแแฆแแแ;
- แแแแฆแแ แจแแแแแแ แแแชแแแฃแแ แแแแแก แแแแแแแแแ (CIDR);
- แแแแก แจแแแแฌแแแแ, แแแฃแแแแแก แแฃ แแ แ แแแกแแแแ แแ แแแแแแแแแก.
แแแแแ แแแ แแฅแแแแ IPv6-แแกแแแแก, แแแแ แแ แกแแญแแ แแแแแก แจแแแแฎแแแแแจแ, แแแแแแแก แแแ แขแแแแ แแแแแขแแ แแแ แจแแกแแซแแแแแแแ. แ แแฆแแช แแแแแแ แแแแแแแแ , แแแแ แแ แแแแฎแแ แชแแแแแ แแแ แชแแขแ แแแแกแฎแแแแแแฃแแแ. แแกแแแ, แแแแแแแแแแ แแ แแแแฌแแแแก แจแแงแแแแแก แจแแชแแแแแแก. แแแจ, แฌแแแแแแ.
แ แแแแ แช แฃแแแ แแฆแแแแจแแ, แแแแแแแแแแก แแแ แแแแ แแ แแแแ แแแกแแแแ แแแก แแแแแแแ แจแแกแแซแแแแแแแ แแแขแแฃแ แ แแแแ แแชแแแแแก แแแแแงแแแแแแ, แแแแแแแแแแก แแแกแแฌแงแแกแแกแ แแ แแแแแ แฃแแ แฅแแแฅแกแแแแก แแแฆแแแก แชแแแแ. แจแแกแแแแแแกแแ, แแแ แแแแ แ แแช แฃแแแ แแแแแแแแแ แแ แแก CIDR-แแก แแ แแแแ แแแฆแแแ แแแแแฅแชแแแ. แแแแกแแแแแก แฉแแแ แจแแแแแ แแแแแ แแแก แแแฅแแกแแแขแแแแ แแแแแกแแฎแฃแแแแแก แแ แฉแแแแแแแแแ แแ แแแแแจแ.
function cidrToMask ($cidr) {
$mask = str_repeat('f', ceil($cidr / 4));
$mask .= dechex(4 * ($cidr % 4));
$mask = str_pad($mask, 32, '0');
return pack('H*', $mask);
}แแแแแฌแแแแ แแแแแขแ ('H*', $mask) แแฌแงแแแก แแแฅแแกแแแขแแแแ แแแแแกแแฎแฃแแแแแก แแกแแแ, แ แแแแ แช inet_pton (). แแ แแแแแ แแ แแแแกแฎแแแแแแ แแกแแ, แ แแ แแแ แแแแแกแแก แจแแคแฃแแแ () แงแแแแ 0 แฃแแแ แแงแแก แแแแแก แแแแแแแ แแ แแ แฃแแแ แแงแแก แแ แฌแแ แขแแแ แฉแแแแฌแแ แจแ, แแแแแแแแแก แแแแ แฌแแแแแฎแฃแแ แฉแแแแฌแแ แแกแแแ แแแแกแฎแแแแแแแ.
แจแแแแแแ แแแแแฏแ แแ แแก แแแแแแแแแแก แแแกแแฌแงแแกแแกแ แแ แแแกแแกแ แฃแแแก แแแแแแแแ. แแ แแฅ แฉแแแแแ แแแฃแแแกแ. แแแขแฃแ แ แแแแ แแชแแแแ แจแแแฆแฃแแฃแแแ แแ แแชแแกแแ แแก แแแขแแก แกแแแซแแแแ แแ. แจแแกแแแแแแกแแ, แฉแแแก 32-แแแขแแแ CubieTruck-แแ, แ แแแแแกแแช แแแแฏแแ แแแงแแแแ แงแแแแ แกแแฎแแก แกแแขแแกแขแ แแแแแแแแ แแแแกแแแแก, แจแแฃแซแแแแแแ แแฅแแแแ แแแกแแแแ แแแก แงแแแแ 128 แแแขแแก แแแแฃแจแแแแแ แแ แ แแแแ แแชแแแจแ. แแฃแแชแ, แแ แแคแแ แ แแแแจแแแก แฎแแแก แแแก 32 แแแขแแแ แฏแแฃแคแแแแ แแแงแแคแแจแ (แงแแแแ แจแแแแฎแแแแแกแแแแก, แแแ แแชแแก, แ แแแแ แแ แแชแแกแแ แแแแ แแแแฃแจแแแแแ).
function getRangeBoundary ($ip, $cidr, $which, $ipIsBin = false, $returnBin = false) {
$mask = cidrToMask($cidr);
if (!$ipIsBin) {
$ip = inet_pton($ip);
}
$ipParts = str_split($ip, 4);
$maskParts = str_split($mask, 4);
$rangeParts = [];
for ($i = 0; $i < count($ipParts); $i++) {
if ($which == 'start') {
/* ะะพะฑะธัะพะฒัะน & ะฐะดัะตัะฐ ะธ ะผะฐัะบะธ ะพััะฐะฒะธั ัะพะปัะบะพ ะฑะธัั ะฟัะตัะธะบัะฐ. */
$rangeParts[$i] = $ipParts[$i] & $maskParts[$i];
} else {
/* ะะพะฑะธัะพะฒัะน | ั ะพะฑัะฐัะฝะพะน ะผะฐัะบะพะน (~) ะพััะฐะฒะธั ะฑะธัั ะฟัะตัะธะบัะฐ ะธ ัััะฐะฝะพะฒะธั ะฒัะต ะฑะธัั ะปะพะบะฐะปัะฝะพะน ัะฐััะธ ะฒ 1. */
$rangeParts[$i] = $ipParts[$i] | ~$maskParts[$i];
}
}
$rangeBoundary = implode($rangeParts);
if ($returnBin) {
return $rangeBoundary;
} else {
return inet_ntop($rangeBoundary);
}
}แกแแแแแแแแ แแแแแงแแแแแแกแแแแก, แฉแแแ แฃแแ แฃแแแแแแงแแคแ IP-แแก แแแแแชแแแแก แจแแกแแซแแแแแแแแก แแ แจแแแแแแก แแแฆแแแแก แ แแแแ แช แแ แแแแแ, แแกแแแ แแแแแแแแแกแแแแก แฌแแแแแฎแฃแแ แคแแ แแแ. แฒแแ แแแแขแ แ $ แ แแแแแแช แแฅ แแก แแแฃแกแขแแแก, แแแแแแ แแแแแฆแแ แแแแแแแแแแก แแแกแแฌแงแแกแ แแ แแแกแแกแ แฃแแ (แแแแจแแแแแแแแแ 'แแแฌแงแแแ' แแ 'แแแกแแกแ แฃแแ' แจแแกแแแแแแกแแ).
แจแแแแแแ แแแแชแแแ (แแ แแกแแแ แงแแแแแแ แแ แแฅแขแแแฃแแ แฉแแแแ แแแแแแแแแกแแแแก) แแ แแก แจแแแแแแ แแแแแแแแแแก แแแแแแแแ. แแ แแแแชแแแแกแแแแก, แแ แแคแแ แ แแ แแแแแแแแ แแแ แแ แฃแแแแแกแ, แแแแ แ แแแกแแแแ แแแก แแแคแแ แแแแแ แแแแแ แฃแ แกแขแ แแฅแแแจแ แแ 1-แแก แแแแแขแแแ แกแแกแฃแ แแแ แแแแแชแแแแ, แจแแแแแ แแ แงแแแแแคแ แแก แฃแแแ แแแฎแแแ. แแแแกแแแแก, แ แแ แแ แขแแคแแฅแขแแแ แกแแแแ แแ แแแแแฉแแแแแแงแ, แแแแแแฌแงแแแขแ แแแกแแแแ แแ แแแแงแ แแแแขแแ แแแจแแแกแ แแ แแฌแงแแแแก แแ แแก.
function getNextBlock ($ipStart, $cidr, $ipIsBin = false, $returnBin = false) {
if (!$ipIsBin) {
$ipStart = inet_pton($ipStart);
}
$ipParts = str_split($ipStart, 1);
$ipBin = '';
foreach ($ipParts as $ipPart) {
$ipBin .= str_pad(base_convert(unpack('H*', $ipPart)[1], 16, 2), 8, '0', STR_PAD_LEFT);
}
/* ะะพะฑะฐะฒะปัะตะผ 1 ะฒ ะฝัะถะฝะพะผ ัะฐะทััะดะต ะดะฒะพะธัะฝะพะณะพ ะฟัะตะดััะฐะฒะปะตะฝะธั ัััะพะบะธ "ะฒะปะพะฑ" :) */
$i = $cidr - 1;
while ($i >= 0) {
if ($ipBin[$i] == '0') {
$ipBin[$i] = '1';
break;
} else {
$ipBin[$i] = '0';
}
$i--;
}
$ipBinParts = str_split($ipBin, 8);
foreach ($ipBinParts as $key => $ipBinPart) {
$ipParts[$key] = pack('H*', str_pad(base_convert($ipBinPart, 2, 16), 2, '0', STR_PAD_LEFT));
}
$nextIp = implode($ipParts);
if ($returnBin) {
return $nextIp;
} else {
return inet_ntop($nextIp);
}
}แแแแแกแแแแแแ แแแฆแแแ แจแแแแแแ แแแแแก แแแแแแแแแแก แแ แแคแแฅแกแก, แ แแแแแแช แแแแแแแแฃแแแ $cidr. แแ แคแฃแแฅแชแแแ แฉแแแ แแแแแฌแแแแแ แแแกแแแแ แแแแแก แแแแแแแก แฉแแแแก แแแแแแขแแแก.
แแ แแแแแก, แจแแแแแฌแแแ, แแแฃแแแแแก แแฃ แแ แ แแแกแแแแ แแ แแแแแแแแแก. แแแแแแแแแ, แฉแแแ แแแแแแงแแแแ แแ แแ แแแแแ /48 แแแแแแขแแแแ แแแแแแแแก แแแกแแแแฌแแแแแแแ /64, แแ แฃแแแ แแแแ แฌแแฃแแแแ, แ แแ แแแแแญแแแแกแแก แแ แแแแชแแแ แแแแแงแแคแแแ แแแแแแก แคแแ แแแแแก (แแ แแฅแขแแแแจแ แแก แแแแ แแ แแแฎแแแแ, แแแแ แแ แฏแแ แแแแแ แแ แกแแแแแก แจแแกแแซแแแแแแแ). แแฅ แงแแแแแคแแ แ แแแ แขแแแแ. แฉแแแ แแแฆแแแ แแแแแแแแแแก แแแกแแฌแงแแกแก แแ แแแกแแกแ แฃแแก แแ แแแแแ แคแแ แแแ แแ แแแแแฌแแแแ แแ แแก แแฃ แแ แ แแแกแแแแ แแ แแแแแขแแแจแ.
function ipInRange ($ip, $rangeStart, $cidr) {
$start = getRangeBoundary($rangeStart, $cidr, 'start',false, true);
$end = getRangeBoundary($rangeStart, $cidr, 'end',false, true);
$ipBin = inet_pton($ip);
return ($ipBin >= $start && $ipBin <= $end);
}แแแแแ แแแฅแแก, แ แแ แแก แกแแกแแ แแแแแ แแงแ. แกแฎแแ แ แ แคแฃแแฅแชแแแแ แจแแแซแแแแ แแงแแก แแแกแแแแ แแแแแแ แแฃแจแแแแแกแแแแก แแฅแแแแ แแแ แแ? แแแแแกแแแแ แ แแแแแขแแแ, แแแแแแขแแ แ แแ แแแแแก แแแแแฎแแแแ แแแแแแ แแแกแแกแแแแแแแแแ แแแแแแขแแ แแแจแ.
แแฃ แฃแแแ แฎแแ แ แฉแแแแ แแแแแแขแ แแ แฃแแ แแแแ แคแแฅแ แแแ แแแฎแแแ, แแ แกแขแแขแแแก แแแแแฅแแแงแแแแแก แแฆแแก แแแแแแแแแ แแแแแแก แแแฆแแแแก /64 แกแ แฃแแแแ แฃแคแแกแแ แงแแแแ vps แกแแ แแแกแแกแแแแก แแ แแแแแงแแคแแแ แกแแ แแแ แแกแแแแก Equinix Tier IV แแแแแชแแแแ แชแแแขแ แจแ, แแแแแ แแแแแแแ, แแแงแแแแแแแก แแแแงแแคแแแแแแก แแแแฎแแแแแ, แแแแแแจแ แแ แกแขแแขแแแก แแแฃแแแก แแแแแแแแแ. แจแแแแแแแแแ แแแฅแแแแแแก 2020 แฌแแแก แแแ แขแแแแ.
แ แแแแแแแแ แ แแแแแแ ๐
แแแแแแแแ, แ แแ แแแ แฉแแ แฉแแแแแแ. แแแแฌแแแ แฉแแแแ แกแขแแขแแแแ? แแกแฃแ แ แแแฎแแ แฃแคแ แ แกแแแแขแแ แแกแ แจแแแแแ แกแ? แแฎแแ แ แแแแแแญแแ แแ แจแแแแแแแก แแแแแแแกแแแแ แแ แแแแแแ แแแแกแแแแก แ แแแแแแแแแชแแแ, , แกแแฌแงแแกแ แแแแแก แกแแ แแแ แแแแก แฃแแแแแแฃแ แ แแแแแแแ, แ แแแแแแช แฉแแแ แแแแ แแแแแแแแแแแ แแฅแแแแแแแก: (แฎแแแแแกแแฌแแแแแแ RAID1 แแ RAID10-แแ, 24 แแแ แแแแแแ แแ 40 แแ-แแแ DDR4).
Dell R730xd 2-แฏแแ แแแคแแ Equinix Tier IV แแแแแชแแแแ แชแแแขแ แจแ แแแกแขแแ แแแแจแ? แฒแฎแแแแ แแฅ แแแแแ แแแแแแแจแ! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - $99-แแแ! แฒฌแแแแแแฎแ แ แแฆแแชแแก แจแแกแแฎแแ
แฌแงแแ แ: www.habr.com
