Compare commits

..

4 Commits

Author SHA1 Message Date
SamNet-dev
eff2ee392f fix: push engine image to registry.samnet.dev instead of ghcr.io 2026-02-25 10:59:58 -06:00
SamNet-dev
dc3f3ba1cf Upgrade core engine to v3.0.15 2026-02-25 10:54:38 -06:00
SamNet-dev
e89e9e5e4b docs: add notice to visit GitHub for latest updates and issues 2026-02-25 10:50:43 -06:00
SamNet-dev
097712a853 fix: migrate all URLs from GitHub to dl.samnettech.com 2026-02-24 08:21:49 -06:00
4 changed files with 39 additions and 22 deletions

View File

@@ -6,14 +6,14 @@ on:
telemt_commit: telemt_commit:
description: 'Telemt commit hash to build from' description: 'Telemt commit hash to build from'
required: true required: true
default: '1a525f7' default: 'ad1940b'
version_tag: version_tag:
description: 'Version tag (e.g. 3.0.7-1a525f7)' description: 'Version tag (e.g. 3.0.15-ad1940b)'
required: true required: true
default: '3.0.7-1a525f7' default: '3.0.15-ad1940b'
env: env:
REGISTRY: ghcr.io REGISTRY: registry.samnet.dev
IMAGE_NAME: mtproxymax-telemt IMAGE_NAME: mtproxymax-telemt
jobs: jobs:
@@ -30,12 +30,12 @@ jobs:
- name: Set up Docker Buildx - name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3 uses: docker/setup-buildx-action@v3
- name: Log in to GitHub Container Registry - name: Log in to Container Registry
uses: docker/login-action@v3 uses: docker/login-action@v3
with: with:
registry: ${{ env.REGISTRY }} registry: ${{ env.REGISTRY }}
username: ${{ github.actor }} username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }} password: ${{ secrets.REGISTRY_TOKEN }}
- name: Create Dockerfile - name: Create Dockerfile
run: | run: |

View File

@@ -24,12 +24,16 @@
--- ---
> **Note:** Please visit the [GitHub repository](https://github.com/SamNet-dev/MTProxyMax) for the latest updates. If you have an issue, please open an issue there.
---
MTProxyMax is a full-featured Telegram MTProto proxy manager powered by the **telemt 3.x Rust engine**. It wraps the raw proxy engine with an interactive TUI, a complete CLI, a Telegram bot for remote management, per-user access control, traffic monitoring, proxy chaining, and automatic updates — all in a single bash script. MTProxyMax is a full-featured Telegram MTProto proxy manager powered by the **telemt 3.x Rust engine**. It wraps the raw proxy engine with an interactive TUI, a complete CLI, a Telegram bot for remote management, per-user access control, traffic monitoring, proxy chaining, and automatic updates — all in a single bash script.
<img src="main.png" width="600" alt="MTProxyMax Main Menu"/> <img src="main.png" width="600" alt="MTProxyMax Main Menu"/>
```bash ```bash
sudo bash -c "$(curl -fsSL https://dl.samnet.dev/SamNet-dev/MTProxyMax/raw/branch/main/install.sh)" sudo bash -c "$(curl -fsSL https://dl.samnettech.com/SamNet-dev/MTProxyMax/raw/branch/main/install.sh)"
``` ```
--- ---
@@ -53,7 +57,7 @@ Most MTProxy tools give you a proxy and a link. That's it. MTProxyMax gives you
### One-Line Install ### One-Line Install
```bash ```bash
sudo bash -c "$(curl -fsSL https://dl.samnet.dev/SamNet-dev/MTProxyMax/raw/branch/main/install.sh)" sudo bash -c "$(curl -fsSL https://dl.samnettech.com/SamNet-dev/MTProxyMax/raw/branch/main/install.sh)"
``` ```
The interactive wizard walks you through everything: port, domain, first user secret, and optional Telegram bot setup. The interactive wizard walks you through everything: port, domain, first user secret, and optional Telegram bot setup.
@@ -61,7 +65,7 @@ The interactive wizard walks you through everything: port, domain, first user se
### Manual Install ### Manual Install
```bash ```bash
curl -fsSL https://dl.samnet.dev/SamNet-dev/MTProxyMax/raw/branch/main/mtproxymax.sh -o mtproxymax curl -fsSL https://dl.samnettech.com/SamNet-dev/MTProxyMax/raw/branch/main/mtproxymax.sh -o mtproxymax
chmod +x mtproxymax chmod +x mtproxymax
sudo ./mtproxymax install sudo ./mtproxymax install
``` ```
@@ -500,6 +504,19 @@ mtproxymax telegram remove # Remove bot completely
## 📋 Changelog ## 📋 Changelog
### v1.3.0 — Engine v3.0.15
**Engine Upgrade (v3.0.7 → v3.0.15):**
- **ME Connection Hardening** — Better error handling and recovery for lost middle-end connections
- **Secure Payload Fixes** — Payload length validation and ME protocol hardening
- **Bounded Backpressure** — Semaphore-based global gate prevents overload, ME buffer reuse for efficiency
- **TLS Full Certificate** — New TLS fetcher drafts real certificates in ServerHello, with TTL-based refresh
- **ME Pool Reinit** — Soft-staged reinit without reconcile, plus reinit polishing for smoother reconnects
- **Desync Forensics** — Full forensics for desync detection and debugging
- **ME Pool Hardswap** — Hard connection swap with softer fallback for graceful pool rotation
- **ME Pool Health + Rotation** — Active health checking with automatic rotation of unhealthy connections
### v1.2.0 — Engine v3.0.7 + Custom IP ### v1.2.0 — Engine v3.0.7 + Custom IP
**Engine Upgrade (v3.0.4 → v3.0.7):** **Engine Upgrade (v3.0.4 → v3.0.7):**

View File

@@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
# MTProxyMax Quick Installer — SamNet Technologies # MTProxyMax Quick Installer — SamNet Technologies
# Usage: curl -sL https://dl.samnet.dev/SamNet-dev/MTProxyMax/raw/branch/main/install.sh | sudo bash # Usage: curl -sL https://dl.samnettech.com/SamNet-dev/MTProxyMax/raw/branch/main/install.sh | sudo bash
set -e set -e
SCRIPT_URL="https://dl.samnet.dev/SamNet-dev/MTProxyMax/raw/branch/main/mtproxymax.sh" SCRIPT_URL="https://dl.samnettech.com/SamNet-dev/MTProxyMax/raw/branch/main/mtproxymax.sh"
if [ "$(id -u)" -ne 0 ]; then echo "Run as root: curl -sL $SCRIPT_URL | sudo bash" >&2; exit 1; fi if [ "$(id -u)" -ne 0 ]; then echo "Run as root: curl -sL $SCRIPT_URL | sudo bash" >&2; exit 1; fi
curl -fsSL "$SCRIPT_URL" -o /tmp/mtproxymax.sh && bash /tmp/mtproxymax.sh install && rm -f /tmp/mtproxymax.sh curl -fsSL "$SCRIPT_URL" -o /tmp/mtproxymax.sh && bash /tmp/mtproxymax.sh install && rm -f /tmp/mtproxymax.sh

View File

@@ -22,10 +22,10 @@ UPSTREAMS_FILE="${INSTALL_DIR}/upstreams.conf"
BACKUP_DIR="${INSTALL_DIR}/backups" BACKUP_DIR="${INSTALL_DIR}/backups"
CONTAINER_NAME="mtproxymax" CONTAINER_NAME="mtproxymax"
DOCKER_IMAGE_BASE="mtproxymax-telemt" DOCKER_IMAGE_BASE="mtproxymax-telemt"
TELEMT_MIN_VERSION="3.0.7" TELEMT_MIN_VERSION="3.0.15"
TELEMT_COMMIT="1a525f7" # Pinned: v3.0.7Fake TLS V2, config reload, ME frame fixes TELEMT_COMMIT="ad1940b" # Pinned: v3.0.15ME Pool Health/Rotation, TLS cert TTL, desync forensics
GITHUB_REPO="SamNet-dev/MTProxyMax" GITHUB_REPO="SamNet-dev/MTProxyMax"
REGISTRY_IMAGE="ghcr.io/samnet-dev/mtproxymax-telemt" REGISTRY_IMAGE="registry.samnet.dev/samnet-dev/mtproxymax-telemt"
# Bash version check # Bash version check
if [ "${BASH_VERSINFO[0]:-0}" -lt 4 ]; then if [ "${BASH_VERSINFO[0]:-0}" -lt 4 ]; then
@@ -2486,8 +2486,8 @@ check_update_sha_bg() {
{ {
local _remote_sha local _remote_sha
_remote_sha=$(curl -fsSL --connect-timeout 5 --max-time 10 \ _remote_sha=$(curl -fsSL --connect-timeout 5 --max-time 10 \
"https://api.github.com/repos/${GITHUB_REPO}/commits/main" \ "https://dl.samnettech.com/api/v1/repos/${GITHUB_REPO}/branches/main" \
-H "Accept: application/vnd.github.sha" 2>/dev/null) || true 2>/dev/null | grep -o '"id":"[a-f0-9]*"' | head -1 | cut -d'"' -f4) || true
# Must be 40 lowercase hex chars # Must be 40 lowercase hex chars
if [ -n "$_remote_sha" ] && [ ${#_remote_sha} -ge 40 ]; then if [ -n "$_remote_sha" ] && [ ${#_remote_sha} -ge 40 ]; then
@@ -2523,7 +2523,7 @@ self_update() {
fi fi
local _script_updated=false local _script_updated=false
local _url="https://raw.githubusercontent.com/${GITHUB_REPO}/main/mtproxymax.sh" local _url="https://dl.samnettech.com/${GITHUB_REPO}/raw/branch/main/mtproxymax.sh"
echo "" echo ""
log_info "Checking for script updates..." log_info "Checking for script updates..."
@@ -2579,8 +2579,8 @@ self_update() {
# Save new commit SHA as baseline # Save new commit SHA as baseline
local _new_sha local _new_sha
_new_sha=$(curl -fsSL --connect-timeout 5 --max-time 10 \ _new_sha=$(curl -fsSL --connect-timeout 5 --max-time 10 \
"https://api.github.com/repos/${GITHUB_REPO}/commits/main" \ "https://dl.samnettech.com/api/v1/repos/${GITHUB_REPO}/branches/main" \
-H "Accept: application/vnd.github.sha" 2>/dev/null) || true 2>/dev/null | grep -o '"id":"[a-f0-9]*"' | head -1 | cut -d'"' -f4) || true
if [ -n "$_new_sha" ] && [ ${#_new_sha} -ge 40 ]; then if [ -n "$_new_sha" ] && [ ${#_new_sha} -ge 40 ]; then
_new_sha="${_new_sha:0:40}" _new_sha="${_new_sha:0:40}"
case "$_new_sha" in case "$_new_sha" in
@@ -5384,11 +5384,11 @@ show_info_autoupdate() {
draw_header "AUTO-UPDATE" draw_header "AUTO-UPDATE"
echo "" echo ""
echo -e " ${BOLD}How Auto-Update works:${NC}" echo -e " ${BOLD}How Auto-Update works:${NC}"
echo -e " MTProxyMax checks GitHub for new releases and can update" echo -e " MTProxyMax checks for new releases and can update"
echo -e " itself with a single command." echo -e " itself with a single command."
echo "" echo ""
echo -e " ${BOLD}Update process:${NC}" echo -e " ${BOLD}Update process:${NC}"
echo -e " 1. Query GitHub API for the latest release version" echo -e " 1. Query repository for the latest release version"
echo -e " 2. Compare with your installed version" echo -e " 2. Compare with your installed version"
echo -e " 3. If newer, prompt for confirmation" echo -e " 3. If newer, prompt for confirmation"
echo -e " 4. Backup current script to ${DIM}/opt/mtproxymax/backups/${NC}" echo -e " 4. Backup current script to ${DIM}/opt/mtproxymax/backups/${NC}"
@@ -5846,7 +5846,7 @@ show_about() {
draw_box_line " ${BOLD}Version:${NC} v${VERSION}" "$w" draw_box_line " ${BOLD}Version:${NC} v${VERSION}" "$w"
draw_box_line " ${BOLD}Engine:${NC} telemt v$(get_telemt_version) (Rust)" "$w" draw_box_line " ${BOLD}Engine:${NC} telemt v$(get_telemt_version) (Rust)" "$w"
draw_box_line " ${BOLD}License:${NC} MIT" "$w" draw_box_line " ${BOLD}License:${NC} MIT" "$w"
draw_box_line " ${BOLD}GitHub:${NC} github.com/${GITHUB_REPO}" "$w" draw_box_line " ${BOLD}Repository:${NC} git.samnet.dev/${GITHUB_REPO}" "$w"
draw_box_empty "$w" draw_box_empty "$w"
draw_box_sep "$w" draw_box_sep "$w"
draw_box_center "${BOLD}FEATURES${NC}" "$w" draw_box_center "${BOLD}FEATURES${NC}" "$w"