پروکسی در ترمینال

فعال کردن پروکسی بستگی به برنامه داره، اینکه برای دانلود و آپلود از چی استفاده میکنه. بیشتر برنامه ها از curl استفاده میکنن.

هر وقت تو مرورگر صفحه ای رو لود میکنید یا چیزی رو به سایت میفرستید، این کار رو curl‌ انجام میده. در واقع دارید یک سری درخواست های http میفرستید که نیاز به یک http client داره که معروف ترینش curl‌ هست.

باید دو تا متغیر رو تنظیم کنید:

# enable
export http_proxy="127.0.0.1:2080"
export https_proxy=$http_proxy

# disable
unset http_proxy https_proxy

برای راحت کردن کار یه تابع میسازیم که فقط با صدا زدنش این کارهارو بکنه.

میتونید از dotfiles های من استفاده کنید که خودش این رو داره:

dotfiles

یا این رو دستی به کانفیگ bash یا zsh اضافه کنید:

proxy_connect=0
PS2=$PS1
toggle_proxy() {
        if [[ "$proxy_connect" -eq 0 ]]; then
                export http_proxy="http://127.0.0.1:2081"
                export https_proxy=$http_proxy
                proxy_connect=1
                echo "proxy enabled"
                PS2=$PS1
                PS1="%{$fg[red]%}[v] $PS1"
        else
                unset http_proxy
                unset https_proxy
                proxy_connect=0
                echo "proxy disabled"
                PS1=$PS2
        fi
}