├── Dockerfile ├── README.md ├── app.json └── heroku.yml /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM heroku/heroku:20 2 | RUN curl -sSL https://github.com/jpillora/chisel/releases/download/v1.7.6/chisel_1.7.6_linux_amd64.gz | zcat > /bin/chisel 3 | RUN chmod +x /bin/chisel 4 | RUN useradd -m heroku 5 | USER heroku 6 | EXPOSE 5000 7 | CMD chisel server --auth $CHISEL_AUTH --socks5 --reverse 8 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | chisel-heroku 2 | ============= 3 | 4 | Deploy [chisel](https://github.com/jpillora/chisel) to [Heroku](https://www.heroku.com/) as a [SOCKS5](https://en.wikipedia.org/wiki/SOCKS) proxy. 5 | 6 | ### Getting started 7 | 8 | Use this button [![Heroku Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/mrluanma/chisel-heroku) 9 | 10 | Or create a Heroku app manually: 11 | 12 | ``` 13 | $ heroku create 14 | $ heroku stack:set container 15 | $ heroku config:set CHISEL_AUTH=user:pass 16 | $ git push heroku main 17 | ... 18 | remote: Verifying deploy... done. 19 | To https://git.heroku.com/shrouded-springs-35880.git 20 | * [new branch] main -> main 21 | ``` 22 | 23 | Connect your chisel client: 24 | 25 | ``` 26 | $ chisel --version 27 | 1.7.6 28 | $ chisel client --keepalive 10s --auth user:pass https://shrouded-springs-35880.herokuapp.com socks 29 | ... 30 | 2019/02/05 02:16:33 client: Connected (Latency 263.548181ms) 31 | ``` 32 | 33 | Point your SOCKS5 clients to `127.0.0.1:1080` 34 | 35 | ``` 36 | $ curl --socks5 127.0.0.1:1080 ifconfig.co 37 | 54.80.138.214 38 | ``` 39 | -------------------------------------------------------------------------------- /app.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "chisel-heroku", 3 | "description": "Deploy chisel to Heroku as a SOCKS5 proxy.", 4 | "stack": "container", 5 | "env": { 6 | "CHISEL_AUTH": { 7 | "description": "The --auth option of chisel, in the form of ." 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /heroku.yml: -------------------------------------------------------------------------------- 1 | build: 2 | docker: 3 | web: Dockerfile 4 | --------------------------------------------------------------------------------