最新消息:国内用必应,国外用谷歌

MTProxy Python 版一键安装教程,支持多用户管理

科学上网 积木 477浏览 0评论

MTProxy Python 版和官方版本以及mtg一样均支持 Fake TLS。

MTProto Proxy Auto Installer

MTProto Proxy Auto Installer 脚本支持  Centos 7/8 、Ubuntu 16+、 Debian 8/9系统,同时支持使用API进行多用户管理,可以为单一用户生成专门的密钥,并限制连接数量和时间。

脚本特性:

  • 自动生成随机密钥
  • 设置简单
  • 支持热重载
  • API 支持用户管理

Python 版 MTProxy 更适合低端VPS使用,单核CPU运行无压力,同时可以限制连接数量。Python 版 MTProxy 在 1 CPU core (~2.5 GHz) 1024MB RAM VPS上最多支持4000 同时连接。 比官方原版数量更少。

安装MTProxy的一些建议:MTProxy 代理极易被墙,不建议大范围公开分享,只适合几个人临时应急使用;代理链接不要设置成域名,设置为域名经常无法连接。长时间使用建议搭建 Trojan 多用户管理面板翻墙,方便分享与管理。

 脚本安装

Install

在终端上运行:

curl -o MTProtoProxyInstall.sh -L https://git.io/fjo34 && bash MTProtoProxyInstall.sh

然后启用默认值一路回车即可。

mtproxy 多用户管理脚本安装

完成安装后脚本会自动生成tg链接, 再次运行  systemctl status mtprotoproxy -l 显示tg链接。

脚本更新、改变端口、密钥以及其他设置重新运行脚本即可。

可以选择显示所有tg链接,更新代理程序,变更AD TAG,增加和撤销密钥,变更连接限制、用户到期时间、用户名,更改防火墙规则以及卸载代理脚本。

管理 Proxy

Service

systemctl start mtprotoproxy systemctl stop mtprotoproxy systemctl status mtprotoproxy -l

Config

手动编辑配置文件

vi  /opt/mtprotoproxy/config.py

然后重启代理

 systemctl restart mtprotoproxy

Quota Limiter 配额限制器

Python版本代理具有通过用户使用的流量来限制用户的功能。你可以在安装后重新运行脚本来改变配额。但请记住,如果重新启动代理,所有的使用量将被重置。(他们将从0开始计算。)

因此,如果你要进行用户管理,则可以使用此程序 program

Hot Reload:

热重载可以在不重启服务的情况下重载配置文件。如果你设置了一些配额限制,此操作可能会很有用。 复制并在你的终端上执行这些行。

pid=$(systemctl show --property MainPID mtprotoproxy)
arrPID=(${pid//=/ })
pid=${arrPID[1]}
kill -USR2 "$pid"

API

此脚本添加了API支持,以用于管理用户和设置连接时间。

用户管理

MTProto Proxy Auto Installer 脚本支持为每一个用户单独创建密钥以供连接和管理。

如何使用

bash MTProtoProxyInstall.sh list

列出所有用户,结果:

{
	"ok":true,
	"msg":{
		"User1" : "69c6a98d57c08c4e89084bf5b2897090",
		"User2" : "9cd7c782a297a4e8668e82e0b4ff4f6d"
	}
}

此密钥不包括ee用于fake tls或dd或掩码地址。

错误

如果没有密钥,结果为:

{
	"ok":false,
	"msg":"You have no secrets"
}

查看用户密钥

查看用户密钥 list <username>

如何使用

查看用户 user1的密钥,运行:

bash MTProtoProxyInstall.sh list user1

参考结果:

{  
	"ok":true,  
	"msg":"54ad29de7f1ba75d0338b21949b67a2c"  
}

此密钥不包括ee用于fake tls或dd或掩码地址。

如果用户不存在将返回一个错误结果。

添加用户

如何使用

bash MTProtoProxyInstall.sh 4 <USERNAME> <SECRET>

若未设置密钥 <SECRET> 脚本将自动生成。

参考结果:

{  
	"ok":true,  
	"msg":{  
		"link":"tg://proxy?server=ip&port=Port&secret=TheSecretInFakeTLSFormat", 
		"secret":"8564ca0eb7e9f973c2f465972fe4aa4e" 
	}  
}

如果设置了一个未验证的密钥命令将返回错误。

撤销用户

如何使用

bash MTProtoProxyInstall.sh 5 <USERNAME>

参考结果

{  
	"ok":true,  
	"msg":"" 
}

如果用户不存在将返回错误。

连接限制

如何使用

bash MTProtoProxyInstall.sh 6 <USERNAME> <LIMIT>

通过数字6来设置连接数量。要么删除用户的限制,要么设置/更改用户的限制。

如果要删除限制,则在运行脚本时只需忽略<limit>参数。例如,如果要删除user1的限制,运行如下脚本:

bash MTProtoProxyInstall.sh 6 user1

例如,如果想限制user2,只有3个人可以连接,请运行脚本,如下所示:

bash MTProtoProxyInstall.sh 6 user2 3

参考结果:

{  
	"ok":true,  
	"msg":"" 
}

到期时间

如何使用

bash MTProtoProxyInstall.sh 7 <USERNAME> <DATE>

时间必须遵循这个格式: dd/mm/yyyy

示例

可以设置移除或变更时间限制。

改变用户 u1的到期时间为 29/11/2020 运行命令:

bash MTProtoProxyInstall.sh 7 u1 "29/11/2020"

移除用户 u2  的时间限制运行命令:

bash MTProtoProxyInstall.sh 7 u2

参考结果:

{  
	"ok":true,  
	"msg":"" 
}

除了 Python 版脚本之外,该作者还提供Go版本、官方原版以及Erlang版本安装脚本。不过此go版脚本(mtg)貌似不可用。如果要安装mtg,推荐使用手动安装mtg2.0。

安装官方原版安装:

curl -o MTProtoProxyOfficialInstall.sh -L https://git.io/fjo3u && bash MTProtoProxyOfficialInstall.sh

目前最推荐的MTProxy版本为Go版及mtg。

因为防火墙的探测封锁,MTProto 协议已经迭代了三代:

MTProto 可通过 secret 字段区分三代的区别:

  • 第一代 secret 为 32 位 16 进制字符;
  • 第二代 secret 为dd开头加 32 位 16 进制字符,一共 34 位;
  • 第三代 secret 为ee开头加不定长的字符,也叫 FakeTLS 模式;

脚本地址:https://github.com/HirbodBehnam/MTProtoProxyInstaller

用户管理API:https://github.com/HirbodBehnam/MTProtoProxyInstaller/wiki/API-For-Python-Script

MTProto现状和建议:https://guide.v2fly.org/app/mtproto.html#%E7%8E%B0%E7%8A%B6%E5%92%8C%E5%BB%BA%E8%AE%AE

转载请注明:积木别倒 » MTProxy Python 版一键安装教程,支持多用户管理

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址