mirror of
https://github.com/alexbers/mtprotoproxy.git
synced 2026-03-14 07:13:09 +00:00
Use external service to retrieve host's IP address.
Should display a proper IP for users behind NAT (like a home router), for example.
This commit is contained in:
@@ -3,6 +3,7 @@
|
|||||||
import asyncio
|
import asyncio
|
||||||
import socket
|
import socket
|
||||||
import urllib.parse
|
import urllib.parse
|
||||||
|
import urllib.request
|
||||||
import collections
|
import collections
|
||||||
import time
|
import time
|
||||||
import hashlib
|
import hashlib
|
||||||
@@ -226,17 +227,12 @@ async def stats_printer():
|
|||||||
|
|
||||||
|
|
||||||
def print_tg_info():
|
def print_tg_info():
|
||||||
my_ip = socket.gethostbyname(socket.gethostname())
|
try:
|
||||||
|
with urllib.request.urlopen('https://ifconfig.co/ip') as f:
|
||||||
octets = [int(o) for o in my_ip.split(".")]
|
if f.status != 200: raise Exception("Invalid status code")
|
||||||
|
my_ip = f.read().strip()
|
||||||
ip_is_local = (len(octets) == 4 and (
|
except:
|
||||||
octets[0] in [127, 10] or
|
my_ip = 'YOUR_IP'
|
||||||
octets[0:2] == [192, 168] or
|
|
||||||
(octets[0] == 172 and 16 <= octets[1] <= 31)))
|
|
||||||
|
|
||||||
if ip_is_local:
|
|
||||||
my_ip = "YOUR_IP"
|
|
||||||
|
|
||||||
for user, secret in USERS.items():
|
for user, secret in USERS.items():
|
||||||
params = {
|
params = {
|
||||||
|
|||||||
Reference in New Issue
Block a user