fewfefffwefweef
This commit is contained in:
Binary file not shown.
Binary file not shown.
102
test.py
102
test.py
@@ -1,31 +1,81 @@
|
||||
from curl_cffi import requests
|
||||
import socket
|
||||
import psutil
|
||||
import re
|
||||
|
||||
headers = {
|
||||
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Edg/143.0.0.0',
|
||||
'Accept': 'application/json, text/plain, */*',
|
||||
# 'Accept-Encoding': 'gzip, deflate, br, zstd',
|
||||
'Content-Type': 'application/json',
|
||||
'sec-ch-ua-platform': '"Windows"',
|
||||
'sec-ch-ua': '"Microsoft Edge WebView2";v="143", "Microsoft Edge";v="143", "Chromium";v="143", "Not A(Brand";v="24"',
|
||||
'sec-ch-ua-mobile': '?0',
|
||||
'Origin': 'https://app.depinsim.com',
|
||||
'Sec-Fetch-Site': 'same-site',
|
||||
'Sec-Fetch-Mode': 'cors',
|
||||
'Sec-Fetch-Dest': 'empty',
|
||||
'Referer': 'https://app.depinsim.com/',
|
||||
'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6',
|
||||
}
|
||||
|
||||
json_data = {
|
||||
'initData': 'query_id=AAHKGjNZAwAAAMoaM1n9Jm8g&user=%7B%22id%22%3A7938972362%2C%22first_name%22%3A%22%E7%90%B4%22%2C%22last_name%22%3A%22%E7%8E%8B%22%2C%22username%22%3A%22bgmztfjr%22%2C%22language_code%22%3A%22en%22%2C%22allows_write_to_pm%22%3Atrue%2C%22photo_url%22%3A%22https%3A%5C%2F%5C%2Ft.me%5C%2Fi%5C%2Fuserpic%5C%2F320%5C%2FtfN1ibQBmLhyPRirvlL0SAPLZe2_sJ_ds-9_ibc0e3R5yYVz0M4wOxmltsCJEZ7F.svg%22%7D&auth_date=1767550045&signature=4v_J54Qe9yTFNnkoa69Pq9yy1yiL4H4d8qV354gcSjhogRxFLKJde9pFT44Tb-cVFdqgBgPNFSFk_1l0s1w1Ag&hash=6ede983b3967f128eb1faa217afd7bfedf942312fcf6252ed4192dbb87f451de',
|
||||
'couponCode': '',
|
||||
}
|
||||
class NetworkIPGetter:
|
||||
"""网络IP获取器"""
|
||||
|
||||
response = requests.post('https://api.depinsim.com/base/tgLoginWithCoupon', headers=headers, json=json_data)
|
||||
def __init__(self):
|
||||
self.interfaces = psutil.net_if_addrs()
|
||||
|
||||
print(response.json()["data"])
|
||||
def get_wlan_ip(self):
|
||||
"""获取无线网卡IP(优先)"""
|
||||
return self._get_interface_ip(['WLAN', 'Wi-Fi', 'WiFi', 'Wireless'])
|
||||
|
||||
def get_ethernet_ip(self):
|
||||
"""获取有线网卡IP"""
|
||||
return self._get_interface_ip(['Ethernet', '以太网', 'eth', 'enp'])
|
||||
|
||||
def _get_interface_ip(self, keywords):
|
||||
"""根据关键词查找接口IP"""
|
||||
for iface_name, addrs in self.interfaces.items():
|
||||
iface_lower = iface_name.lower()
|
||||
if any(keyword.lower() in iface_lower for keyword in keywords):
|
||||
for addr in addrs:
|
||||
if addr.family == socket.AF_INET:
|
||||
# 排除一些虚拟/私有地址
|
||||
if not self._is_virtual_ip(addr.address):
|
||||
return addr.address
|
||||
return None
|
||||
|
||||
def _is_virtual_ip(self, ip):
|
||||
"""判断是否为虚拟/私有IP"""
|
||||
private_patterns = [
|
||||
r'^127\.', # 回环地址
|
||||
r'^192\.168\.', # 私有C类
|
||||
r'^172\.(1[6-9]|2[0-9]|3[0-1])\.', # 私有B类
|
||||
r'^10\.', # 私有A类
|
||||
r'^169\.254\.', # 链路本地
|
||||
]
|
||||
|
||||
for pattern in private_patterns:
|
||||
if re.match(pattern, ip):
|
||||
return False # 私有IP也是有效的WLAN地址
|
||||
return False
|
||||
|
||||
def get_preferred_ip(self):
|
||||
"""获取首选网络IP(优先WLAN,其次有线)"""
|
||||
ip = self.get_wlan_ip()
|
||||
if not ip:
|
||||
ip = self.get_ethernet_ip()
|
||||
return ip or "127.0.0.1"
|
||||
|
||||
def get_all_ips(self):
|
||||
"""获取所有网络接口的IPv4地址"""
|
||||
result = {}
|
||||
for iface_name, addrs in self.interfaces.items():
|
||||
for addr in addrs:
|
||||
if addr.family == socket.AF_INET:
|
||||
if iface_name not in result:
|
||||
result[iface_name] = []
|
||||
result[iface_name].append({
|
||||
'address': addr.address,
|
||||
'netmask': addr.netmask,
|
||||
'broadcast': addr.broadcast
|
||||
})
|
||||
return result
|
||||
|
||||
|
||||
# 使用示例
|
||||
if __name__ == "__main__":
|
||||
getter = NetworkIPGetter()
|
||||
|
||||
# 获取WLAN IP
|
||||
wlan_ip = getter.get_wlan_ip()
|
||||
print(f"WLAN IPv4地址: {wlan_ip}")
|
||||
|
||||
# 获取首选IP
|
||||
main_ip = getter.get_preferred_ip()
|
||||
print(f"首选IP地址: {main_ip}")
|
||||
|
||||
# Note: json_data will not be serialized by requests
|
||||
# exactly as it was in the original request.
|
||||
# data = '{"initData":"query_id=AAG-nFE1AwAAAL6cUTWXBDTZ&user=%7B%22id%22%3A7336991934%2C%22first_name%22%3A%22Annie%22%2C%22last_name%22%3A%22Holland%22%2C%22username%22%3A%22dockerse%22%2C%22language_code%22%3A%22zh-hans%22%2C%22allows_write_to_pm%22%3Atrue%2C%22photo_url%22%3A%22https%3A%5C%2F%5C%2Ft.me%5C%2Fi%5C%2Fuserpic%5C%2F320%5C%2FvKyPZp8vuNPAS3qtPTMX5pckp-xCdrOYuct7P6MGse7csZ2PXUs6HeWfQiu7Gzpm.svg%22%7D&auth_date=1767549051&signature=nVXsDAuvmnu-ond_wMmPSXe1ZZVreM3VRxWLMNr2vhBYAyXG40pqz7tgHeaVnMQvP6GrrQ6Z3EWzyxzPdoaxCw&hash=4525486fb5719723dd57b6a0d42785b8085726103ae850b297b4be251af3de6b","couponCode":""}'
|
||||
# response = requests.post('https://api.depinsim.com/base/tgLoginWithCoupon', headers=headers, data=data)
|
||||
|
||||
BIN
tg/sessions/14424290892.session
Normal file
BIN
tg/sessions/14424290892.session
Normal file
Binary file not shown.
Binary file not shown.
BIN
tg/sessions/15485203490.session
Normal file
BIN
tg/sessions/15485203490.session
Normal file
Binary file not shown.
Binary file not shown.
BIN
tg/sessions/8613003246245.session-journal
Normal file
BIN
tg/sessions/8613003246245.session-journal
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
tg/sessions/8613641933508.session-journal
Normal file
BIN
tg/sessions/8613641933508.session-journal
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
tg/sessions/8615021899427.session-journal
Normal file
BIN
tg/sessions/8615021899427.session-journal
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
tg/sessions/8615696780761.session-journal
Normal file
BIN
tg/sessions/8615696780761.session-journal
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
tg/sessions/8616259316201.session-journal
Normal file
BIN
tg/sessions/8616259316201.session-journal
Normal file
Binary file not shown.
Binary file not shown.
BIN
tg/sessions/8616259346915.session-journal
Normal file
BIN
tg/sessions/8616259346915.session-journal
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
tg/sessions/8616514618625.session-journal
Normal file
BIN
tg/sessions/8616514618625.session-journal
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
tg/sessions/8616533117805.session-journal
Normal file
BIN
tg/sessions/8616533117805.session-journal
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
tg/sessions/8616534056624.session-journal
Normal file
BIN
tg/sessions/8616534056624.session-journal
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
tg/sessions/8616561943385.session-journal
Normal file
BIN
tg/sessions/8616561943385.session-journal
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
tg/sessions/8616703400925.session-journal
Normal file
BIN
tg/sessions/8616703400925.session-journal
Normal file
Binary file not shown.
Binary file not shown.
BIN
tg/sessions/8616703400948.session-journal
Normal file
BIN
tg/sessions/8616703400948.session-journal
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
tg/sessions/8616756474648.session-journal
Normal file
BIN
tg/sessions/8616756474648.session-journal
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
tg/sessions/8617069659802.session-journal
Normal file
BIN
tg/sessions/8617069659802.session-journal
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
tg/sessions/8617109031934.session-journal
Normal file
BIN
tg/sessions/8617109031934.session-journal
Normal file
Binary file not shown.
BIN
tg/sessions/8617112874883.session-journal
Normal file
BIN
tg/sessions/8617112874883.session-journal
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user