mirror of
https://github.com/therealaleph/MasterHttpRelayVPN-RUST.git
synced 2026-05-18 07:44:47 +03:00
v0.7.1: Linux GLIBC 2.35 floor + scroll main window on short screens
Two user-reported issues.
=== GLIBC too new (reported via twitter) ===
Our linux-amd64 and linux-arm64 gnu builds were compiled on
ubuntu-latest (24.04, GLIBC 2.39), which means the resulting binaries
refuse to load on anything older:
./mhrv-rs: /lib/x86_64-linux-gnu/libc.so.6: version 'GLIBC_2.39'
not found (required by ./mhrv-rs)
Users on Ubuntu 22.04 / Mint 21 (GLIBC 2.35) — the typical user in Iran
where this project's target audience lives, and where they can't
dist-upgrade because they're behind exactly the kind of network
restriction this tool exists to bypass — could not run the gnu builds
at all.
Fix: pin the linux-gnu matrix entries to ubuntu-22.04 runners. GLIBC
2.35 is now the minimum; binaries load on Ubuntu 22.04, Mint 21,
Debian 12, Fedora 36+, RHEL 9+ and everything newer.
Users on older distros (Ubuntu 20.04, CentOS 7) can still use the
static musl builds (mhrv-rs-linux-musl-amd64.tar.gz et al.) which
have no GLIBC dependency at all.
=== Short-screen laptops — main window content clipped (PR #6) ===
Co-authored fix from @v4g4b0nd-0x76 in PR #6 (manually applied to
avoid pulling in 400 lines of unrelated cargo-fmt churn):
- Wrap the CentralPanel body in ScrollArea::vertical()
.auto_shrink([false; 2]) so everything stays reachable on short
screens.
- Lower the min_inner_size from [420, 540] to [420, 400] so laptops
with ~13" screens at default scaling can shrink the window without
clipping UI elements.
Closes #6.
Co-authored-by: v4g4b0nd-0x76 <v4g4b0nd-0x76@users.noreply.github.com>
This commit is contained in:
@@ -14,11 +14,17 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
|
# Pin to Ubuntu 22.04 (GLIBC 2.35) so the glibc builds run on any
|
||||||
|
# distro that's ≥ Ubuntu 22.04 / Debian 12 / Mint 21 / Fedora 36.
|
||||||
|
# ubuntu-latest points at 24.04 (GLIBC 2.39) which bakes in a
|
||||||
|
# too-new GLIBC symbol requirement and rejects loading on older
|
||||||
|
# distros. For users behind tight internet who literally can't
|
||||||
|
# dist-upgrade, this matters.
|
||||||
- target: x86_64-unknown-linux-gnu
|
- target: x86_64-unknown-linux-gnu
|
||||||
os: ubuntu-latest
|
os: ubuntu-22.04
|
||||||
name: mhrv-rs-linux-amd64
|
name: mhrv-rs-linux-amd64
|
||||||
- target: aarch64-unknown-linux-gnu
|
- target: aarch64-unknown-linux-gnu
|
||||||
os: ubuntu-latest
|
os: ubuntu-22.04
|
||||||
name: mhrv-rs-linux-arm64
|
name: mhrv-rs-linux-arm64
|
||||||
- target: x86_64-apple-darwin
|
- target: x86_64-apple-darwin
|
||||||
os: macos-latest
|
os: macos-latest
|
||||||
|
|||||||
Generated
+1
-1
@@ -1317,7 +1317,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "mhrv-rs"
|
name = "mhrv-rs"
|
||||||
version = "0.7.0"
|
version = "0.7.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"base64 0.22.1",
|
"base64 0.22.1",
|
||||||
"bytes",
|
"bytes",
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "mhrv-rs"
|
name = "mhrv-rs"
|
||||||
version = "0.7.0"
|
version = "0.7.1"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
description = "Rust port of MasterHttpRelayVPN -- DPI bypass via Google Apps Script relay with domain fronting"
|
description = "Rust port of MasterHttpRelayVPN -- DPI bypass via Google Apps Script relay with domain fronting"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
|
|||||||
+9
-1
@@ -39,7 +39,7 @@ fn main() -> eframe::Result<()> {
|
|||||||
let options = eframe::NativeOptions {
|
let options = eframe::NativeOptions {
|
||||||
viewport: egui::ViewportBuilder::default()
|
viewport: egui::ViewportBuilder::default()
|
||||||
.with_inner_size([WIN_WIDTH, WIN_HEIGHT])
|
.with_inner_size([WIN_WIDTH, WIN_HEIGHT])
|
||||||
.with_min_inner_size([420.0, 540.0])
|
.with_min_inner_size([420.0, 400.0])
|
||||||
.with_title(format!("mhrv-rs {}", VERSION)),
|
.with_title(format!("mhrv-rs {}", VERSION)),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
};
|
};
|
||||||
@@ -409,6 +409,13 @@ impl eframe::App for App {
|
|||||||
egui::CentralPanel::default().show(ctx, |ui| {
|
egui::CentralPanel::default().show(ctx, |ui| {
|
||||||
ui.style_mut().spacing.item_spacing = egui::vec2(8.0, 6.0);
|
ui.style_mut().spacing.item_spacing = egui::vec2(8.0, 6.0);
|
||||||
|
|
||||||
|
// Wrap the whole central panel in a vertical scroll area so the
|
||||||
|
// form + stats + log panel stay accessible on short screens
|
||||||
|
// (~13" laptops at default scaling). Nested scroll areas still
|
||||||
|
// work fine within this outer scroller.
|
||||||
|
egui::ScrollArea::vertical()
|
||||||
|
.auto_shrink([false; 2])
|
||||||
|
.show(ui, |ui| {
|
||||||
ui.horizontal(|ui| {
|
ui.horizontal(|ui| {
|
||||||
ui.label(egui::RichText::new(format!("mhrv-rs {}", VERSION))
|
ui.label(egui::RichText::new(format!("mhrv-rs {}", VERSION))
|
||||||
.size(16.0));
|
.size(16.0));
|
||||||
@@ -736,6 +743,7 @@ impl eframe::App for App {
|
|||||||
self.toast = None;
|
self.toast = None;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}); // end ScrollArea
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user