Proxy Authentication Wall to protect other websites
  • TypeScript 90.2%
  • JavaScript 4.1%
  • EJS 3.9%
  • Dockerfile 0.8%
  • Shell 0.7%
  • Other 0.3%
Find a file
TimedIn 7b813f4013
Some checks failed
Deploy to Linux Server / test (push) Successful in 52s
Deploy to Linux Server / coverage (push) Successful in 52s
Create Release and Build Docker / release (push) Successful in 1m2s
Create Release and Build Docker / release-docker (push) Failing after 1m5s
Merge pull request 'chore(deps): update node docker tag to v24' (#54) from renovate/node-24.x into main
Reviewed-on: #54
2025-05-13 06:25:13 +00:00
.forgejo/workflows chore(deps): update https://code.forgejo.org/actions/forgejo-release action to v2.6.0 2025-04-19 14:57:27 +00:00
hooks Adding eslint to hooks 2024-11-01 12:49:51 +01:00
src fix: variable timeout 2025-05-01 22:52:32 +02:00
test Add client tests, improve eslint (#9) 2024-10-11 12:53:52 +00:00
.gitignore Fixed gitignore for webpack config 2024-09-27 21:22:24 +02:00
docker-compose.yml chore(docker): switch to codeberg registry 2025-04-11 10:50:35 +02:00
Dockerfile chore(deps): update node docker tag to v24 2025-05-06 22:01:28 +00:00
eslint.config.mjs Update eslint 2024-10-15 16:39:14 +02:00
jest-env.ts Add cookie rewrite for path targets 2024-10-15 17:01:49 +02:00
jest.config.ts ci: optimise actions 2025-03-28 13:08:56 +01:00
LICENSE Initial commit 2024-09-13 22:00:30 +00:00
package-lock.json chore(deps): update all non-major dependencies 2025-05-12 22:01:07 +00:00
package.json chore: update version 2025-04-11 10:57:27 +02:00
README.md ci: optimise actions 2025-03-28 13:08:56 +01:00
renovate.json Add renovate.json 2025-03-27 22:19:59 +00:00
tsconfig.json Add eslint for consistant code style (#8) 2024-10-09 15:41:36 +00:00
webpack.config.ts Add eslint for consistant code style (#8) 2024-10-09 15:41:36 +00:00

Preauth Proxy

Coverage Shield

Running the Application

Using Docker

  1. Basic Command: Execute the following command to run the container:
    docker run -it --rm -p 3000:3000 timedin/preauth-proxy:latest
    
  2. With .env file: If you have a .env file with your environment variables, use the following command:
    docker run --env-file .env -it --rm -p 3000:3000 timedin/preauth-proxy:latest
    

Using Docker Compose

  1. Download the docker-compose.yml
  2. Set the environment variables to your configuration
  3. Run the following command to start the stack:
    docker compose up -d
    

Downloading Prebuilt Version

  1. Download the complete build from the release page
  2. Extract the files
  3. Set your environment variables according to Configuration section
  4. Start the server using the following command:
    node ./dist/server/index.js
    

Configuration

Following environment variables are used for config

  • JWT_SECRET Random secret for JWT loggedin token (required!)
  • USERS JSON-Array of users and passwords allowed (required!) | Example: [{"username":"user1", "password": "pass1"}]
  • ROUTES Routes for Proxy (required!) | Example: [{"host":"example.com", "target":"http://localhost:3000"}]

    Optional Config:
  • HOST Host/Interface of the webserver to listen on (default and when dockerized: 0.0.0.0)
  • PORT Port of the webserver for frontend and backend (default 3000)
  • DOMAIN Domain for cookie for subdomain wide access (no default)
  • COOKIE_SECURE Set cookies to https only (default false)
  • COOKIE_SAMESITE Set cookies for cross-origin
  • ALLOWED_ORIGINS Semicolon (;) seperated list of CORS Domains OR *