magic
This commit is contained in:
Vendored
+1
-1
@@ -1 +1 @@
|
|||||||
34db7ab1ec383bb6d9b8290e637bff96
|
2dc2bf976cc7f7e4290393be391d9eb4
|
||||||
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
+2
-2
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"version": "0.6.0",
|
"version": "0.7.0",
|
||||||
"updated": true,
|
"updated": true,
|
||||||
"log": "Way better chams\nbetter credits\nBlocked LMB from aimbot bind\nRescan Sober button\nbetter credits\nfixed overflow crash\nperformance fix"
|
"log": "added menu and overlay in egui\nadded: panic key\nadded: hyprland support\n \n\n fixed: fov follows mouse drifting in shiftlock\n fixed: fov override flickering between game fov and custom fov\n fixed: esp not rendering on multiple monitors. (unverified)\n\n fixed: aimbot not switching targets after a kill without releasing the key\n fixed: aimbot staying locked on a target outside max range\n fixed: fov follows mouse not working"
|
||||||
}
|
}
|
||||||
+21
-20
@@ -19,13 +19,13 @@ error() {
|
|||||||
echo -e "${RED}[x]${NC} $1"
|
echo -e "${RED}[x]${NC} $1"
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
command -v curl >/dev/null 2>&1 || error "curl is required"
|
command -v curl >/dev/null 2>&1 || error "curl is required"
|
||||||
command -v md5sum >/dev/null 2>&1 || error "md5sum is required"
|
command -v md5sum >/dev/null 2>&1 || error "md5sum is required"
|
||||||
|
command -v tar >/dev/null 2>&1 || error "tar is required"
|
||||||
|
|
||||||
mkdir -p "${INSTALL_DIR}/external" "${INSTALL_DIR}/internal"
|
mkdir -p "${INSTALL_DIR}/external" "${INSTALL_DIR}/internal"
|
||||||
|
|
||||||
download_bin() {
|
download() {
|
||||||
local url="$1" dest="$2"
|
local url="$1" dest="$2"
|
||||||
local tmp; tmp="$(mktemp)"
|
local tmp; tmp="$(mktemp)"
|
||||||
curl -fsSL -o "$tmp" "$url" || { rm -f "$tmp"; return 1; }
|
curl -fsSL -o "$tmp" "$url" || { rm -f "$tmp"; return 1; }
|
||||||
@@ -36,12 +36,10 @@ install_edition() {
|
|||||||
local edition="$1"
|
local edition="$1"
|
||||||
local status_url="${BASE_URL}/${edition}/status.json"
|
local status_url="${BASE_URL}/${edition}/status.json"
|
||||||
local status_file="${INSTALL_DIR}/${edition}/status.json"
|
local status_file="${INSTALL_DIR}/${edition}/status.json"
|
||||||
local bin_dir="${INSTALL_DIR}/${edition}/linusware"
|
|
||||||
local bin_path="${bin_dir}/linusware"
|
|
||||||
|
|
||||||
info "Checking ${edition} edition..."
|
info "Checking ${edition} edition..."
|
||||||
|
|
||||||
download_bin "$status_url" "$status_file" || {
|
download "$status_url" "$status_file" || {
|
||||||
warn "Could not fetch status.json for ${edition}, skipping"
|
warn "Could not fetch status.json for ${edition}, skipping"
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@@ -59,37 +57,40 @@ install_edition() {
|
|||||||
|
|
||||||
local md5_url="${BASE_URL}/${edition}/bin/MD5SUM"
|
local md5_url="${BASE_URL}/${edition}/bin/MD5SUM"
|
||||||
local md5_file; md5_file="$(mktemp)"
|
local md5_file; md5_file="$(mktemp)"
|
||||||
download_bin "$md5_url" "$md5_file" || {
|
download "$md5_url" "$md5_file" || {
|
||||||
rm -f "$md5_file"
|
rm -f "$md5_file"
|
||||||
warn "Could not fetch MD5SUM for ${edition}"
|
warn "Could not fetch MD5SUM for ${edition}"
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
local expected_hash; expected_hash=$(tr -cd '[:xdigit:]' < "$md5_file"); rm -f "$md5_file"
|
local expected_hash
|
||||||
|
expected_hash=$(tr -cd '[:xdigit:]' < "$md5_file"); rm -f "$md5_file"
|
||||||
|
|
||||||
local bin_url="${BASE_URL}/${edition}/bin/linusware"
|
local archive_url="${BASE_URL}/${edition}/bin/linusware.tar.gz"
|
||||||
local tmp_bin; tmp_bin="$(mktemp)"
|
local tmp_archive; tmp_archive="$(mktemp)"
|
||||||
download_bin "$bin_url" "$tmp_bin" || {
|
download "$archive_url" "$tmp_archive" || {
|
||||||
rm -f "$tmp_bin"
|
rm -f "$tmp_archive"
|
||||||
error "Failed to download ${edition} binary"
|
error "Failed to download ${edition} archive"
|
||||||
}
|
}
|
||||||
|
|
||||||
local actual_hash
|
local actual_hash
|
||||||
actual_hash=$(md5sum "$tmp_bin" | cut -d' ' -f1)
|
actual_hash=$(md5sum "$tmp_archive" | cut -d' ' -f1)
|
||||||
if [ "$actual_hash" != "$expected_hash" ]; then
|
if [ "$actual_hash" != "$expected_hash" ]; then
|
||||||
rm -f "$tmp_bin"
|
rm -f "$tmp_archive"
|
||||||
error "MD5 mismatch for ${edition} (expected ${expected_hash}, got ${actual_hash})"
|
error "MD5 mismatch for ${edition} (expected ${expected_hash}, got ${actual_hash})"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
mkdir -p "$bin_dir"
|
rm -rf "${INSTALL_DIR}/${edition}/linusware"
|
||||||
mv "$tmp_bin" "$bin_path"
|
tar -xzf "$tmp_archive" -C "${INSTALL_DIR}/${edition}"
|
||||||
chmod +x "$bin_path"
|
rm -f "$tmp_archive"
|
||||||
|
|
||||||
|
local run_path="${INSTALL_DIR}/${edition}/linusware/run.sh"
|
||||||
|
chmod +x "$run_path"
|
||||||
echo "$version" > "${INSTALL_DIR}/${edition}/version.txt"
|
echo "$version" > "${INSTALL_DIR}/${edition}/version.txt"
|
||||||
|
|
||||||
info "${edition} v${version} installed successfully"
|
info "${edition} v${version} installed successfully"
|
||||||
}
|
}
|
||||||
|
|
||||||
# main
|
# main
|
||||||
|
|
||||||
info "Installing LinusWare to ${INSTALL_DIR}"
|
info "Installing LinusWare to ${INSTALL_DIR}"
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
@@ -97,8 +98,8 @@ install_edition external
|
|||||||
install_edition internal
|
install_edition internal
|
||||||
|
|
||||||
info "Downloading launcher and updater..."
|
info "Downloading launcher and updater..."
|
||||||
download_bin "${BASE_URL}/launcher.sh" "${INSTALL_DIR}/launcher.sh"
|
download "${BASE_URL}/launcher.sh" "${INSTALL_DIR}/launcher.sh"
|
||||||
download_bin "${BASE_URL}/update.sh" "${INSTALL_DIR}/update.sh"
|
download "${BASE_URL}/update.sh" "${INSTALL_DIR}/update.sh"
|
||||||
chmod +x "${INSTALL_DIR}/launcher.sh" "${INSTALL_DIR}/update.sh"
|
chmod +x "${INSTALL_DIR}/launcher.sh" "${INSTALL_DIR}/update.sh"
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
|
|||||||
+6
-7
@@ -6,15 +6,14 @@ YELLOW='\033[1;33m'
|
|||||||
CYAN='\033[0;36m'
|
CYAN='\033[0;36m'
|
||||||
NC='\033[0m'
|
NC='\033[0m'
|
||||||
|
|
||||||
# discover bins
|
|
||||||
declare -a editions edition_names
|
declare -a editions edition_names
|
||||||
for dir in "${INSTALL_DIR}"/*/; do
|
for dir in "${INSTALL_DIR}"/*/; do
|
||||||
[ -d "$dir" ] || continue
|
[ -d "$dir" ] || continue
|
||||||
edition=$(basename "$dir")
|
edition=$(basename "$dir")
|
||||||
bin="${dir}/linusware/linusware"
|
run="${dir}/linusware/run.sh"
|
||||||
if [ -f "$bin" ] && [ -x "$bin" ]; then
|
if [ -f "$run" ] && [ -x "$run" ]; then
|
||||||
edition_names+=("$edition")
|
edition_names+=("$edition")
|
||||||
editions+=("$bin")
|
editions+=("$run")
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
@@ -55,12 +54,12 @@ if command -v whiptail >/dev/null 2>&1; then
|
|||||||
choice=$(whiptail --title "LinusWare Launcher" \
|
choice=$(whiptail --title "LinusWare Launcher" \
|
||||||
--menu "Select an edition to launch:" \
|
--menu "Select an edition to launch:" \
|
||||||
15 55 5 "${menu_items[@]}" \
|
15 55 5 "${menu_items[@]}" \
|
||||||
3>&1 1>&2 2>&3) || choice="Q"
|
3>&1 1>&2 2>&3) || choice="q"
|
||||||
|
|
||||||
case "$choice" in
|
case "$choice" in
|
||||||
u) run_updater;;
|
u) run_updater;;
|
||||||
q|"") exit 0;;
|
q|"") exit 0;;
|
||||||
*) [[ "$choice" =~ ^[0-9]+$ ]] && exec sudo "${editions[$((choice-1))]}" ;;
|
*) [[ "$choice" =~ ^[0-9]+$ ]] && exec "${editions[$((choice-1))]}" ;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
@@ -85,7 +84,7 @@ while true; do
|
|||||||
if [[ "$choice" =~ ^[0-9]+$ ]] && \
|
if [[ "$choice" =~ ^[0-9]+$ ]] && \
|
||||||
[ "$choice" -ge 1 ] && \
|
[ "$choice" -ge 1 ] && \
|
||||||
[ "$choice" -le "${#editions[@]}" ]; then
|
[ "$choice" -le "${#editions[@]}" ]; then
|
||||||
exec sudo "${editions[$((choice-1))]}"
|
exec "${editions[$((choice-1))]}"
|
||||||
else
|
else
|
||||||
echo -e "${RED}Invalid choice${NC}"
|
echo -e "${RED}Invalid choice${NC}"
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ error() {
|
|||||||
|
|
||||||
command -v curl >/dev/null 2>&1 || { error "curl is required"; exit 1; }
|
command -v curl >/dev/null 2>&1 || { error "curl is required"; exit 1; }
|
||||||
command -v md5sum >/dev/null 2>&1 || { error "md5sum is required"; exit 1; }
|
command -v md5sum >/dev/null 2>&1 || { error "md5sum is required"; exit 1; }
|
||||||
|
command -v tar >/dev/null 2>&1 || { error "tar is required"; exit 1; }
|
||||||
|
|
||||||
download() {
|
download() {
|
||||||
local url="$1" dest="$2"
|
local url="$1" dest="$2"
|
||||||
@@ -31,10 +32,10 @@ download() {
|
|||||||
|
|
||||||
update_edition() {
|
update_edition() {
|
||||||
local edition="$1"
|
local edition="$1"
|
||||||
local bin_path="${INSTALL_DIR}/${edition}/linusware/linusware"
|
local run_path="${INSTALL_DIR}/${edition}/linusware/run.sh"
|
||||||
local ver_file="${INSTALL_DIR}/${edition}/version.txt"
|
local ver_file="${INSTALL_DIR}/${edition}/version.txt"
|
||||||
|
|
||||||
[ -f "$bin_path" ] || return
|
[ -f "$run_path" ] || return
|
||||||
|
|
||||||
local cur_ver=""
|
local cur_ver=""
|
||||||
[ -f "$ver_file" ] && cur_ver=$(cat "$ver_file")
|
[ -f "$ver_file" ] && cur_ver=$(cat "$ver_file")
|
||||||
@@ -69,25 +70,30 @@ update_edition() {
|
|||||||
warn "${edition}: could not fetch MD5SUM"
|
warn "${edition}: could not fetch MD5SUM"
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
local expected_hash; expected_hash=$(tr -cd '[:xdigit:]' < "$md5_file"); rm -f "$md5_file"
|
local expected_hash
|
||||||
|
expected_hash=$(tr -cd '[:xdigit:]' < "$md5_file"); rm -f "$md5_file"
|
||||||
|
|
||||||
local tmp_bin; tmp_bin="$(mktemp)"
|
local tmp_archive; tmp_archive="$(mktemp)"
|
||||||
if ! download "${BASE_URL}/${edition}/bin/linusware" "$tmp_bin"; then
|
if ! download "${BASE_URL}/${edition}/bin/linusware.tar.gz" "$tmp_archive"; then
|
||||||
rm -f "$tmp_bin"
|
rm -f "$tmp_archive"
|
||||||
warn "${edition}: download failed"
|
warn "${edition}: download failed"
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
local actual_hash
|
local actual_hash
|
||||||
actual_hash=$(md5sum "$tmp_bin" | cut -d' ' -f1)
|
actual_hash=$(md5sum "$tmp_archive" | cut -d' ' -f1)
|
||||||
if [ "$actual_hash" != "$expected_hash" ]; then
|
if [ "$actual_hash" != "$expected_hash" ]; then
|
||||||
rm -f "$tmp_bin"
|
rm -f "$tmp_archive"
|
||||||
error "${edition}: MD5 mismatch"
|
error "${edition}: MD5 mismatch"
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
mv "$tmp_bin" "$bin_path"
|
rm -rf "${INSTALL_DIR}/${edition}/linusware"
|
||||||
chmod +x "$bin_path"
|
tar -xzf "$tmp_archive" -C "${INSTALL_DIR}/${edition}"
|
||||||
|
rm -f "$tmp_archive"
|
||||||
|
|
||||||
|
local new_run="${INSTALL_DIR}/${edition}/linusware/run.sh"
|
||||||
|
chmod +x "$new_run"
|
||||||
echo "$remote_ver" > "$ver_file"
|
echo "$remote_ver" > "$ver_file"
|
||||||
info "${edition}: updated to v${remote_ver}"
|
info "${edition}: updated to v${remote_ver}"
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user