Compare commits

..

No commits in common. "main" and "v0.0.0" have entirely different histories.
main ... v0.0.0

5 changed files with 3 additions and 110 deletions

3
.gitignore vendored
View file

@ -1,3 +0,0 @@
/pkg
/src
/proxyenv*.pkg.tar.*

21
LICENSE
View file

@ -1,21 +0,0 @@
MIT License
Copyright (c) 2023 Leafee98
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View file

@ -1,30 +0,0 @@
pkgname='proxyenv-git'
pkgver=0
pkgrel=1
arch=('any')
url="https://git.leafee98.com/leafee98/proxyenv"
pkgdesc="A cross-platform, GPU-accelerated terminal emulator"
license=('MIT')
depends=('bash')
source=(
"proxyenv"
"proxyenv.conf"
"LICENSE"
)
sha256sums=(
'SKIP'
'SKIP'
'SKIP'
)
pkgver() {
git describe --tags --long | cut -c 2- | sed -e 's/-/./g'
}
package() {
install -Dm755 "${srcdir}/proxyenv" "${pkgdir}/usr/bin/proxyenv"
install -Dm644 "${srcdir}/proxyenv.conf" "${pkgdir}/etc/proxyenv.conf"
install -Dm644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/proxyenv/LICENSE"
}

View file

@ -1,48 +0,0 @@
# proxyenv
This program is designed to be used like proxychains, that is
`proxyenv <any program> <any arguments for the program>`
This program used to be a simple bash function, firsted introduced
at [A shell function to set environemt for any single command (Title has been translated)](https://blog.leafee98.com/posts/%E4%B8%BA%E5%8D%95%E4%B8%80%E5%91%BD%E4%BB%A4%E8%AE%BE%E7%BD%AE%E4%BB%A3%E7%90%86%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F%E7%9A%84%E7%BB%88%E7%AB%AF%E5%87%BD%E6%95%B0/).
It works most of the time, but when using other command wrappers like `sudo proxyenv cmd`,
the shell function will not work anymore, because in the context of sudo, the function
proxyenv is inaccessible.
So I make it as an bash script, which still accessible inside any other program wrappers,
that's this program.
## Usage
```
proxyenv <any program> <any arguments>
```
## Configuration
If environemt `PROXYENV_CONFPATH` is set, the program will use the path indicted by it to
read the proxy actually to be used. Otherwise `/etc/proxyenv.conf` will be used.
The configuration file (default `/etc/proxyenv.conf`) will be sourced when proxyenv run,
so take care no let this file's permission to open, 755 is suggested.
For entry detail of configuration file, see `proxyenv.conf` in this repository.
## Misc
### Which version to use
Althought there are tags, using the code on branch `main` is always suggested. The tag
was added just to let `git describe` happy, which used in `PKGBUILD`
### Install on Archlinux
Since I add a PKGBUILD at the root of repository, you can use the following command
to build and install this program on Archlinux.
```
makepkg
pacman -U <generated package>
```

View file

@ -1,16 +1,11 @@
#!/usr/bin/env bash
# Just quit queitly when no program specfied
if (( "$#" == 0 )) ; then
exit 0
fi
if [[ -z "$PROXYENV_CONFPATH" ]] ; then
if [[ -e "/etc/proxyenv.conf" ]] ; then
source "/etc/proxyenv.conf"
else
echo "custom configuration location '/etc/proxyenv.conf' not exists" >&2
echo "exiting..."
echo "exiting...'
exit 1
fi
else
@ -18,14 +13,14 @@ else
source "$PROXYENV_CONFPATH"
else
echo "custom configuration location '$PROXYENV_CONFPATH' not exists" >&2
echo "exiting..."
echo "exiting...'
exit 1
fi
fi
if [[ -z "$PROXYENV_TARGET_PROXY" ]] ; then
echo "cannot find PROXYENV_TARGET_PROXY" >&2
echo "exiting..."
echo "exiting...'
exit 1
fi