https://github.com/caesar0301/zsh-shell-proxy
Modified shell-proxy zsh plugin.
https://github.com/caesar0301/zsh-shell-proxy
Last synced: 5 months ago
JSON representation
Modified shell-proxy zsh plugin.
- Host: GitHub
- URL: https://github.com/caesar0301/zsh-shell-proxy
- Owner: caesar0301
- License: apache-2.0
- Created: 2025-05-07T14:27:54.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-05-07T14:29:26.000Z (7 months ago)
- Last Synced: 2025-05-07T15:37:22.291Z (7 months ago)
- Language: Python
- Size: 7.81 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-zsh-plugins - shell-proxy - This a pure user-space program, shell-proxy setter, written in Python3 and `zsh`. (Plugins / ZSH on Windows)
- fucking-awesome-zsh-plugins - shell-proxy - This a pure user-space program, shell-proxy setter, written in Python3 and `zsh`. (Plugins / ZSH on Windows)
README
# shell-proxy plugin
This a pure user-space program, shell-proxy setter, written in Python3 and Zsh.
To use it, add `shell-proxy` to the plugins array in your zshrc file:
```zsh
plugins=(... shell-proxy)
```
## Key features
- Supports macOS and Linux (Ubuntu, Archlinux, etc.)
- Supports git via setting `$GIT_SSH`
- Supports ssh, sftp, scp, slogin and ssh-copy-id via setting aliases
- Built-in autocomplete
## Usage
### Method 1
Set `SHELLPROXY_URL` environment variable to the URL of the proxy server:
```sh
SHELLPROXY_URL="http://127.0.0.1:8123"
SHELLPROXY_NO_PROXY="localhost,127.0.0.1"
proxy enable
```
### Method 2
Write a program file in `$HOME/.config/proxy` so that the proxy URL is defined dynamically.
Note that the program file must be executable.
Example:
```sh
#!/bin/bash
# HTTP Proxy
if [[ "$(uname)" = Darwin ]]; then
echo "http://127.0.0.1:6152" # Surge Mac
else
echo "http://127.0.0.1:8123" # polipo
fi
# No Proxy
echo "localhost,127.0.0.1"
```
### Method 3
Use [method 2](#method-2) but define the location of the program file by setting the
`SHELLPROXY_CONFIG` environment variable:
```sh
SHELLPROXY_CONFIG="$HOME/.dotfiles/proxy-config"
```
## Reference
- `$GIT_SSH`:
- OpenSSH manual:
## Maintainer
- [@septs](https://github.com/septs)