Skip to content

cyejing/shuttle

Repository files navigation

ci-test-build Version Documentation License

Connect to networks without pain

Feature

  • 加密上网
  • 内网穿透
  • 客户端代理支持 socks5/http

Architecture

     ┌──────┐        ┌──────┐
     │ user │        │ user │
     └──┬───┘        └──┬───┘
        │               │
        │          ┌────▼─────┐
        │          │  local   │
        │          │ shuttlec │
        │          └────┬─────┘
        │               │
┌───────▼───────────────▼────────┐
│                                │
│     public server shuttles     │
│                                │
└───────┬───────────────┬────────┘
        │               │
        │               │
   ┌────▼─────┐    ┌────▼─────┐
   │   LAN    │    │ internet │
   │ shuttlec │    └──────────┘
   └──────────┘

Download

下载可执行文件Release 页面

Quick Start

加密上网使用

Start Server

./shuttles examples/shuttles.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

配置参数

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

配置参数

#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

配置参数

run_type: rathole
ssl_enable: true
remote_addr: 127.0.0.1:4845
password: 58JCEmvcBkRAk1XkK1iH

holes:
  - 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