mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2026-05-29 04:53:17 +02:00
Fixed the following issues: 1. gitstatus.py: - Fixed broad IOError exception handling to catch specific OSError/FileNotFoundError - Fixed unused variable warning by using _ for ignored stderr 2. proxy.py: - Fixed os.path.expandvars usage that doesn't expand ~, changed to os.path.expanduser - Fixed check_output call that was incorrectly passing a file path instead of command list - Fixed missing space in env variable assignment for aliases 3. update_emoji.py: - Fixed file handle leaks by using with statements for file operations - Removed unnecessary .keys() call in dict iteration 4. cheatsheet.py: - Fixed parse() function to handle lines without '=' character - Fixed inefficient list comprehension using any() instead - Fixed shadowing of built-in 'cheatsheet' function name 5. ssh-agent.py: - Modernized string formatting from .format() to f-string 6. ssh-proxy.py: - Fixed next() call without default value that crashes when no proxy env vars set - Fixed missing exit code propagation from subprocess.call Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| .editorconfig | ||
| proxy.py | ||
| README.md | ||
| shell-proxy.plugin.zsh | ||
| ssh-agent.py | ||
| ssh-proxy.py | ||
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:
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:
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:
#!/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 but define the location of the program file by setting the
SHELLPROXY_CONFIG environment variable:
SHELLPROXY_CONFIG="$HOME/.dotfiles/proxy-config"
Reference
$GIT_SSH: https://www.git-scm.com/docs/git#Documentation/git.txt-codeGITSSHcode- OpenSSH manual: https://man.openbsd.org/ssh