• Stars
    star
    369
  • Rank 115,686 (Top 3 %)
  • Language
    Shell
  • License
    MIT License
  • Created almost 6 years ago
  • Updated 8 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

🔩 An oh-my-zsh plugin to configure proxy

zsh-proxy

Author License

🔩 An oh-my-zsh plugin to configure proxy for some packages manager and software.

Installation

oh-my-zsh

Firstly, clone this repository in oh-my-zsh's plugins directory.

git clone https://github.com/sukkaw/zsh-proxy.git ~/.oh-my-zsh/custom/plugins/zsh-proxy

Secondly, activate the plugin in ~/.zshrc. Enable it by adding zsh-proxy to the plugins array.

plugins=(
    [plugins
     ...]
    zsh-proxy
)

Antigen

Antigen is a zsh plugin manager, and it support oh-my-zsh plugin as well. You only need to add antigen bundle sukkaw/zsh-proxy to your .zshrc with your other bundle commands if you are using Antigen. Antigen will handle cloning the plugin for you automatically the next time you start zsh. You can also add the plugin to a running zsh with antigen bundle sukkaw/zsh-proxy for testing before adding it to your .zshrc.


Congratulations! Open a new terminal or run source $HOME/.zshrc. If you see following lines, you have successfully installed zsh-proxy:

----------------------------------------
You should run following command first:
$ init_proxy
----------------------------------------

Usage

init_proxy

The tip mentioned below will show up next time you open a new terminal if you haven't initialized the plugin with init_proxy.

After you run init_proxy, it is time to configure the plugin.

config_proxy

Execute config_proxy will lead you to zsh-proxy configuration. Fill in socks5 & http proxy address in format address:port like 127.0.0.1:1080 & 127.0.0.1:8080.

Default configuration of socks5 proxy is 127.0.0.1:1080, and http proxy is 127.0.0.1:8080. You can leave any of them blank during configuration to use their default configuration.

Currently zsh-proxy doesn't support proxy with authentication, but I am working on it.

proxy

After you configure the zsh-proxy, you are good to go. Try following command will enable proxy for supported package manager & software:

$ proxy

And next time you open a new terminal, zsh-proxy will automatically enable proxy for you.

noproxy

If you want to disable proxy, you can run following command:

$ noproxy

myip

If you forget whether you have enabled proxy or not, it is fine to run proxy command directly, as proxy will reset all the proxy before enable them. But the smarter way is to use following command to check which IP you are using now:

$ myip

Check procedure will use curl and the IP data come from ipip.net, ip.cn & ip.gs.

Uninstallation

If you install zsh-proxy with Antigen, you need to remove antigen bundle sukkaw/zsh-proxy to disable the plugin. If you install zsh-proxy with oh-myzsh, you need to remove zsh-proxy item from plugin array, then run rm -rf ~/.oh-my-zsh/custom/plugins/zsh-proxy to remove the plugin.

And you can clean up files & folders created by zsh-proxy using following command:

$ rm -rf ~/.zsh-proxy

Supported

zsh-proxy currently support those package manager & software:

  • http_proxy
  • https_proxy
  • ftp_proxy
  • rsync_proxy
  • all_proxy
  • git (http)
  • npm & yarn
  • apt

Todo List

  • socks5 & http proxy with authentication.
  • check whether the program exist before enable proxy for it
  • proxy for sudo user (env_keep or sorts of things)
  • proxy for:
    • yum
    • pip
    • gradle
    • git with ssh
    • gem
  • no_proxy config
  • learn some from arch wiki

Author

zsh-proxy © Sukka, Released under the MIT License.
Authored and maintained by Sukka with help from contributors (list).

Personal Website · Blog · GitHub @SukkaW · Telegram Channel @SukkaChannel · Twitter @isukkaw · Keybase @sukka

More Repositories

1

Koolshare-Clash

🐱 Run Clash Tunnel on Koolshare OpenWrt
ASP
1,279
star
2

nolyfill

Speed up your package installation process, reduce your disk usage, and extend the lifespan of your precious SSD.
TypeScript
1,097
star
3

DisqusJS

💬 Render Disqus comments in Mainland China using Disqus API
TypeScript
591
star
4

Surge

由 Sukka 搜集、整理、维护的、个人自用的、仅适用于 Surge 的 Rule Snippet
JavaScript
583
star
5

hexo-theme-suka

🎨Modern, powerful and simple theme for Hexo.
CSS
580
star
6

nali-cli

⚓ Parse geoinfo of IP Address without leaving your terminal
JavaScript
393
star
7

foxact

React Hooks/Utils done right. For Browser, SSR, and React Server Components.
TypeScript
302
star
8

OpenCore-Document-zh_Hans

[非官方/Unofficial] OpenCore Bootloader 参考手册简体中文翻译
JavaScript
238
star
9

cloudflare-workers-async-google-analytics

☁️ The Cloudflare Workers implementation of an async Google Analytics
JavaScript
205
star
10

ClashEditor

📐 An editor for writing Clash config
HTML
192
star
11

cloudflare-block-bad-bot-ruleset

🚦 Block malicious crawlers with Cloudflare Firewall Rules
175
star
12

hexo-theme-doku

📜 Doku, a Hexo theme designed for writing documents.
HTML
145
star
13

rollup-plugin-swc

Use SWC with Rollup to transform / minify ESNext and TypeScript code.
TypeScript
139
star
14

zsh-osx-autoproxy

An oh-my-zsh plugin that configures proxy environment variables based on macOS's system preferences automatically
Shell
87
star
15

dotfiles

🔧 My development environment and config
Shell
82
star
16

Lenovo-Y9000X-Hackintosh

Lenovo LEGION Y9000X 2020 (Lenovo LEGION S740-15IRH) Hackintosh
ASL
71
star
17

ThinkPad-E480-Hackintosh

macOS Catalina & Big Sur on ThinkPad E480 (Hackintosh)
ASL
62
star
18

dashflare

An unofficial Cloudflare dashboard built on top of Cloudflare API.
TypeScript
55
star
19

bring-github-old-feed-back

Throw away the GitHub's useless "For You" feed and replace with the old good "Following" feed
TypeScript
53
star
20

forgetti-loader

A webpack/rspack loader and a Next.js plugin that brings an auto-memoization compiler to solves your hook spaghetti. Powered by forgetti which is inspired by React Forget.
TypeScript
52
star
21

CheckSSL

🔒Check your site's SSL status using curl & bash
Shell
41
star
22

vercel-dns-console

An unofficial implementation of Vercel DNS Dashboard
TypeScript
37
star
23

Friends

♥️ Friends of @SukkaW
JavaScript
33
star
24

react-compiler-webpack

The webpack/rspack loader for React Compiler
TypeScript
22
star
25

style9-webpack

The another Webpack Plugin for Atomic CSS-in-JS implementation style9
TypeScript
19
star
26

eslint-config-sukka

ESLint configuration of Sukka
TypeScript
17
star
27

stylex-webpack

The another webpack/Next.js Plugin for Facebook StyleX
TypeScript
17
star
28

markdown.css

📝 The simple CSS to replicate the GitHub Markdown style (Sukka Ver.)
CSS
14
star
29

disqusjs-proxy-example

Using Now as Disqus API Proxy
13
star
30

theme-doku-docs

📜 The documents & demo of hexo-theme-doku
13
star
31

CheckLatency

🌏 (WIP) A tool that check your latency to cloud provider every regions
JavaScript
13
star
32

memdisk

A library and a CLI to create RAM disk on macOS and Linux.
TypeScript
13
star
33

recipage

📃 Reci(pe)page: Turn a markdown file into one simple page
JavaScript
12
star
34

pure-svg-countdown

HTML
12
star
35

xbits

Convert bytes to a human readable string
TypeScript
12
star
36

SukkaW

My GitHub Profile
11
star
37

Cloudflare-WAF-to-AbuseIPDB

JavaScript
10
star
38

hexo-lute

A markdown renderer for Hexo based on Lute
JavaScript
8
star
39

consolas-powerline

Consolas Nerd Font (Consolas 7.0)
Python
8
star
40

busuanzi

The mirror of busuanzi js
8
star
41

hv-monsterdb-userscript

M-M-M-MONSTER DATABASE!
TypeScript
7
star
42

fast-cidr-tools

cidr-tools but up to 20x faster
TypeScript
7
star
43

eslint-config-sukka-archive

JavaScript
7
star
44

openconnect-snell

Allow Surge to connect to OpenConnect using Docker + Snell Server V4
Shell
6
star
45

suka.css

✨The most useless css framework.
CSS
6
star
46

telegram-reply-image-to-messsage-bot

TypeScript
6
star
47

kv4cf

A Modified version of cloudflare/kv-asset-handler, with Non-ASCII URL supported.
JavaScript
6
star
48

hentaiverse-monster-database

M-M-M-MONSTER DATABASE SERVER!
TypeScript
5
star
49

hentaiverse-util-api-userscript

A userscript provided API for other HentaiVerse userscripts
TypeScript
5
star
50

monsterbation-linter

TypeScript
5
star
51

bundled-open-cli

Open stuff like URLs, files, executables, with installation size reduced by 78%. Cross-platform.
TypeScript
5
star
52

bili-mcdn

HTML
4
star
53

Koolshare-OpenWrt-API-Documents

The API documents (unofficial) for Koolshare OpenWrt httpdb
4
star
54

tor-exit-page

An alternative "This is a Tor Exit Router" page
HTML
4
star
55

rcpy

Lightweight, fast, simple and flexible file copy utility for Node.js
TypeScript
4
star
56

teacup.js

🍵 Cache javascript & css files in localStorage
JavaScript
3
star
57

zsh-gitcd

🔩 An oh-my-zsh plugin for git clone && cd
Shell
3
star
58

nodelistparser

Surge / Mihomo (Clash.Meta) nodelist / proxy provider parser and generator
TypeScript
2
star
59

sponsors

TypeScript
2
star
60

Hackintosh-Kext-Builder

Shell
1
star
61

BadgeKit

🚩 Get every badge you need for your README
JavaScript
1
star
62

hexo-renderer-pejs

EJS(based on PEJS) renderer for Hexo
JavaScript
1
star
63

untyped-javascript-serialization-benchmark

TypeScript
1
star
64

cidr-tools-wasm

TypeScript
1
star