自动登录Multilogin
从多个设备或服务器手动连接到Multilogin可能非常耗时。要自动执行此过程,您可以使用 Python 中的 Paramiko 库。
在本文中,您将学习如何使用我们的脚本示例来实现这一点。它遍历服务器列表(每个服务器都有自己的凭据),并执行连接命令。
在你开始之前
- 确保您的设备或服务器可以通过 SSH 和密码验证访问
- 在每个设备或服务器上安装以下 Python 和库:
- 要求
- 波拉米科
- 将脚本
auto.py
保存在本地设备上 - 将脚本
signinmlx.py
保存在其他设备或服务器上 - 将您的值插入脚本
signinmlx.py
中的以下变量中:-
USERNAME
:您的Multilogin X账户电子邮件 -
PASSWORD
:您的Multilogin X账户密码(无需MD5加密)
-
- 将您的值插入脚本
auto.py
中的以下变量中:SERVER-USERNAME
SERVER-PASSWORD
SERVER-IP
运行脚本
下面的脚本示例包含基本设置,可让您在多个服务器上登录Multilogin X账户。此外,您还可以:
- 使用
signinmlx.py
添加您想要在登录后触发的个人资料操作 - 使用
auto.py
添加更多要在远程服务器上执行的命令 - 使用
auto.py
向参数“users_credentials_and_ips”添加更多服务器
signinmlx.py
import requests
from hashlib import md5
# Input your Multilogin X account credentials
USERNAME = ""
PASSWORD = ""
MLX_BASE = "https://api.multilogin.com"
MLX_LAUNCHER = "https://launcher.mlx.yt:45001/api/v1"
HEADERS = {"Accept": "application/json", "Content-Type": "application/json"}
# Function
def sign_in(username, password):
# HTTP requests to APIs
sign_url = "https://api.multilogin.com/user/signin"
HEADERS = {
"Accept": "application/json",
"Content-Type": "application/json",
}
Payload = {
"email": username,
"password": str(md5(password.encode()).hexdigest()),
}
# POST request
resp = requests.post(sign_url, json=Payload, headers=HEADERS)
resp_json = resp.json()
# got bearer token
token = resp_json["data"]["token"]
return token
# PART 1
token = sign_in(USERNAME, PASSWORD)
HEADERS["Authorization"] = "Bearer " + token
print("token: " + token, end="")
自动执行程序
import paramiko
# Define the commands to run
commands = [
# "mlx &",
"python3 signinmlx.py"
]
# Define the list of users, passwords, and their corresponding IPs
users_credentials_and_ips = [
# ("SERVER-USERNAME", "SERVER-PASSWORD", "SERVER-IP"),
("SERVER-USERNAME", "SERVER-PASSWORD", "SERVER-IP"),
]
# Iterate over each user, password, and IP
for user, password, ip in users_credentials_and_ips:
print(f"Connecting to {user}@{ip}")
try:
# Connect to the SSH server with password authentication
ssh_client = paramiko.SSHClient()
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_client.connect(hostname=ip, username=user, password=password)
# Execute each command
for cmd in commands:
print(f"Running command: {cmd}")
stdin, stdout, stderr = ssh_client.exec_command(cmd)
output = stdout.read().decode("utf-8")
error = stderr.read().decode("utf-8")
if output:
print(output)
if error:
print(error)
# Close the SSH connection
ssh_client.close()
except Exception as e:
print(f"Error connecting to {user}@{ip}: {str(e)}")
视频指南
在本指南中,我们展示了如何在装有Windows 10 的本地计算机和装有 Ubuntu 20 的 VirtualBox 服务器上运行auto.py
和signinmlx.py
脚本。