MITM proxy for terminal sessions with UPC display
- Python 91.9%
- Shell 6.3%
- Makefile 1.8%
| src | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| config.example.yaml | ||
| docker-compose.yml | ||
| install.sh | ||
| LICENSE | ||
| Makefile | ||
| pyproject.toml | ||
| README.md | ||
zebra-proxy
ssh proxy that shows lpn codes on an oled screen
parts
- raspberry pi 4b or raspberry pi zero 2 w
- 2.42" spi oled (SSD1309 128x64)
- 4x4 matrix keypad (optional)
- dupont jumper wires
wiring (spi)
| oled | pi | gpio |
|---|---|---|
| gnd | pin 6 | ground |
| vcc | pin 1 | 3.3v |
| sck | pin 23 | gpio11 |
| sda | pin 19 | gpio10 |
| res | pin 22 | gpio25 |
| dc | pin 18 | gpio24 |
| cs | pin 24 | gpio8 |
wiring (keypad)
| keypad | pi | gpio |
|---|---|---|
| r1 | pin 35 | gpio19 |
| r2 | pin 33 | gpio13 |
| r3 | pin 31 | gpio6 |
| r4 | pin 29 | gpio5 |
| c1 | pin 40 | gpio21 |
| c2 | pin 38 | gpio20 |
| c3 | pin 36 | gpio16 |
| c4 | pin 32 | gpio12 |
button layout:
s1(1) s2(2) s3(3) s4(A)
s5(4) s6(5) s7(6) s8(B)
s9(7) s10(8) s11(9) s12(C)
s13(*) s14(0) s15(#) s16(D)
default keys (configurable in keypad section of config.yaml):
| key | default | config option | function |
|---|---|---|---|
| 1 | s1 | help | show help |
| 2 | s2 | lpn | toggle LPN text on/off |
| 3 | s3 | item | show last item info |
| A | s4 | reconnect | force reconnect to WMS |
| B | s8 | info | show network info |
| C | s12 | history | toggle history sidebar |
| * | s13 | clear | clear history |
| # | s15 | toggle | toggle display on/off |
| D | s16 | dev | switch dev/normal mode |
setup
sudo bash install.sh
config
sudo nano /etc/zebra-proxy/config.yaml
logs
journalctl -u zebra-proxy -f
restart
sudo systemctl restart zebra-proxy
dev
make dev
make run-mock
make run-proxy