Minecraft proxy

Overview

mc-proxy

This is a fully functional proxy for online and offline-mode Minecraft servers. It is based on an optimized, custom-made packet parser for Minecraft 1.8+ (tested up to 1.16), and minimizes memory usage by parsing the packets in a streaming fashion rather than loading them into memory all at once.

The codebase contains both a client and a server. Packets received by the server are forwarded to the client, and vice versa, but packets can be intercepted and/or rewritten dynamically. The server does not support compression or online-mode and there are no plans to add this, since it would only reduce performance, though implementing it is possible if desired. Although the client does not currently supports only Mojang authentication (accounts migrated to Microsoft will not work), adding support for Microsoft is planned.

The default implementation in lib.rs adds a stat checker for Hypixel. The binary must currently be called with your Minecraft username, password, and Hypixel API key as environment variables (very secure, I know). There's a WIP GUI wrapper written with Tauri in src-tauri.

The main purpose of this particular project is proxying and adding custom command support, but it is generic enough to support a wide variety of network-level plugins, which work on any Minecraft client. Since this codebase implements packet parsing and authentication from scratch, feel free to fork it and do whatever you want with the core architecture.

TODOs

  • Improve performance - buffering the TCP streams could be useful
  • Make more extensible - add an on-the-fly command creation system
  • Add a GUI for server selection
  • Fix bugs (there are a lot)
  • Fix warnings (there are even more)
You might also like...
Hudsucker is a MITM HTTP/S proxy written in Rust.

hudsucker Hudsucker is a MITM HTTP/S proxy written in Rust. Features Modify HTTP/S requests Modify HTTP/S responses Modify websocket messages Usage Fo

Simple and fast layer 4 proxy in Rust

Fourth 这一波在第四层。 English Fourth是一个Rust实现的Layer 4代理,用于监听指定端口TCP流量,并根据规则转发到指定目标。 功能 监听指定端口代理到本地或远端指定端口 监听指定端口,通过TLS ClientHello消息中的SNI进行分流 安装方法 为了确保获得您架构

Drop-in proxy for Discord gateway connections and sessions allowing for zero downtime deploys

gateway-proxy This is a very hacky project, so it might stop working if Discord changes their API core. This is unlikely, but keep that in mind while

A remote shell, TCP tunnel and HTTP proxy for Replit.
A remote shell, TCP tunnel and HTTP proxy for Replit.

Autobahn A remote shell, TCP tunnel and HTTP proxy for Replit. Hybrid SSH/HTTP server for Replit. Based on leon332157/replish. Autobahn runs a WebSock

Hybrid Traffic Mesh Proxy

Hybrid Traffic Mesh Proxy L7 proxy on kubernetes dependencies: routeagent: refresh proxy routes fetched with k8s sdk register routes curl -v --unix-s

Shotover: L7 data-layer proxy
Shotover: L7 data-layer proxy

Shotover: L7 data-layer proxy

A high performence Socks5 proxy server with bind/reverse support implementation by Rust.

rsocx A high performence Socks5 proxy server with bind/reverse support implementation by Rust Features Async-std No unsafe code Single executable Linu

Image proxy and embed generator.
Image proxy and embed generator.

January Description Image proxy and metadata scraper. Features: Can scrape metadata from websites, e.g. OpenGraph Can scrape embeds from websites, e.g

A tcp proxy server/client which exchange the data in temp files

ftcp A tcp proxy server/client which exchange the data in temp files 通过在临时文件中交换数据来进行TCP代理的一个服务端/客户端 学校内网中有针对教学楼的防火墙导致教室电脑难以上网( 但学校内建有公共ftp服务器,因此就有了这个借

Comments
  • No longer builds?

    No longer builds?

    After this https://github.com/101arrowz/mc-proxy/commit/3e855d58061768acbfa1c743790aa481710f8563

    error[E0658]: use of unstable library feature 'iter_intersperse': recently added
       --> src/main.rs:195:105
        |
    195 | ...                   extra: Some(display.into_iter().intersperse(Chat::Raw(", ".into())).collect()),
        |                                                       ^^^^^^^^^^^
        |
        = note: see issue #79524 <https://github.com/rust-lang/rust/issues/79524> for more information
        = help: add `#![feature(iter_intersperse)]` to the crate attributes to enable
    
    For more information about this error, try `rustc --explain E0658`.
    

    No longer builds, but as compiler suggest add #![feature(iter_intersperse)] this

    opened by iamtakingithard 4
  • Why does not proxy work with the Microsoft account?

    Why does not proxy work with the Microsoft account?

    We noticed that this proxy doesn't work in login with Microsoft, and if it's possible, we want to know what is the technical blocker to do this in terms of network that is to say, which is the weakness of this proxy in technical terms (maybe http x protocol?) to not allow the authentication with Microsoft.

    Thanks for your response.

    Good job!

    opened by jesus-mg-ios 2
Owner
null
Hopper - Fast, configurable, lightweight Reverse Proxy for Minecraft

Hopper Hopper is a lightweight reverse proxy for minecraft. It allows you to connect multiple servers under the same IP and port, with additional func

Pietro 174 Jun 29, 2023
Proxy sentry request to a sentry server using a tunnel/proxy endpoint

Sentry Tunnel This is a proxy that forwards tunneled sentry requests to the real sentry server. The implementation is based on the explanation provide

Paul FLORENCE 14 Dec 20, 2022
UDP proxy with Proxy Protocol and mmproxy support

udppp UDP proxy with Proxy Protocol and mmproxy support. Features Async Support Proxy Protocol V2 SOCKET preserve client IP addresses in L7 proxies(mm

b23r0 10 Dec 18, 2022
Lightweight proxy that allows redirect HTTP(S) traffic through a proxy.

Proxyswarm Proxyswarm is a lightweight proxy that allows redirect HTTP(S) traffic through a proxy. WARNING: This app isn't recomended for download lar

Jorge Alejandro Jimenez Luna 4 Apr 16, 2022
Web3-proxy: a fast caching and load balancing proxy for web3 (Ethereum or similar) JsonRPC servers.

web3-proxy Web3-proxy is a fast caching and load balancing proxy for web3 (Ethereum or similar) JsonRPC servers. Signed transactions (eth_sendRawTrans

null 55 Jan 8, 2023
A TCP proxy using HTTP - Reach SSH behind a Nginx reverse proxy

?? TCP over HTTP ?? The Questions ?? What does it do? You can proxy TCP traffic over HTTP. A basic setup would be: [Your TCP target] <--TCP-- [Exit No

Julian 185 Dec 15, 2022
Easy per application transparent proxy built on cgroup.

cproxy can redirect TCP and UDP traffic made by a program to a proxy, without requiring the program supporting a proxy. Compared to many existi

Xiangru Lian 263 Dec 20, 2022
server security proxy write by Rust

server-security-proxy server security proxy write by Rust how to use config toml file

baoyachi. Aka Rust Hairy crabs 3 May 24, 2021
A tcp over http2 + tls proxy

mtunnel A tcp over http2 + tls proxy. Usage 1. get certificates, by following steps. 2. make your config client config: { "local_addr": "127.0.0.1

cssivision 9 Sep 5, 2022
A versatile and efficient proxy framework with nice features suitable for various use cases.

A versatile and efficient proxy framework with nice features suitable for various use cases.

null 1.7k Jan 9, 2023