mirror of
https://github.com/nexy7574/LCC-bot.git
synced 2024-09-19 18:16:34 +01:00
Fix speedtest
This commit is contained in:
parent
aeb5dd97dd
commit
2bb5ba1a9e
1 changed files with 22 additions and 26 deletions
|
@ -2172,14 +2172,13 @@ class OtherCog(commands.Cog):
|
||||||
"""Tests proxies."""
|
"""Tests proxies."""
|
||||||
test_time = max(5.0, test_time)
|
test_time = max(5.0, test_time)
|
||||||
await ctx.defer()
|
await ctx.defer()
|
||||||
SPEED_REGIONS = ["fsn1", "nbg1", "hel1", "ash", "hil"]
|
|
||||||
results = {
|
results = {
|
||||||
"localhost:1090": {
|
"localhost:1090": {
|
||||||
"name": "SHRoNK",
|
"name": "SHRoNK",
|
||||||
"failure": None,
|
"failure": None,
|
||||||
"download_speed": 0.0,
|
"download_speed": 0.0,
|
||||||
"tested": False,
|
"tested": False,
|
||||||
"speedtest": "https://{hetzner_region}-speed.hetzner.com/100M.bin",
|
"speedtest": "http://archive.ubuntu.com/ubuntu/dists/focal-updates/Contents-amd64.gz",
|
||||||
},
|
},
|
||||||
"localhost:1080": {
|
"localhost:1080": {
|
||||||
"name": "NexBox",
|
"name": "NexBox",
|
||||||
|
@ -2196,7 +2195,7 @@ class OtherCog(commands.Cog):
|
||||||
else:
|
else:
|
||||||
results.pop(key)
|
results.pop(key)
|
||||||
embed = discord.Embed(title="\N{white heavy check mark} Proxy available.")
|
embed = discord.Embed(title="\N{white heavy check mark} Proxy available.")
|
||||||
FAILED = False
|
failed = False
|
||||||
proxy_uri = None
|
proxy_uri = None
|
||||||
for proxy_uri in results.keys():
|
for proxy_uri in results.keys():
|
||||||
name = results[proxy_uri]["name"]
|
name = results[proxy_uri]["name"]
|
||||||
|
@ -2224,14 +2223,14 @@ class OtherCog(commands.Cog):
|
||||||
results[proxy_uri]["tested"] = True
|
results[proxy_uri]["tested"] = True
|
||||||
else:
|
else:
|
||||||
embed = discord.Embed(title="\N{cross mark} All proxies failed.", colour=discord.Colour.red())
|
embed = discord.Embed(title="\N{cross mark} All proxies failed.", colour=discord.Colour.red())
|
||||||
FAILED = True
|
failed = True
|
||||||
|
|
||||||
for uri, value in results.items():
|
for uri, value in results.items():
|
||||||
if value["tested"]:
|
if value["tested"]:
|
||||||
embed.add_field(name=value["name"], value=value["failure"] or "Proxy is working.", inline=True)
|
embed.add_field(name=value["name"], value=value["failure"] or "Proxy is working.", inline=True)
|
||||||
embed.set_footer(text="No speed test will be run.")
|
embed.set_footer(text="No speed test will be run.")
|
||||||
await ctx.respond(embed=embed)
|
await ctx.respond(embed=embed)
|
||||||
if run_speed_test and FAILED is False:
|
if run_speed_test and failed is False:
|
||||||
now = discord.utils.utcnow()
|
now = discord.utils.utcnow()
|
||||||
embed.set_footer(text="Started speedtest at " + now.strftime("%X"))
|
embed.set_footer(text="Started speedtest at " + now.strftime("%X"))
|
||||||
await ctx.edit(embed=embed)
|
await ctx.edit(embed=embed)
|
||||||
|
@ -2242,27 +2241,24 @@ class OtherCog(commands.Cog):
|
||||||
headers={"User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:121.0) Gecko/20100101 Firefox/121.0"},
|
headers={"User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:121.0) Gecko/20100101 Firefox/121.0"},
|
||||||
) as client:
|
) as client:
|
||||||
bytes_received = 0
|
bytes_received = 0
|
||||||
for region in SPEED_REGIONS:
|
try:
|
||||||
try:
|
start = time()
|
||||||
start = time()
|
# used = results[proxy_uri]["speedtest"].format(hetzner_region=region)
|
||||||
used = results[proxy_uri]["speedtest"].format(hetzner_region=region)
|
used = results[proxy_uri]["speedtest"].format()
|
||||||
latency_start = time()
|
latency_start = time()
|
||||||
async with client.stream("GET", used) as response:
|
async with client.stream("GET", used) as response:
|
||||||
latency_end = time()
|
latency_end = time()
|
||||||
async for chunk in response.aiter_bytes():
|
async for chunk in response.aiter_bytes():
|
||||||
bytes_received += len(chunk)
|
bytes_received += len(chunk)
|
||||||
if (time() - start) > test_time:
|
if (time() - start) > test_time:
|
||||||
break
|
break
|
||||||
latency = (latency_end - latency_start) * 1000
|
latency = (latency_end - latency_start) * 1000
|
||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
end = time()
|
end = time()
|
||||||
now = discord.utils.utcnow()
|
now = discord.utils.utcnow()
|
||||||
embed.set_footer(text=embed.footer.text + " | Finished at: " + now.strftime("%X"))
|
embed.set_footer(text=embed.footer.text + " | Finished at: " + now.strftime("%X"))
|
||||||
break
|
except Exception as e:
|
||||||
except Exception as e:
|
results[proxy_uri]["failure"] = f"Failed to test speed (`{e}`)."
|
||||||
results[proxy_uri]["failure"] = f"Failed to test {region} speed (`{e}`)."
|
|
||||||
else:
|
|
||||||
return
|
|
||||||
megabytes = bytes_received / 1024 / 1024
|
megabytes = bytes_received / 1024 / 1024
|
||||||
elapsed = end - start
|
elapsed = end - start
|
||||||
bits_per_second = (bytes_received * 8) / elapsed
|
bits_per_second = (bytes_received * 8) / elapsed
|
||||||
|
|
Loading…
Reference in a new issue