Compare commits

..

3 Commits

Author SHA1 Message Date
ge
c32d2ef655 add example 2024-10-20 22:17:43 +03:00
ge
bcf3570f66 automatic version 2024-10-20 22:14:22 +03:00
ge
25b0d0d25e add install target 2024-10-20 22:09:07 +03:00
2 changed files with 51 additions and 6 deletions

View File

@ -1,5 +1,3 @@
PT_VERSION ?= 0.0.1
all: prod
dev:
@ -7,7 +5,11 @@ dev:
prod:
v -prod -cc gcc -cflags '-static -s' -o pt src/ \
-d pt_version=$(PT_VERSION) \
-d pt_version=$$(git describe --tags) \
-d pt_piddir=pt \
-d pt_max_recursion_depth=10 \
-d pt_default_config_file=~/.ptrc
install:
install -Dm0755 pt $$HOME/.local/bin/pt
install -Dm0644 completion.bash $${XDG_DATA_HOME:-$$HOME/.local/share}/bash-completion/completions/pt

View File

@ -17,15 +17,21 @@ Run and manage background processes without daemon or root privileges. `pt` is a
## Install
### Prebuilt binary
Look for statically linked binaries on the [releases page](https://github.com/gechandesu/pt/releases).
### Build from source
First install [V compiler](https://github.com/vlang/v).
Clone this repo and do:
Then do:
```
git clone https://github.com/gechandesu/pt.git
cd pt
make
install -Dm0755 pt $HOME/.local/bin/pt
install -Dm0644 completion.bash ${XDG_DATA_HOME:-$HOME/.local/share}/bash-completion/completions/pt
make install
```
Next step is configuration.
@ -35,3 +41,40 @@ Next step is configuration.
Default configuration file is `~/.ptrc`. This is [TOML](https://toml.io) format file.
See full configuration example with comments in [ptrc.toml](ptrc.toml).
## Usage
For example run SOCKS5 proxy over SSH. For this example to work, your computer must have ~/.ssh/config configured and the remote server must also have your SSH key. The ~/.ptrc content:
```toml
# vim: ft=toml
[entry.ssh-tunnel]
description = 'SSH tunnel to %server%'
labels = ['ssh', 'pl']
exec = [
'/usr/bin/ssh',
'-NT',
'-oServerAliveInterval=60',
'-oExitOnForwardFailure=yes',
'-D',
'127.0.0.1:1080',
'192.168.0.1', # server address or hostname here
]
```
Start process:
```
$ pt start ssh-tunnel
```
Show running processes:
```
$ pt ps
```
Stop `ssh-tunnel`:
```
$ pt stop ssh-tunnel
# OR send signal explicitly
$ pt signal TERM ssh-tunnel
```