LDAP directory management utility
- TypeScript 99.1%
- HTML 0.6%
- SCSS 0.3%
| html | ||
| .gitignore | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
bfx Director
is a LDAP directory management utility written as a web application in TypeScript. It connects directly to a LDAP server (without a backend, but a proxy service will be required as the web does not allow direct TCP connections), and allows you to manage a LDAP directory & schemas in a visual way.
Status
The main features that are currently implemented are:
- Connect to an LDAP server & bind DN
- View entries in a tree structure
- View entry attributes
- Parse LDAP schemas
- Edit entry attributes
- Add/remove entries
- View/edit schema
- Connect via a TCP -> WebSocket proxy (e.g. websockify)
- Connect via Tailscale
- Connect directly (via browser extension or Electron app)
Development
git clone https://git.boxfox.es/boxfox.es/director.git
cd director
npm install
npm run dev
# Server running at http://localhost:1234
You'll also need to set up a proxy to allow the web application to connect to your LDAP server. You can use novnc's websockify for this: ./run 3899 ldap.in.boxfox.es:389, and then you can enter ws://localhost:3899 in the Host: field when connecting.
Coding conventions
- Object getters that subscribe to a signal (i.e. read the
.valueattribute), should be indicated by a name that ends with a$symbol. This is a convention that indicates reading this property will have a side effect of of making the current reactive context (if available) be re-evaluated when this value changes- This is sitll subject to needing to consider if this is a good idea - we will see.