https://github.com/cyejing/shuttle
Connect to networks without pain
https://github.com/cyejing/shuttle
frp gfw nat ngrok proxy socks5
Last synced: 3 months ago
JSON representation
Connect to networks without pain
- Host: GitHub
- URL: https://github.com/cyejing/shuttle
- Owner: cyejing
- License: gpl-3.0
- Created: 2022-04-28T14:00:07.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2025-04-10T17:47:06.000Z (3 months ago)
- Last Synced: 2025-04-12T08:18:47.913Z (3 months ago)
- Topics: frp, gfw, nat, ngrok, proxy, socks5
- Language: Rust
- Homepage:
- Size: 548 KB
- Stars: 13
- Watchers: 1
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://github.com/cyejing/shuttle/actions/workflows/ci-test-build.yml)
[](https://crates.io/crates/shuttle-station)
[](https://docs.rs/shuttle-station)
[](https://github.com/cyejing/shuttle/blob/master/LICENSE)Connect to networks without pain
## Feature
- 加密上网
- 内网穿透
- 客户端代理支持 socks5/http## Architecture
┌──────┐ ┌──────┐
│ user │ │ user │
└──┬───┘ └──┬───┘
│ │
│ ┌────▼─────┐
│ │ local │
│ │ shuttlec │
│ └────┬─────┘
│ │
┌───────▼───────────────▼────────┐
│ │
│ public server shuttles │
│ │
└───────┬───────────────┬────────┘
│ │
│ │
┌────▼─────┐ ┌────▼─────┐
│ LAN │ │ internet │
│ shuttlec │ └──────────┘
└──────────┘## Download
下载可执行文件[Release 页面](https://github.com/cyejing/shuttle/releases)
## Quick Start
### 加密上网使用
#### Start Server
`./shuttles examples/shuttles.yaml`
配置参数
```yaml
#example/shuttles.yaml
addrs:
- addr: 0.0.0.0:4845
cert: examples/server.crt # 最好使用正式域名证书的方式
key: examples/server.key
trojan:
local_addr: 127.0.0.1:80 #nginx伪装
passwords:
- sQtfRnfhcNoZYZh1wY9u
```#### Start Client
`./shuttlec examples/shuttlec-proxy.yaml`
配置参数
```yaml
run_type: proxy #运行类型 代理模式
ssl_enable: true
invalid_certs: true
proxy_addr: 127.0.0.1:4080 #本地代理地址
remote_addr: 127.0.0.1:4845 #服务器地址, 最好是域名
password: sQtfRnfhcNoZYZh1wY9u #对应服务器密码
```#### 使用
浏览器设置 socks5 代理, 代理端口 proxy_addr
Enjoy
### 内网穿透使用
#### Start Server
`./shuttles examples/shuttles.yaml`
配置参数
```yaml
#example/shuttles.yaml
addrs:
- addr: 0.0.0.0:4845
cert: examples/server.crt
key: examples/server.key
rathole:
passwords:
- 58JCEmvcBkRAk1XkK1iH
```#### Start Client
`./shuttlec examples/shuttlec-rathole.yaml`
配置参数
```yaml
run_type: rathole
ssl_enable: true
remote_addr: 127.0.0.1:4845
password: 58JCEmvcBkRAk1XkK1iHholes:
- name: ssh
remote_addr: 127.0.0.1:4022
local_addr: 127.0.0.1:22
```#### 使用
connect -> remote_addr -> local_addr
## License
GNU General Public License v3.0