Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jedevc/apparea
Lightweight reverse proxying to localhost :tada:
https://github.com/jedevc/apparea
Last synced: about 1 month ago
JSON representation
Lightweight reverse proxying to localhost :tada:
- Host: GitHub
- URL: https://github.com/jedevc/apparea
- Owner: jedevc
- License: mit
- Created: 2019-12-03T11:29:38.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2020-09-10T22:18:40.000Z (about 4 years ago)
- Last Synced: 2023-07-27T22:15:00.393Z (over 1 year ago)
- Language: Go
- Homepage: https://apparea.dev
- Size: 1.23 MB
- Stars: 5
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# AppArea
AppArea is an open-source reverse proxying tool powered by SSH.
Unlike other tools out there, AppArea uses a lightweight abstraction layer
over SSH, moving as much logic as possible to the server, while keeping the
client as minimal as possible; in fact it's completely possible to just use
the default SSH command built in to most linux distributions!## Installation
Clone the repository:
$ git clone --recursive https://github.com/jedevc/apparea.git
$ cd appareaThen you need to configure everything:
1. Create `.env` using `.example.env` as a template.
2. Create `docker-compose.override.yml` to configure ACME DNS challenge
environment variables for the traefik service.
3. Then, create the required server config files:```
$ mkdir -p config
$ ssh-keygen -N "" -f ./config/id_rsa -t rsa -b 4096
$ touch config/authorized_keys
```You should have the following files:
```
$ tree config
config
├── authorized_keys
├── id_rsa
└── id_rsa.pub0 directories, 3 files
```4. Then you can bring the containers up:
```
$ docker-compose up
```## Configuration format
The format is identical to the authorized keys format followed by normal SSH
servers, however, the comment field is used to contain the username.```
ssh-
```## Usage
To get started, install and run the client helper script:
$ wget https://raw.githubusercontent.com/jedevc/apparea/master/scripts/apparea.py
$ chmod +x apparea.py
$ ./apparea.py
...Make sure that you copy your key and username over to config/authorized_keys
and restart the server.Now you can expose ports on your local machine to the server!
$ apparea http 8080
>>> Listening on http://jedevc.apparea.dev
### ManualSince all of the logic is handled by the server, you don't need to use the
helper script!Once you've got your key and username in the server's config file, you can
just execute the following to expose local port 8080:$ ssh -R 0.0.0.0:80:localhost:8080 -p 21 [email protected]
>>> Listening on http://jedevc.apparea.dev