### Configure suo5 to Use HTTP GET Method Source: https://github.com/zema1/suo5/blob/main/README_EN.md Illustrates how to configure `suo5` to send HTTP requests using the `GET` method, which can sometimes help bypass network restrictions. This is achieved using the `-m GET` option. ```bash $ ./suo5 -m GET -t https://example.com/proxy.jsp ``` -------------------------------- ### Run Wails Vue-TS Project in Live Development Mode Source: https://github.com/zema1/suo5/blob/main/gui/README.md Execute this command in the project directory to start the Wails application in live development mode. This enables a Vite development server for fast hot reloads of frontend changes and provides a dev server at `http://localhost:34115` for browser-based development and access to Go methods. ```Shell wails dev ``` -------------------------------- ### suo5 Command Line Usage and Global Options Source: https://github.com/zema1/suo5/blob/main/README_EN.md This section outlines the general usage of the `suo5` command-line tool, including its version, available commands, and a comprehensive list of global options. Options cover server configuration, network settings, authentication, and debugging. ```text USAGE: suo5 [global options] command [command options] [arguments...] VERSION: v0.9.0 COMMANDS: help, h Shows a list of commands or help for one command GLOBAL OPTIONS: --target value, -t value set the remote server url, ex: http://localhost:8080/tomcat_debug_war_exploded/ --listen value, -l value set the listen address of socks5 server (default: "127.0.0.1:1111") --method value, -m value http request method (default: "POST") --redirect value, -r value redirect to the url if host not matched, used to bypass load balance --no-auth disable socks5 authentication (default: true) --auth value socks5 creds, username:password, leave empty to auto generate --mode value connection mode, choices are auto, full, half (default: "auto") --ua value the user-agent used to send request (default: "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.1.2.3") --header value, -H value [ --header value, -H value ] use extra header, ex -H 'Cookie: abc' --timeout value http request timeout in seconds (default: 10) --buf-size value set the request max body size (default: 327680) --proxy value use upstream proxy, support both socks5 and http(s), eg: socks5://127.0.0.1:7890 --debug, -d debug the traffic, print more details (default: false) --no-heartbeat, --nh disable heartbeat to the remote server which will send data every 5s (default: false) --no-gzip, --ng disable gzip compression, which will improve compatibility with some old servers (default: false) --help, -h show help --version, -v print the version ``` -------------------------------- ### Connect suo5 to a Remote Target URL Source: https://github.com/zema1/suo5/blob/main/README_EN.md Demonstrates the most basic usage of `suo5` by specifying only the remote server URL using the `-t` flag. This establishes a connection to the designated proxy endpoint. ```bash $ ./suo5 -t https://example.com/proxy.jsp ``` -------------------------------- ### Build Wails Vue-TS Project for Production Source: https://github.com/zema1/suo5/blob/main/gui/README.md Use this command to compile and package the Wails application into a redistributable, production-ready binary. This prepares the application for deployment and distribution. ```Shell wails build ``` -------------------------------- ### Set suo5 Socks5 Server Listen Address and Authentication Source: https://github.com/zema1/suo5/blob/main/README_EN.md Shows how to customize the `suo5` socks5 server by setting its listening address to `0.0.0.0:7788` and configuring authentication credentials (username:password) using the `-l` and `--auth` flags. ```bash $ ./suo5 -t https://example.com/proxy.jsp -l 0.0.0.0:7788 --auth test:test123 ``` -------------------------------- ### Configure suo5 Domain/IP Filtering Rules Source: https://github.com/zema1/suo5/blob/main/README_EN.md Demonstrates how to configure `suo5` to filter out specific domains or IPs from being proxied, preventing meaningless connections. This can be done by specifying domains directly with `-E` or by providing a file containing a list of domains. ```bash # example.com and google.com do not use the proxy $ ./suo5 -t https://example.com/proxy.jsp -E example.com -E google.com # You can also put the domain list in a file, one per line $ ./suo5 -t https://example.com/proxy.jsp -E domains.txt # Notice: If you have configured a domain, you need to ensure that the suo5 proxy gets the domain itself, not the resolved IP, otherwise it will not take effect, for example: # Already resolved to IP: curl -v -x 'socks5://127.0.0.1:1111' https://example.com # Still a domain: curl -v -x 'socks5h://127.0.0.1:1111' https://example.com ``` -------------------------------- ### Redirect suo5 Traffic for Load Balancing Bypass Source: https://github.com/zema1/suo5/blob/main/README_EN.md Explains how to use the `-r` option to redirect traffic to a fixed URL, useful in load balancing environments where `suo5` needs to be uploaded to each backend service. This ensures traffic is directed to a specific IP if the host doesn't match. ```bash $ ./suo5 -t https://example.com/proxy.jsp -r http://172.0.3.2/code/proxy.jsp ``` -------------------------------- ### Instantiate MLet for Class Loading Source: https://github.com/zema1/suo5/blob/main/assets/java/Suo5WebFluxSpEL.txt This Java expression instantiates a `javax.management.loading.MLet` object. `MLet` is a class loader used in JMX for loading MBeans from remote URLs. In security contexts, it's often abused in deserialization vulnerabilities to load arbitrary classes from attacker-controlled URLs. The snippet uses `T(java.lang.Thread).currentThread().getContextClassLoader()` as the parent class loader, where `T()` is an unusual construct that might indicate a specific framework, decompiler output, or custom utility. ```Java new javax.management.loading.MLet(new java.net.URL[0],T(java.lang.Thread).currentThread().getContextClassLoader())).newInstance() ``` -------------------------------- ### Configure `isolatedModules` in `tsconfig.json` Source: https://github.com/zema1/suo5/blob/main/gui/frontend/READ-THIS.md This snippet shows how to configure `isolatedModules` in `tsconfig.json` to `false` as a workaround for a Vue.js compilation issue (vuejs/core#1228). This setting allows TypeScript to compile files even if they don't explicitly import or export anything, which can resolve certain module-related errors. ```JSON { "compilerOptions": { "isolatedModules": false } } ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.