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.
- rcoder-2.0.2/PKG-INFO +260 -0
- rcoder-2.0.2/rcoder/__init__.py +0 -0
- {rcoder-2.0.0 → rcoder-2.0.2}/rcoder/async_proxy.py +23 -56
- rcoder-2.0.2/rcoder.egg-info/PKG-INFO +260 -0
- {rcoder-2.0.0 → rcoder-2.0.2}/rcoder.egg-info/SOURCES.txt +2 -1
- {rcoder-2.0.0 → rcoder-2.0.2}/rcoder.egg-info/entry_points.txt +1 -0
- rcoder-2.0.2/rcoder.egg-info/not-zip-safe +1 -0
- rcoder-2.0.2/rcoder.egg-info/requires.txt +11 -0
- rcoder-2.0.2/setup.py +54 -0
- rcoder-2.0.0/PKG-INFO +0 -97
- rcoder-2.0.0/pyproject.toml +0 -50
- rcoder-2.0.0/rcoder/__init__.py +0 -9
- rcoder-2.0.0/rcoder.egg-info/PKG-INFO +0 -97
- rcoder-2.0.0/rcoder.egg-info/requires.txt +0 -2
- {rcoder-2.0.0 → rcoder-2.0.2}/LICENSE +0 -0
- {rcoder-2.0.0 → rcoder-2.0.2}/MANIFEST.in +0 -0
- {rcoder-2.0.0 → rcoder-2.0.2}/README.md +0 -0
- {rcoder-2.0.0 → rcoder-2.0.2}/rcoder/async_feedback.py +0 -0
- {rcoder-2.0.0 → rcoder-2.0.2}/rcoder/auto_optimizer.py +0 -0
- {rcoder-2.0.0 → rcoder-2.0.2}/rcoder/cli.py +0 -0
- {rcoder-2.0.0 → rcoder-2.0.2}/rcoder/cli_enhanced.py +0 -0
- {rcoder-2.0.0 → rcoder-2.0.2}/rcoder/conversational_config.py +0 -0
- {rcoder-2.0.0 → rcoder-2.0.2}/rcoder/core.py +0 -0
- {rcoder-2.0.0 → rcoder-2.0.2}/rcoder/core_optimized.py +0 -0
- {rcoder-2.0.0 → rcoder-2.0.2}/rcoder/process_manager.py +0 -0
- {rcoder-2.0.0 → rcoder-2.0.2}/rcoder/remote_tools.py +0 -0
- {rcoder-2.0.0 → rcoder-2.0.2}/rcoder/server_installer.py +0 -0
- {rcoder-2.0.0 → rcoder-2.0.2}/rcoder/utils.py +0 -0
- {rcoder-2.0.0 → rcoder-2.0.2}/rcoder.egg-info/dependency_links.txt +0 -0
- {rcoder-2.0.0 → rcoder-2.0.2}/rcoder.egg-info/top_level.txt +0 -0
- {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
|
+
[](https://pypi.org/project/rcoder/)
|
|
52
|
+
[](https://www.python.org/downloads/)
|
|
53
|
+
[](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"
|
|
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
|
+
[](https://pypi.org/project/rcoder/)
|
|
52
|
+
[](https://www.python.org/downloads/)
|
|
53
|
+
[](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
|
-
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
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
|
rcoder-2.0.0/pyproject.toml
DELETED
|
@@ -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"]
|
rcoder-2.0.0/rcoder/__init__.py
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|