{"id":15108811,"url":"https://github.com/l-codes/neo-regeorg","last_synced_at":"2025-05-14T01:02:45.198Z","repository":{"id":37742929,"uuid":"195828566","full_name":"L-codes/Neo-reGeorg","owner":"L-codes","description":"Neo-reGeorg is a project that seeks to aggressively refactor reGeorg","archived":false,"fork":false,"pushed_at":"2025-02-18T07:26:54.000Z","size":415,"stargazers_count":3030,"open_issues_count":7,"forks_count":454,"subscribers_count":33,"default_branch":"master","last_synced_at":"2025-04-03T06:04:51.485Z","etag":null,"topics":["http-redirect","http-tunnel","neoreg","reduh","regeorg","socks-proxy","web-tunnel"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/L-codes.png","metadata":{"files":{"readme":"README-en.md","changelog":"CHANGELOG-en.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-07-08T14:25:42.000Z","updated_at":"2025-04-02T05:48:03.000Z","dependencies_parsed_at":"2023-02-17T13:31:17.700Z","dependency_job_id":"b4cb72e9-1c00-4834-95d8-de8dc90472c5","html_url":"https://github.com/L-codes/Neo-reGeorg","commit_stats":{"total_commits":217,"total_committers":9,"mean_commits":24.11111111111111,"dds":0.07373271889400923,"last_synced_commit":"9023241ec12bd33620b17043062b196ba1eb003c"},"previous_names":[],"tags_count":29,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/L-codes%2FNeo-reGeorg","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/L-codes%2FNeo-reGeorg/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/L-codes%2FNeo-reGeorg/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/L-codes%2FNeo-reGeorg/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/L-codes","download_url":"https://codeload.github.com/L-codes/Neo-reGeorg/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248201780,"owners_count":21064193,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["http-redirect","http-tunnel","neoreg","reduh","regeorg","socks-proxy","web-tunnel"],"created_at":"2024-09-25T22:40:46.614Z","updated_at":"2025-04-10T10:47:01.955Z","avatar_url":"https://github.com/L-codes.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Neo-reGeorg\n\n[简体中文](README.md)　｜　[English](README-en.md)\n\n**Neo-reGeorg** is a project designed to actively restructure [reGeorg](https://github.com/sensepost/reGeorg) with the aim of:\n\n* Improve usability and avoid feature detection\n* Improve tunnel connection security\n* Improve the confidentiality of transmission content\n* Solve the existing problems of reGeorg and fix some small bugs\n\n\u003e This tool is limited to safety research and teaching, and the user assumes all legal and related responsibilities caused by the use of this tool! The author does not bear any legal and related responsibilities!\n\n## Version\n\n5.2.1 - [Change Log](CHANGELOG-en.md)\n\n\n## python dependencies\n```ruby\npython -m pip install requests requests[socks]\n```\n\n## Features\n\n* The transmission content is encrypted by deformed base64 and disguised as base64 encoding\n* Use BLV (Byte-LengthOffset-Value) data format to transmit data\n* Direct request response can be customized (such as a disguised 404 page)\n* HTTP Headers can be customized\n* Support request template\n* Custom HTTP response code\n* Multiple URL random requests\n* Server-side DNS resolution\n* Compatible with python2 / python3\n* High compatibility of the server environment, such as the server is unstable, the server is only deployed on some machines under load balancing and other special circumstances\n* (php only) Refer to [pivotnacci](https://github.com/blackarrowsec/pivotnacci) to create multiple TCP connections for a single session, to deal with some load balancing scenarios\n* aspx/ashx/jsp/jspx no longer depends on Session, and can run normally in harsh environments such as no cookies\n* (non-php) supports intranet forwarding to deal with load balancing environment\n* Support process to start the server to deal with more scenarios\n\n\n## Basic Usage\n\n* **Step 1.**\nSet the password to generate tunnel server.(aspx|ashx|jsp|jspx|php) and upload it to the web server.\n```ruby\n$ python neoreg.py generate -k password\n\n    [+] Create neoreg server files:\n       =\u003e neoreg_servers/tunnel.jsp\n       =\u003e neoreg_servers/tunnel.jspx\n       =\u003e neoreg_servers/tunnel.ashx\n       =\u003e neoreg_servers/tunnel.aspx\n       =\u003e neoreg_servers/tunnel.php\n       =\u003e neoreg_servers/tunnel.go\n```\n\n* **Step 2.**\nUse `neoreg.py` to connect to the web server and create a socks5 proxy locally.\n```ruby\n$ python3 neoreg.py -k password -u http://xx/tunnel.php\n+------------------------------------------------------------------------+\n  Log Level set to [DEBUG]\n  Starting socks server [127.0.0.1:1080]\n  Tunnel at:\n    http://xx/tunnel.php\n+------------------------------------------------------------------------+\n```\n\n\n## Advanced Usage\n\n1. Support the generated server, by default directly requesting and responding to the specified page content (such as a disguised 404 page)\n```ruby\n$ python neoreg.py generate -k \u003cyou_password\u003e --file 404.html\n$ python neoreg.py -k \u003cyou_password\u003e -u \u003cserver_url\u003e --skip\n```\n\n2. For example, the server WEB needs to set the proxy to access\n```ruby\n$ python neoreg.py -k \u003cyou_password\u003e -u \u003cserver_url\u003e --proxy socks5://10.1.1.1:8080\n```\n\n3. To set `Authorization`, there are also custom `Header` or `Cookie` content.\n```ruby\n$ python neoreg.py -k \u003cyou_password\u003e -u \u003cserver_url\u003e -H 'Authorization: cm9vdDppcyB0d2VsdmU=' --cookie \"key=value;key2=value2\"\n```\n\n4. Need to disperse requests, upload to multiple paths, such as memory-webshell\n```ruby\n$ python neoreg.py -k \u003cyou_password\u003e -u \u003curl_1\u003e -u \u003curl_2\u003e -u \u003curl_3\u003e ...\n```\n\n5. Turn on http forwarding to cope with load balancing\n```ruby\n$ python neoreg.py -k \u003cyou_password\u003e -u \u003curl\u003e -r \u003credirect_url\u003e\n```\n\n6. Use the port forwarding function, do not start the socks5 service ( 127.0.0.1:1080 -\u003e ip:port )\n```ruby\n$ python neoreg.py -k \u003cyou_password\u003e -u \u003curl\u003e -t \u003cip:port\u003e\n```\n\n7. Set the request content template (you need to specify it when generating)\n```ruby\n# The request content will be replaced with NEOREGBODY\n$ python3 neoreg.py -k password -T 'img=data:image/png;base64,NEOREGBODY\u0026save=ok'\n$ python3 neoreg.py -k password -T 'img=data:image/png;base64,NEOREGBODY\u0026save=ok' -u http://127.0.0.1:8000/anysting\n\n# NOTE Allows template content to be written to a file -T file\n```\n\n8. Support the creation process to start a new Neoreg server-side, which can deal with harsh special environments\n```ruby\n$ go run neoreg_servers/tunnel.go 8000\n$ python3 neoreg.py -k password -u http://127.0.0.1:8000/anysting\n```\n\n* For more information on performance and stability parameters, refer to -h help information\n```ruby\n# Generate server-side scripts\n$ python neoreg.py generate -h\n    usage: neoreg.py [-h] -k KEY [-o DIR] [-f FILE] [-c CODE] [--read-buff Bytes]\n                     [--max-read-size KB]\n\n    Generate neoreg webshell\n\n    optional arguments:\n      -h, --help            show this help message and exit\n      -k KEY, --key KEY     Specify connection key.\n      -o DIR, --outdir DIR  Output directory.\n      -f FILE, --file FILE  Camouflage html page file\n      -c CODE, --httpcode CODE\n                            Specify HTTP response code. When using -r, it is\n                            recommended to \u003c400 (default: 200)\n      -T STR/FILE, --request-template STR/FILE\n                            HTTP request template (eg:\n                            'img=data:image/png;base64,NEOREGBODY\u0026save=ok')\n      --read-buff Bytes     Remote read buffer (default: 513)\n      --max-read-size KB    Remote max read size (default: 512)\n\n# Connection server\n    usage: neoreg.py [-h] -u URI [-r URL] [-R] [-t IP:PORT] -k KEY [-l IP]\n                     [-p PORT] [-s] [-H LINE] [-c LINE] [-x LINE]\n                     [--php] [--php-connect-timeout S] [--local-dns] [--read-buff KB]\n                     [--read-interval MS] [--write-interval MS] [--max-threads N]\n                     [--max-retry N] [--cut-left N] [--cut-right N]\n                     [--extract EXPR] [-v]\n\n    Socks server for Neoreg HTTP(s) tunneller (DEBUG MODE: -k debug)\n\n    optional arguments:\n      -h, --help            show this help message and exit\n      -u URI, --url URI     The url containing the tunnel script\n      -r URL, --redirect-url URL\n                            Intranet forwarding the designated server (only\n                            java/.net)\n      -R, --force-redirect  Forced forwarding (only -r)\n      -t IP:PORT, --target IP:PORT\n                            Network forwarding Target, After setting this\n                            parameter, port forwarding will be enabled\n      -k KEY, --key KEY     Specify connection key\n      -l IP, --listen-on IP\n                            The default listening address (default: 127.0.0.1)\n      -p PORT, --listen-port PORT\n                            The default listening port (default: 1080)\n      -s, --skip            Skip usability testing\n      -H LINE, --header LINE\n                            Pass custom header LINE to server\n      -c LINE, --cookie LINE\n                            Custom init cookies\n      -x LINE, --proxy LINE\n                            Proto://host[:port] Use proxy on given port\n      -T STR/FILE, --request-template STR/FILE\n                            HTTP request template (eg:\n                            'img=data:image/png;base64,NEOREGBODY\u0026save=ok')\n      --php                 Use php connection method\n      --php-connect-timeout S\n                            PHP connect timeout (default: 0.5)\n      --local-dns           Use local resolution DNS\n      --read-buff KB        Local read buffer, max data to be sent per POST\n                            (default: 7, max: 50)\n      --read-interval MS    Read data interval in milliseconds (default: 300)\n      --write-interval MS   Write data interval in milliseconds (default: 200)\n      --max-threads N       Proxy max threads (default: 400)\n      --max-retry N         Proxy max threads (default: 10)\n      --cut-left N          Truncate the left side of the response body\n      --cut-right N         Truncate the right side of the response body\n      --extract EXPR        Manually extract BODY content (eg:\n                            \u003chtml\u003e\u003cp\u003eNEOREGBODY\u003c/p\u003e\u003c/html\u003e )\n      -v                    Increase verbosity level (use -vv or more for greater\n                            effect)\n```\n\n\n## Remind\n\n* When running `neoreg.py` with high concurrency on Mac OSX, a large number of network requests will be lost. You can use `ulimit -n 2560` to modify the \"maximum number of open files\" of the current shell.\n\n\n## License\n\nGPL 3.0\n\n\n## Star History Chart\n\n[![Star History Chart](https://api.star-history.com/svg?repos=L-codes/Neo-reGeorg\u0026type=Date)](https://star-history.com/#L-codes/Neo-reGeorg\u0026Date)\n\n\u003cimg align='right' src=\"https://profile-counter.glitch.me/neo-regeorg/count.svg\" width=\"200\"\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fl-codes%2Fneo-regeorg","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fl-codes%2Fneo-regeorg","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fl-codes%2Fneo-regeorg/lists"}