rcoder 2.0.0__tar.gz → 2.0.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. rcoder-2.0.2/PKG-INFO +260 -0
  2. rcoder-2.0.2/rcoder/__init__.py +0 -0
  3. {rcoder-2.0.0 → rcoder-2.0.2}/rcoder/async_proxy.py +23 -56
  4. rcoder-2.0.2/rcoder.egg-info/PKG-INFO +260 -0
  5. {rcoder-2.0.0 → rcoder-2.0.2}/rcoder.egg-info/SOURCES.txt +2 -1
  6. {rcoder-2.0.0 → rcoder-2.0.2}/rcoder.egg-info/entry_points.txt +1 -0
  7. rcoder-2.0.2/rcoder.egg-info/not-zip-safe +1 -0
  8. rcoder-2.0.2/rcoder.egg-info/requires.txt +11 -0
  9. rcoder-2.0.2/setup.py +54 -0
  10. rcoder-2.0.0/PKG-INFO +0 -97
  11. rcoder-2.0.0/pyproject.toml +0 -50
  12. rcoder-2.0.0/rcoder/__init__.py +0 -9
  13. rcoder-2.0.0/rcoder.egg-info/PKG-INFO +0 -97
  14. rcoder-2.0.0/rcoder.egg-info/requires.txt +0 -2
  15. {rcoder-2.0.0 → rcoder-2.0.2}/LICENSE +0 -0
  16. {rcoder-2.0.0 → rcoder-2.0.2}/MANIFEST.in +0 -0
  17. {rcoder-2.0.0 → rcoder-2.0.2}/README.md +0 -0
  18. {rcoder-2.0.0 → rcoder-2.0.2}/rcoder/async_feedback.py +0 -0
  19. {rcoder-2.0.0 → rcoder-2.0.2}/rcoder/auto_optimizer.py +0 -0
  20. {rcoder-2.0.0 → rcoder-2.0.2}/rcoder/cli.py +0 -0
  21. {rcoder-2.0.0 → rcoder-2.0.2}/rcoder/cli_enhanced.py +0 -0
  22. {rcoder-2.0.0 → rcoder-2.0.2}/rcoder/conversational_config.py +0 -0
  23. {rcoder-2.0.0 → rcoder-2.0.2}/rcoder/core.py +0 -0
  24. {rcoder-2.0.0 → rcoder-2.0.2}/rcoder/core_optimized.py +0 -0
  25. {rcoder-2.0.0 → rcoder-2.0.2}/rcoder/process_manager.py +0 -0
  26. {rcoder-2.0.0 → rcoder-2.0.2}/rcoder/remote_tools.py +0 -0
  27. {rcoder-2.0.0 → rcoder-2.0.2}/rcoder/server_installer.py +0 -0
  28. {rcoder-2.0.0 → rcoder-2.0.2}/rcoder/utils.py +0 -0
  29. {rcoder-2.0.0 → rcoder-2.0.2}/rcoder.egg-info/dependency_links.txt +0 -0
  30. {rcoder-2.0.0 → rcoder-2.0.2}/rcoder.egg-info/top_level.txt +0 -0
  31. {rcoder-2.0.0 → rcoder-2.0.2}/setup.cfg +0 -0
rcoder-2.0.2/PKG-INFO ADDED
@@ -0,0 +1,260 @@
1
+ Metadata-Version: 2.4
2
+ Name: rcoder
3
+ Version: 2.0.2
4
+ Summary: Remote server management and SSH tunnel connections with HTTPS disguise
5
+ Home-page: https://github.com/YKaiXu/rcoder
6
+ Author: YuKaiXu
7
+ Author-email: yukaixu@outlook.com
8
+ Classifier: Development Status :: 4 - Beta
9
+ Classifier: Intended Audience :: Developers
10
+ Classifier: Intended Audience :: System Administrators
11
+ Classifier: License :: OSI Approved :: MIT License
12
+ Classifier: Operating System :: OS Independent
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3.7
15
+ Classifier: Programming Language :: Python :: 3.8
16
+ Classifier: Programming Language :: Python :: 3.9
17
+ Classifier: Programming Language :: Python :: 3.10
18
+ Classifier: Programming Language :: Python :: 3.11
19
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
20
+ Classifier: Topic :: System :: Networking
21
+ Classifier: Topic :: System :: Systems Administration
22
+ Requires-Python: >=3.7
23
+ Description-Content-Type: text/markdown
24
+ License-File: LICENSE
25
+ Requires-Dist: asyncssh>=2.14.0
26
+ Requires-Dist: cryptography>=41.0.0
27
+ Requires-Dist: psutil>=5.9.8
28
+ Requires-Dist: python-daemon>=3.0.1
29
+ Requires-Dist: requests>=2.31.0
30
+ Requires-Dist: websockets>=11.0.3
31
+ Requires-Dist: aiofiles>=23.2.1
32
+ Requires-Dist: aiohttp>=3.8.6
33
+ Requires-Dist: paramiko>=3.3.1
34
+ Requires-Dist: asyncio-mqtt>=0.16.1
35
+ Requires-Dist: jsonrpc-base>=2.0.0
36
+ Dynamic: author
37
+ Dynamic: author-email
38
+ Dynamic: classifier
39
+ Dynamic: description
40
+ Dynamic: description-content-type
41
+ Dynamic: home-page
42
+ Dynamic: license-file
43
+ Dynamic: requires-dist
44
+ Dynamic: requires-python
45
+ Dynamic: summary
46
+
47
+ # rcoder - Remote Server Management & SSH Tunnel Connections
48
+
49
+ A Python package for remote server management and SSH tunnel connections with advanced features like HTTPS disguise, proxy support, and automatic optimization.
50
+
51
+ [![Version](https://img.shields.io/badge/version-1.0.5-blue.svg)](https://pypi.org/project/rcoder/)
52
+ [![Python](https://img.shields.io/badge/python-3.7+-green.svg)](https://www.python.org/downloads/)
53
+ [![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
54
+
55
+ ## ⚠️ Legal Disclaimer & Terms of Use
56
+
57
+ **IMPORTANT - READ BEFORE USE:**
58
+
59
+ This software is provided for legitimate system administration, development, and educational purposes only. Users are solely responsible for ensuring compliance with all applicable laws, regulations, and ethical guidelines in their jurisdiction.
60
+
61
+ ### 🔒 Security & Privacy Notice
62
+ - **No Hardcoded Credentials**: This package contains no hardcoded passwords, API keys, or authentication tokens
63
+ - **User Responsibility**: All authentication credentials must be provided by the user through secure configuration
64
+ - **Network Security**: Users must implement appropriate security measures for their network connections
65
+ - **Data Protection**: Users are responsible for protecting any data transmitted through this software
66
+
67
+ ### 📋 Terms of Use
68
+ 1. **Lawful Use Only**: This software may only be used for lawful purposes with proper authorization
69
+ 2. **No Malicious Activities**: Prohibited from using for unauthorized access, data theft, or any illegal activities
70
+ 3. **Compliance**: Users must comply with all applicable local, national, and international laws
71
+ 4. **Authorization**: Users must have explicit permission to access any systems they connect to
72
+ 5. **Liability**: Developers disclaim all liability for misuse or damages resulting from use of this software
73
+
74
+ ### 🚨 Security Warnings
75
+ - **SSH Security**: Always use strong passwords and SSH keys for authentication
76
+ - **Network Encryption**: Ensure all connections use proper encryption protocols
77
+ - **Access Control**: Implement proper access controls and monitoring
78
+ - **Regular Updates**: Keep the software and dependencies updated for security patches
79
+
80
+ ## 🚀 Features
81
+
82
+ - ✅ **Asynchronous SSH Connections** - Based on asyncssh for stable, long-term sessions
83
+ - ✅ **HTTPS Disguise** - Traffic disguised as HTTPS for better connectivity
84
+ - ✅ **Proxy Support** - Full support for proxy servers and relay connections
85
+ - ✅ **Auto-Optimization** - Intelligent command optimization for different network conditions
86
+ - ✅ **Concurrent Operations** - Support for multiple concurrent connections
87
+ - ✅ **Error Handling** - Comprehensive error handling and recovery mechanisms
88
+ - ✅ **File Transfer** - Secure file upload/download capabilities
89
+ - ✅ **Remote Management** - Complete remote server management toolkit
90
+
91
+ ## 📦 Installation
92
+
93
+ ```bash
94
+ pip install rcoder==1.0.5
95
+ ```
96
+
97
+ ## 🔧 Quick Start
98
+
99
+ ### Basic Usage
100
+
101
+ ```python
102
+ import asyncio
103
+ from rcoder.core import RcoderCore, RemoteHost
104
+
105
+ async def main():
106
+ # Create Rcoder core instance
107
+ rcoder_core = RcoderCore(
108
+ host="your-server.com",
109
+ port=22,
110
+ use_https_disguise=True,
111
+ proxy_server=("proxy.your-server.com", 443) # Optional proxy
112
+ )
113
+
114
+ # Create remote host instance
115
+ remote_host = RemoteHost(rcoder_core, server="my-server")
116
+
117
+ # Execute commands
118
+ result = remote_host.run("echo 'Hello from rcoder!' && hostname")
119
+ print(f"Result: {result}")
120
+
121
+ # List files
122
+ files = remote_host.ls("/tmp")
123
+ print(f"Files: {files}")
124
+
125
+ if __name__ == "__main__":
126
+ asyncio.run(main())
127
+ ```
128
+
129
+ ### Command Line Interface
130
+
131
+ ```bash
132
+ # Basic connection
133
+ rcoder connect --host your-server.com --username your-user
134
+
135
+ # With proxy
136
+ rcoder connect --host target-server.com --proxy proxy-server.com --port 443
137
+
138
+ # Execute command
139
+ rcoder exec --host your-server.com --command "ls -la /tmp"
140
+ ```
141
+
142
+ ## 🎯 Advanced Features
143
+
144
+ ### Network Optimization
145
+
146
+ ```python
147
+ from rcoder.auto_optimizer import AutoOptimizer
148
+
149
+ # Create optimizer for low bandwidth scenarios
150
+ optimizer = AutoOptimizer()
151
+
152
+ # Optimize commands for current network conditions
153
+ optimized_cmd = optimizer.optimize_command("ls -la /tmp/")
154
+ print(f"Optimized: {optimized_cmd}")
155
+ ```
156
+
157
+ ### Concurrent Operations
158
+
159
+ ```python
160
+ import asyncio
161
+ from rcoder.async_proxy import AsyncProxyManager
162
+
163
+ async def concurrent_tasks():
164
+ # Create proxy manager for multiple connections
165
+ proxy_manager = AsyncProxyManager(remote_host)
166
+
167
+ # Execute multiple tasks concurrently
168
+ tasks = [
169
+ proxy_manager.execute_async("task1", "uptime"),
170
+ proxy_manager.execute_async("task2", "df -h"),
171
+ proxy_manager.execute_async("task3", "free -m")
172
+ ]
173
+
174
+ results = await asyncio.gather(*tasks)
175
+ return results
176
+ ```
177
+
178
+ ## 🔒 Security Features
179
+
180
+ - **No Hardcoded Credentials**: All authentication is user-provided
181
+ - **SSL/TLS Encryption**: All connections use proper encryption
182
+ - **Input Validation**: Comprehensive input validation and sanitization
183
+ - **Error Handling**: Secure error handling without information leakage
184
+ - **Connection Pooling**: Efficient connection management with security
185
+
186
+ ## 📋 Configuration Options
187
+
188
+ ### Connection Configuration
189
+
190
+ ```python
191
+ config = {
192
+ "host": "your-server.com",
193
+ "port": 22, # or 443 for HTTPS disguise
194
+ "username": "your-username",
195
+ "use_https_disguise": True,
196
+ "proxy_server": ("proxy-host", 443),
197
+ "timeout": 30,
198
+ "retry_attempts": 3
199
+ }
200
+ ```
201
+
202
+ ### Network Optimization
203
+
204
+ ```python
205
+ optimizer_config = {
206
+ "scenario": "low_bandwidth", # or "high_latency", "unstable_network"
207
+ "enable_compression": True,
208
+ "max_output_lines": 1000,
209
+ "timeout_multiplier": 1.5
210
+ }
211
+ ```
212
+
213
+ ## 🚨 Important Security Notes
214
+
215
+ 1. **Always use strong passwords or SSH keys**
216
+ 2. **Configure proper firewall rules**
217
+ 3. **Monitor connection logs regularly**
218
+ 4. **Keep software and dependencies updated**
219
+ 5. **Use VPN or secure networks when possible**
220
+ 6. **Implement proper access controls**
221
+
222
+ ## 🛠️ Development
223
+
224
+ ### Setup Development Environment
225
+
226
+ ```bash
227
+ git clone https://github.com/YKaiXu/rcoder.git
228
+ cd rcoder
229
+ pip install -r requirements.txt
230
+ pip install -e .
231
+ ```
232
+
233
+ ### Running Tests
234
+
235
+ ```bash
236
+ python -m pytest tests/
237
+ ```
238
+
239
+ ## 📄 License
240
+
241
+ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
242
+
243
+ ## ⚖️ Legal Compliance
244
+
245
+ By using this software, you acknowledge and agree to:
246
+
247
+ 1. **Full Responsibility**: You are solely responsible for lawful use and compliance
248
+ 2. **No Liability**: Developers disclaim all liability for misuse or damages
249
+ 3. **Indemnification**: You agree to indemnify developers against any claims
250
+ 4. **Jurisdiction**: Usage is subject to your local laws and regulations
251
+
252
+ ## 🆘 Support & Issues
253
+
254
+ - **GitHub Issues**: [Report Issues](https://github.com/YKaiXu/rcoder/issues)
255
+ - **Security Issues**: Please report security vulnerabilities privately
256
+ - **Documentation**: See inline documentation and examples
257
+
258
+ ---
259
+
260
+ **⚠️ Final Warning**: This software is powerful and must be used responsibly. Unauthorized access to computer systems is illegal and unethical. Always ensure you have explicit permission before accessing any system.
Binary file
@@ -289,62 +289,29 @@ class AsyncProxyManager:
289
289
  'timestamp': time.time()
290
290
  }
291
291
 
292
- async def send_command(self, command: str,
293
- target_server: str,
294
- callback: Optional[Callable] = None) -> Dict[str, Any]:
295
- """
296
- 发送命令到中转服务器(带消息队列)
297
-
298
- Args:
299
- command: 要执行的命令
300
- target_server: 目标服务器标识
301
- callback: 回调函数(可选)
302
-
303
- Returns:
304
- 命令提交结果
305
- """
306
- # 生成命令ID
307
- async with self._lock:
308
- command_id = f"cmd_{self.command_counter}_{int(time.time())}"
309
- self.command_counter += 1
310
-
311
- print(f"📡 发送命令到中转服务器: {command_id}")
312
-
313
- # 构建代理命令
314
- proxy_command = f"python -c \""
315
- proxy_command += "import json\n"
316
- proxy_command += "import subprocess\n"
317
- proxy_command += "import time\n"
318
- proxy_command += "\n"
319
- proxy_command += f"# 命令信息\n"
320
- proxy_command += f"command_id = '{command_id}'\n"
321
- proxy_command += f"command = '{command}'\n"
322
- proxy_command += f"target_server = '{target_server}'\n"
323
- proxy_command += f"timestamp = {time.time()}\n"
324
- proxy_command += "\n"
325
- proxy_command += "# 无状态邮局模式处理\n"
326
- proxy_command += "print('🔄 中转服务器接收命令:', command_id)\n"
327
- proxy_command += "print('🚀 向目标服务器推送指令...')\n"
328
- proxy_command += "\n"
329
- proxy_command += "# 执行命令(模拟目标服务器执行)\n"
330
- proxy_command += "try:\n"
331
- proxy_command += " result = subprocess.check_output(command, shell=True, stderr=subprocess.STDOUT, text=True)\n"
332
- proxy_command += " status = 'success'\n"
333
- proxy_command += " print('✅ 目标服务器执行成功')\n"
334
- proxy_command += "except Exception as e:\n"
335
- proxy_command += " result = str(e)\n"
336
- proxy_command += " status = 'error'\n"
337
- proxy_command += " print('❌ 目标服务器执行失败:', result)\n"
338
- proxy_command += "\n"
339
- proxy_command += "# 构建反馈信息\n"
340
- proxy_command += "feedback = json.dumps({\n"
341
- proxy_command += " 'id': command_id,\n"
342
- proxy_command += " 'status': status,\n"
343
- proxy_command += " 'result': result,\n"
344
- proxy_command += " 'timestamp': time.time()\n"
345
- proxy_command += "})\n"
346
- proxy_command += "print('📨 反馈信息:', feedback)\n"
347
- proxy_command += '"'
292
+ async def send_command(self, command: str,
293
+ target_server: str,
294
+ callback: Optional[Callable] = None) -> Dict[str, Any]:
295
+ """
296
+ 发送命令到中转服务器(带消息队列)
297
+
298
+ Args:
299
+ command: 要执行的命令
300
+ target_server: 目标服务器标识
301
+ callback: 回调函数(可选)
302
+
303
+ Returns:
304
+ 命令提交结果
305
+ """
306
+ # 生成命令ID
307
+ async with self._lock:
308
+ command_id = f"cmd_{self.command_counter}_{int(time.time())}"
309
+ self.command_counter += 1
310
+
311
+ print(f"📡 发送命令到中转服务器: {command_id}")
312
+
313
+ # 构建代理命令(简化版本)
314
+ proxy_command = f"echo 'Processing command {command_id}' && {command}"
348
315
 
349
316
  # 创建队列项
350
317
  queue_item = {
@@ -0,0 +1,260 @@
1
+ Metadata-Version: 2.4
2
+ Name: rcoder
3
+ Version: 2.0.2
4
+ Summary: Remote server management and SSH tunnel connections with HTTPS disguise
5
+ Home-page: https://github.com/YKaiXu/rcoder
6
+ Author: YuKaiXu
7
+ Author-email: yukaixu@outlook.com
8
+ Classifier: Development Status :: 4 - Beta
9
+ Classifier: Intended Audience :: Developers
10
+ Classifier: Intended Audience :: System Administrators
11
+ Classifier: License :: OSI Approved :: MIT License
12
+ Classifier: Operating System :: OS Independent
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3.7
15
+ Classifier: Programming Language :: Python :: 3.8
16
+ Classifier: Programming Language :: Python :: 3.9
17
+ Classifier: Programming Language :: Python :: 3.10
18
+ Classifier: Programming Language :: Python :: 3.11
19
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
20
+ Classifier: Topic :: System :: Networking
21
+ Classifier: Topic :: System :: Systems Administration
22
+ Requires-Python: >=3.7
23
+ Description-Content-Type: text/markdown
24
+ License-File: LICENSE
25
+ Requires-Dist: asyncssh>=2.14.0
26
+ Requires-Dist: cryptography>=41.0.0
27
+ Requires-Dist: psutil>=5.9.8
28
+ Requires-Dist: python-daemon>=3.0.1
29
+ Requires-Dist: requests>=2.31.0
30
+ Requires-Dist: websockets>=11.0.3
31
+ Requires-Dist: aiofiles>=23.2.1
32
+ Requires-Dist: aiohttp>=3.8.6
33
+ Requires-Dist: paramiko>=3.3.1
34
+ Requires-Dist: asyncio-mqtt>=0.16.1
35
+ Requires-Dist: jsonrpc-base>=2.0.0
36
+ Dynamic: author
37
+ Dynamic: author-email
38
+ Dynamic: classifier
39
+ Dynamic: description
40
+ Dynamic: description-content-type
41
+ Dynamic: home-page
42
+ Dynamic: license-file
43
+ Dynamic: requires-dist
44
+ Dynamic: requires-python
45
+ Dynamic: summary
46
+
47
+ # rcoder - Remote Server Management & SSH Tunnel Connections
48
+
49
+ A Python package for remote server management and SSH tunnel connections with advanced features like HTTPS disguise, proxy support, and automatic optimization.
50
+
51
+ [![Version](https://img.shields.io/badge/version-1.0.5-blue.svg)](https://pypi.org/project/rcoder/)
52
+ [![Python](https://img.shields.io/badge/python-3.7+-green.svg)](https://www.python.org/downloads/)
53
+ [![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
54
+
55
+ ## ⚠️ Legal Disclaimer & Terms of Use
56
+
57
+ **IMPORTANT - READ BEFORE USE:**
58
+
59
+ This software is provided for legitimate system administration, development, and educational purposes only. Users are solely responsible for ensuring compliance with all applicable laws, regulations, and ethical guidelines in their jurisdiction.
60
+
61
+ ### 🔒 Security & Privacy Notice
62
+ - **No Hardcoded Credentials**: This package contains no hardcoded passwords, API keys, or authentication tokens
63
+ - **User Responsibility**: All authentication credentials must be provided by the user through secure configuration
64
+ - **Network Security**: Users must implement appropriate security measures for their network connections
65
+ - **Data Protection**: Users are responsible for protecting any data transmitted through this software
66
+
67
+ ### 📋 Terms of Use
68
+ 1. **Lawful Use Only**: This software may only be used for lawful purposes with proper authorization
69
+ 2. **No Malicious Activities**: Prohibited from using for unauthorized access, data theft, or any illegal activities
70
+ 3. **Compliance**: Users must comply with all applicable local, national, and international laws
71
+ 4. **Authorization**: Users must have explicit permission to access any systems they connect to
72
+ 5. **Liability**: Developers disclaim all liability for misuse or damages resulting from use of this software
73
+
74
+ ### 🚨 Security Warnings
75
+ - **SSH Security**: Always use strong passwords and SSH keys for authentication
76
+ - **Network Encryption**: Ensure all connections use proper encryption protocols
77
+ - **Access Control**: Implement proper access controls and monitoring
78
+ - **Regular Updates**: Keep the software and dependencies updated for security patches
79
+
80
+ ## 🚀 Features
81
+
82
+ - ✅ **Asynchronous SSH Connections** - Based on asyncssh for stable, long-term sessions
83
+ - ✅ **HTTPS Disguise** - Traffic disguised as HTTPS for better connectivity
84
+ - ✅ **Proxy Support** - Full support for proxy servers and relay connections
85
+ - ✅ **Auto-Optimization** - Intelligent command optimization for different network conditions
86
+ - ✅ **Concurrent Operations** - Support for multiple concurrent connections
87
+ - ✅ **Error Handling** - Comprehensive error handling and recovery mechanisms
88
+ - ✅ **File Transfer** - Secure file upload/download capabilities
89
+ - ✅ **Remote Management** - Complete remote server management toolkit
90
+
91
+ ## 📦 Installation
92
+
93
+ ```bash
94
+ pip install rcoder==1.0.5
95
+ ```
96
+
97
+ ## 🔧 Quick Start
98
+
99
+ ### Basic Usage
100
+
101
+ ```python
102
+ import asyncio
103
+ from rcoder.core import RcoderCore, RemoteHost
104
+
105
+ async def main():
106
+ # Create Rcoder core instance
107
+ rcoder_core = RcoderCore(
108
+ host="your-server.com",
109
+ port=22,
110
+ use_https_disguise=True,
111
+ proxy_server=("proxy.your-server.com", 443) # Optional proxy
112
+ )
113
+
114
+ # Create remote host instance
115
+ remote_host = RemoteHost(rcoder_core, server="my-server")
116
+
117
+ # Execute commands
118
+ result = remote_host.run("echo 'Hello from rcoder!' && hostname")
119
+ print(f"Result: {result}")
120
+
121
+ # List files
122
+ files = remote_host.ls("/tmp")
123
+ print(f"Files: {files}")
124
+
125
+ if __name__ == "__main__":
126
+ asyncio.run(main())
127
+ ```
128
+
129
+ ### Command Line Interface
130
+
131
+ ```bash
132
+ # Basic connection
133
+ rcoder connect --host your-server.com --username your-user
134
+
135
+ # With proxy
136
+ rcoder connect --host target-server.com --proxy proxy-server.com --port 443
137
+
138
+ # Execute command
139
+ rcoder exec --host your-server.com --command "ls -la /tmp"
140
+ ```
141
+
142
+ ## 🎯 Advanced Features
143
+
144
+ ### Network Optimization
145
+
146
+ ```python
147
+ from rcoder.auto_optimizer import AutoOptimizer
148
+
149
+ # Create optimizer for low bandwidth scenarios
150
+ optimizer = AutoOptimizer()
151
+
152
+ # Optimize commands for current network conditions
153
+ optimized_cmd = optimizer.optimize_command("ls -la /tmp/")
154
+ print(f"Optimized: {optimized_cmd}")
155
+ ```
156
+
157
+ ### Concurrent Operations
158
+
159
+ ```python
160
+ import asyncio
161
+ from rcoder.async_proxy import AsyncProxyManager
162
+
163
+ async def concurrent_tasks():
164
+ # Create proxy manager for multiple connections
165
+ proxy_manager = AsyncProxyManager(remote_host)
166
+
167
+ # Execute multiple tasks concurrently
168
+ tasks = [
169
+ proxy_manager.execute_async("task1", "uptime"),
170
+ proxy_manager.execute_async("task2", "df -h"),
171
+ proxy_manager.execute_async("task3", "free -m")
172
+ ]
173
+
174
+ results = await asyncio.gather(*tasks)
175
+ return results
176
+ ```
177
+
178
+ ## 🔒 Security Features
179
+
180
+ - **No Hardcoded Credentials**: All authentication is user-provided
181
+ - **SSL/TLS Encryption**: All connections use proper encryption
182
+ - **Input Validation**: Comprehensive input validation and sanitization
183
+ - **Error Handling**: Secure error handling without information leakage
184
+ - **Connection Pooling**: Efficient connection management with security
185
+
186
+ ## 📋 Configuration Options
187
+
188
+ ### Connection Configuration
189
+
190
+ ```python
191
+ config = {
192
+ "host": "your-server.com",
193
+ "port": 22, # or 443 for HTTPS disguise
194
+ "username": "your-username",
195
+ "use_https_disguise": True,
196
+ "proxy_server": ("proxy-host", 443),
197
+ "timeout": 30,
198
+ "retry_attempts": 3
199
+ }
200
+ ```
201
+
202
+ ### Network Optimization
203
+
204
+ ```python
205
+ optimizer_config = {
206
+ "scenario": "low_bandwidth", # or "high_latency", "unstable_network"
207
+ "enable_compression": True,
208
+ "max_output_lines": 1000,
209
+ "timeout_multiplier": 1.5
210
+ }
211
+ ```
212
+
213
+ ## 🚨 Important Security Notes
214
+
215
+ 1. **Always use strong passwords or SSH keys**
216
+ 2. **Configure proper firewall rules**
217
+ 3. **Monitor connection logs regularly**
218
+ 4. **Keep software and dependencies updated**
219
+ 5. **Use VPN or secure networks when possible**
220
+ 6. **Implement proper access controls**
221
+
222
+ ## 🛠️ Development
223
+
224
+ ### Setup Development Environment
225
+
226
+ ```bash
227
+ git clone https://github.com/YKaiXu/rcoder.git
228
+ cd rcoder
229
+ pip install -r requirements.txt
230
+ pip install -e .
231
+ ```
232
+
233
+ ### Running Tests
234
+
235
+ ```bash
236
+ python -m pytest tests/
237
+ ```
238
+
239
+ ## 📄 License
240
+
241
+ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
242
+
243
+ ## ⚖️ Legal Compliance
244
+
245
+ By using this software, you acknowledge and agree to:
246
+
247
+ 1. **Full Responsibility**: You are solely responsible for lawful use and compliance
248
+ 2. **No Liability**: Developers disclaim all liability for misuse or damages
249
+ 3. **Indemnification**: You agree to indemnify developers against any claims
250
+ 4. **Jurisdiction**: Usage is subject to your local laws and regulations
251
+
252
+ ## 🆘 Support & Issues
253
+
254
+ - **GitHub Issues**: [Report Issues](https://github.com/YKaiXu/rcoder/issues)
255
+ - **Security Issues**: Please report security vulnerabilities privately
256
+ - **Documentation**: See inline documentation and examples
257
+
258
+ ---
259
+
260
+ **⚠️ Final Warning**: This software is powerful and must be used responsibly. Unauthorized access to computer systems is illegal and unethical. Always ensure you have explicit permission before accessing any system.
@@ -1,7 +1,7 @@
1
1
  LICENSE
2
2
  MANIFEST.in
3
3
  README.md
4
- pyproject.toml
4
+ setup.py
5
5
  rcoder/__init__.py
6
6
  rcoder/async_feedback.py
7
7
  rcoder/async_proxy.py
@@ -19,5 +19,6 @@ rcoder.egg-info/PKG-INFO
19
19
  rcoder.egg-info/SOURCES.txt
20
20
  rcoder.egg-info/dependency_links.txt
21
21
  rcoder.egg-info/entry_points.txt
22
+ rcoder.egg-info/not-zip-safe
22
23
  rcoder.egg-info/requires.txt
23
24
  rcoder.egg-info/top_level.txt
@@ -1,2 +1,3 @@
1
1
  [console_scripts]
2
2
  rcoder = rcoder.cli:main
3
+ rcoder-cli = rcoder.cli_enhanced:main
@@ -0,0 +1 @@
1
+
@@ -0,0 +1,11 @@
1
+ asyncssh>=2.14.0
2
+ cryptography>=41.0.0
3
+ psutil>=5.9.8
4
+ python-daemon>=3.0.1
5
+ requests>=2.31.0
6
+ websockets>=11.0.3
7
+ aiofiles>=23.2.1
8
+ aiohttp>=3.8.6
9
+ paramiko>=3.3.1
10
+ asyncio-mqtt>=0.16.1
11
+ jsonrpc-base>=2.0.0
rcoder-2.0.2/setup.py ADDED
@@ -0,0 +1,54 @@
1
+ from setuptools import setup, find_packages
2
+
3
+ with open("README.md", "r", encoding="utf-8") as fh:
4
+ long_description = fh.read()
5
+
6
+ setup(
7
+ name="rcoder",
8
+ version="2.0.2",
9
+ author="YuKaiXu",
10
+ author_email="yukaixu@outlook.com",
11
+ description="Remote server management and SSH tunnel connections with HTTPS disguise",
12
+ long_description=long_description,
13
+ long_description_content_type="text/markdown",
14
+ url="https://github.com/YKaiXu/rcoder",
15
+ packages=find_packages(),
16
+ classifiers=[
17
+ "Development Status :: 4 - Beta",
18
+ "Intended Audience :: Developers",
19
+ "Intended Audience :: System Administrators",
20
+ "License :: OSI Approved :: MIT License",
21
+ "Operating System :: OS Independent",
22
+ "Programming Language :: Python :: 3",
23
+ "Programming Language :: Python :: 3.7",
24
+ "Programming Language :: Python :: 3.8",
25
+ "Programming Language :: Python :: 3.9",
26
+ "Programming Language :: Python :: 3.10",
27
+ "Programming Language :: Python :: 3.11",
28
+ "Topic :: Software Development :: Libraries :: Python Modules",
29
+ "Topic :: System :: Networking",
30
+ "Topic :: System :: Systems Administration",
31
+ ],
32
+ python_requires=">=3.7",
33
+ install_requires=[
34
+ "asyncssh>=2.14.0",
35
+ "cryptography>=41.0.0",
36
+ "psutil>=5.9.8",
37
+ "python-daemon>=3.0.1",
38
+ "requests>=2.31.0",
39
+ "websockets>=11.0.3",
40
+ "aiofiles>=23.2.1",
41
+ "aiohttp>=3.8.6",
42
+ "paramiko>=3.3.1",
43
+ "asyncio-mqtt>=0.16.1",
44
+ "jsonrpc-base>=2.0.0",
45
+ ],
46
+ entry_points={
47
+ "console_scripts": [
48
+ "rcoder=rcoder.cli:main",
49
+ "rcoder-cli=rcoder.cli_enhanced:main",
50
+ ],
51
+ },
52
+ include_package_data=True,
53
+ zip_safe=False,
54
+ )
rcoder-2.0.0/PKG-INFO DELETED
@@ -1,97 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: rcoder
3
- Version: 2.0.0
4
- Summary: 远程代码执行与管理系统,支持低带宽场景和中转服务器场景
5
- Author-email: YuKaiXu <yukaixu@outlook.com>
6
- License: MIT License
7
-
8
- Copyright (c) 2026 YuKaiXu (yukaixu@outlook.com)
9
-
10
- Permission is hereby granted, free of charge, to any person obtaining a copy
11
- of this software and associated documentation files (the "Software"), to deal
12
- in the Software without restriction, including without limitation the rights
13
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
14
- copies of the Software, and to permit persons to whom the Software is
15
- furnished to do so, subject to the following conditions:
16
-
17
- The above copyright notice and this permission notice shall be included in all
18
- copies or substantial portions of the Software.
19
-
20
- ADDITIONAL LEGAL TERMS AND CONDITIONS:
21
-
22
- 1. LAWFUL USE ONLY: This Software may only be used for lawful purposes with proper
23
- authorization. Users must comply with all applicable local, national, and
24
- international laws and regulations.
25
-
26
- 2. NO UNAUTHORIZED ACCESS: Users must have explicit permission to access any
27
- computer systems or networks they connect to using this Software.
28
-
29
- 3. SECURITY RESPONSIBILITIES: Users are responsible for implementing appropriate
30
- security measures, including but not limited to:
31
- - Using strong passwords and SSH keys
32
- - Configuring proper firewall rules
33
- - Implementing access controls and monitoring
34
- - Keeping software and dependencies updated
35
-
36
- 4. NO MALICIOUS ACTIVITIES: Prohibited uses include, but are not limited to:
37
- - Unauthorized access to computer systems
38
- - Data theft or unauthorized data collection
39
- - Network attacks or intrusion attempts
40
- - Any activities that violate computer crime laws
41
-
42
- 5. DISCLAIMER OF LIABILITY: The Software is provided "AS IS", without warranty
43
- of any kind, express or implied. The authors and copyright holders shall not
44
- be liable for any claims, damages, or other liability arising from the use
45
- or misuse of this Software.
46
-
47
- 6. USER RESPONSIBILITY: Users assume full responsibility for:
48
- - Ensuring compliance with applicable laws
49
- - Protecting authentication credentials
50
- - Implementing appropriate security measures
51
- - Monitoring and logging system access
52
-
53
- 7. INDEMNIFICATION: Users agree to indemnify and hold harmless the developers,
54
- authors, and copyright holders from any claims, damages, or legal actions
55
- resulting from misuse of this Software.
56
-
57
- 8. JURISDICTION: This license is governed by the laws of the People's Republic
58
- of China. Any disputes shall be resolved in the courts of China.
59
-
60
- 9. EXPORT COMPLIANCE: Users must comply with all applicable export control laws
61
- and regulations when using or distributing this Software.
62
-
63
- 10. TERMINATION: This license automatically terminates if you violate any of
64
- these terms and conditions.
65
-
66
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
67
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
68
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
69
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
70
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
71
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
72
- SOFTWARE.
73
- Project-URL: Homepage, https://github.com/YKaiXu/rcoder
74
- Project-URL: Documentation, https://github.com/YKaiXu/rcoder
75
- Project-URL: Source, https://github.com/YKaiXu/rcoder
76
- Project-URL: Tracker, https://github.com/YKaiXu/rcoder/issues
77
- Keywords: remote,code,execution,management,proxy,low-bandwidth
78
- Classifier: Development Status :: 5 - Production/Stable
79
- Classifier: Intended Audience :: Developers
80
- Classifier: Intended Audience :: System Administrators
81
- Classifier: License :: OSI Approved :: MIT License
82
- Classifier: Operating System :: OS Independent
83
- Classifier: Programming Language :: Python :: 3
84
- Classifier: Programming Language :: Python :: 3.7
85
- Classifier: Programming Language :: Python :: 3.8
86
- Classifier: Programming Language :: Python :: 3.9
87
- Classifier: Programming Language :: Python :: 3.10
88
- Classifier: Programming Language :: Python :: 3.11
89
- Classifier: Topic :: System :: Systems Administration
90
- Classifier: Topic :: Software Development :: Libraries :: Python Modules
91
- Classifier: Topic :: Internet :: WWW/HTTP
92
- Requires-Python: >=3.7
93
- Description-Content-Type: text/markdown
94
- License-File: LICENSE
95
- Requires-Dist: psutil>=5.9.8
96
- Requires-Dist: python-daemon>=3.0.1
97
- Dynamic: license-file
@@ -1,50 +0,0 @@
1
- [build-system]
2
- requires = ["setuptools>=61.0", "wheel"]
3
- build-backend = "setuptools.build_meta"
4
-
5
- [project]
6
- name = "rcoder"
7
- version = "2.0.0"
8
- description = "远程代码执行与管理系统,支持低带宽场景和中转服务器场景"
9
- readme = "README_RCODER.md"
10
- authors = [
11
- { name = "YuKaiXu", email = "yukaixu@outlook.com" }
12
- ]
13
- license = { file = "LICENSE" }
14
- classifiers = [
15
- "Development Status :: 5 - Production/Stable",
16
- "Intended Audience :: Developers",
17
- "Intended Audience :: System Administrators",
18
- "License :: OSI Approved :: MIT License",
19
- "Operating System :: OS Independent",
20
- "Programming Language :: Python :: 3",
21
- "Programming Language :: Python :: 3.7",
22
- "Programming Language :: Python :: 3.8",
23
- "Programming Language :: Python :: 3.9",
24
- "Programming Language :: Python :: 3.10",
25
- "Programming Language :: Python :: 3.11",
26
- "Topic :: System :: Systems Administration",
27
- "Topic :: Software Development :: Libraries :: Python Modules",
28
- "Topic :: Internet :: WWW/HTTP",
29
- ]
30
- keywords = ["remote", "code", "execution", "management", "proxy", "low-bandwidth"]
31
- requires-python = ">=3.7"
32
- dependencies = [
33
- "psutil>=5.9.8",
34
- "python-daemon>=3.0.1"
35
- ]
36
-
37
- [project.urls]
38
- "Homepage" = "https://github.com/YKaiXu/rcoder"
39
- "Documentation" = "https://github.com/YKaiXu/rcoder"
40
- "Source" = "https://github.com/YKaiXu/rcoder"
41
- "Tracker" = "https://github.com/YKaiXu/rcoder/issues"
42
-
43
- [project.scripts]
44
- rcoder = "rcoder.cli:main"
45
-
46
- [tool.setuptools]
47
- packages = ["rcoder"]
48
-
49
- [tool.setuptools.package-data]
50
- rcoder = ["*.py"]
@@ -1,9 +0,0 @@
1
- #!/usr/bin/env python3
2
- """
3
- Rcoder - 远程代码执行与管理系统
4
- """
5
-
6
- __version__ = "2.0.0"
7
- __author__ = "YuKaiXu"
8
- __author_email__ = "yukaixu@outlook.com"
9
- __description__ = "远程代码执行与管理系统,支持MCP、TLS加密、直连和中转模式"
@@ -1,97 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: rcoder
3
- Version: 2.0.0
4
- Summary: 远程代码执行与管理系统,支持低带宽场景和中转服务器场景
5
- Author-email: YuKaiXu <yukaixu@outlook.com>
6
- License: MIT License
7
-
8
- Copyright (c) 2026 YuKaiXu (yukaixu@outlook.com)
9
-
10
- Permission is hereby granted, free of charge, to any person obtaining a copy
11
- of this software and associated documentation files (the "Software"), to deal
12
- in the Software without restriction, including without limitation the rights
13
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
14
- copies of the Software, and to permit persons to whom the Software is
15
- furnished to do so, subject to the following conditions:
16
-
17
- The above copyright notice and this permission notice shall be included in all
18
- copies or substantial portions of the Software.
19
-
20
- ADDITIONAL LEGAL TERMS AND CONDITIONS:
21
-
22
- 1. LAWFUL USE ONLY: This Software may only be used for lawful purposes with proper
23
- authorization. Users must comply with all applicable local, national, and
24
- international laws and regulations.
25
-
26
- 2. NO UNAUTHORIZED ACCESS: Users must have explicit permission to access any
27
- computer systems or networks they connect to using this Software.
28
-
29
- 3. SECURITY RESPONSIBILITIES: Users are responsible for implementing appropriate
30
- security measures, including but not limited to:
31
- - Using strong passwords and SSH keys
32
- - Configuring proper firewall rules
33
- - Implementing access controls and monitoring
34
- - Keeping software and dependencies updated
35
-
36
- 4. NO MALICIOUS ACTIVITIES: Prohibited uses include, but are not limited to:
37
- - Unauthorized access to computer systems
38
- - Data theft or unauthorized data collection
39
- - Network attacks or intrusion attempts
40
- - Any activities that violate computer crime laws
41
-
42
- 5. DISCLAIMER OF LIABILITY: The Software is provided "AS IS", without warranty
43
- of any kind, express or implied. The authors and copyright holders shall not
44
- be liable for any claims, damages, or other liability arising from the use
45
- or misuse of this Software.
46
-
47
- 6. USER RESPONSIBILITY: Users assume full responsibility for:
48
- - Ensuring compliance with applicable laws
49
- - Protecting authentication credentials
50
- - Implementing appropriate security measures
51
- - Monitoring and logging system access
52
-
53
- 7. INDEMNIFICATION: Users agree to indemnify and hold harmless the developers,
54
- authors, and copyright holders from any claims, damages, or legal actions
55
- resulting from misuse of this Software.
56
-
57
- 8. JURISDICTION: This license is governed by the laws of the People's Republic
58
- of China. Any disputes shall be resolved in the courts of China.
59
-
60
- 9. EXPORT COMPLIANCE: Users must comply with all applicable export control laws
61
- and regulations when using or distributing this Software.
62
-
63
- 10. TERMINATION: This license automatically terminates if you violate any of
64
- these terms and conditions.
65
-
66
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
67
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
68
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
69
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
70
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
71
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
72
- SOFTWARE.
73
- Project-URL: Homepage, https://github.com/YKaiXu/rcoder
74
- Project-URL: Documentation, https://github.com/YKaiXu/rcoder
75
- Project-URL: Source, https://github.com/YKaiXu/rcoder
76
- Project-URL: Tracker, https://github.com/YKaiXu/rcoder/issues
77
- Keywords: remote,code,execution,management,proxy,low-bandwidth
78
- Classifier: Development Status :: 5 - Production/Stable
79
- Classifier: Intended Audience :: Developers
80
- Classifier: Intended Audience :: System Administrators
81
- Classifier: License :: OSI Approved :: MIT License
82
- Classifier: Operating System :: OS Independent
83
- Classifier: Programming Language :: Python :: 3
84
- Classifier: Programming Language :: Python :: 3.7
85
- Classifier: Programming Language :: Python :: 3.8
86
- Classifier: Programming Language :: Python :: 3.9
87
- Classifier: Programming Language :: Python :: 3.10
88
- Classifier: Programming Language :: Python :: 3.11
89
- Classifier: Topic :: System :: Systems Administration
90
- Classifier: Topic :: Software Development :: Libraries :: Python Modules
91
- Classifier: Topic :: Internet :: WWW/HTTP
92
- Requires-Python: >=3.7
93
- Description-Content-Type: text/markdown
94
- License-File: LICENSE
95
- Requires-Dist: psutil>=5.9.8
96
- Requires-Dist: python-daemon>=3.0.1
97
- Dynamic: license-file
@@ -1,2 +0,0 @@
1
- psutil>=5.9.8
2
- python-daemon>=3.0.1
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes