Skip to content

Commit

Permalink
Check system passwords (#2712)
Browse files Browse the repository at this point in the history
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
  • Loading branch information
1 parent 3c9b86b commit cc68469
Show file tree
Hide file tree
Showing 79 changed files with 13,212 additions and 3,237 deletions.
436 changes: 218 additions & 218 deletions .github/workflows/test-and-release.yml

Large diffs are not rendered by default.

2,071 changes: 1,249 additions & 822 deletions CHANGELOG_OLD.md

Large diffs are not rendered by default.

320 changes: 277 additions & 43 deletions DEVELOPER.md

Large diffs are not rendered by default.

72 changes: 40 additions & 32 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,31 +15,36 @@ User interface for configuration and administration of ioBroker.
**This adapter uses Sentry libraries to automatically report exceptions and code errors to the developers.** For more details and for information how to disable the error reporting see [Sentry-Plugin Documentation](https://github.com/ioBroker/plugin-sentry#plugin-sentry)! Sentry reporting is used starting with js-controller 3.0.

## JSON config schema

The JSON config schema description can be found at [JSON config schema](/packages/jsonConfig/SCHEMA.md).

## Using common.localLink
- `%ip%` - ioBroker ip address (address of the admin)
- `%secure%` or `%protocol%` - read from `native.secure` the value and use http or https
- `%web_protocol%` - looking for the first instance of web (e.g., `web.0`) and get `native.secure` from `system.adapter.web.0`
- `%instance%` - instance of the adapter
- `%someField%` - get someField from `native` of this adapter instance
- `%web.0_bind%` - get `native.bind` from `system.adapter.web.0`
- `%native_someField%` - get someField from `native` of this adapter instance

- `%ip%` - ioBroker ip address (address of the admin)
- `%secure%` or `%protocol%` - read from `native.secure` the value and use http or https
- `%web_protocol%` - looking for the first instance of web (e.g., `web.0`) and get `native.secure` from `system.adapter.web.0`
- `%instance%` - instance of the adapter
- `%someField%` - get someField from `native` of this adapter instance
- `%web.0_bind%` - get `native.bind` from `system.adapter.web.0`
- `%native_someField%` - get someField from `native` of this adapter instance

## Scheduled restart

Some adapters are not stable or connection disappears after one or two days.
To fix this, there is a scheduled restart setting.
To activate scheduled restart, just define CRON condition when to restart adapter.

It is suggested to restart in the night, when no one use the adapter, e.g. `0 3 * * *` - at 3:00 every day.

## Let's Encrypt Certificates

To manage and update, let's encrypt certificates you need to use [`iobroker.acme`](https://github.com/iobroker-community-adapters/ioBroker.acme) adapter.

You will have so-called "collections" of certificates. Each collection has its own domains.
You can select in configuration of admin adapter if and which collection to use.

## Simple instance's settings page

The user has the possibility to limit the access to the instance configuration dialog.
For that, the option "Allow access only to specific instances" must be activated.
It could be found on the "Access to the instances" tab.
Expand All @@ -48,36 +53,32 @@ Additionally, the allowed instances should be selected in the appeared configura
If this option is disabled, the simple configuration page could be accessed under `http://IP:8081/configs.html`

## Reverse proxy

Please be sure that you forward not only the http/https requests, but the web-socket traffic too. It is essential for communication.

From version 6.1.0 you have the possibility to tune intro page for usage with reverse proxy.

### Example
Your `ioBroker.admin` runs on port 8081 behind reverse proxy with domain `iobroker.mydomain.com` under path `/ioBrokerAdmin/`.
And you set up e.g., nginx to forward the requests to the `http://local-iobroker.IP:8081`.
### Example

Your `ioBroker.admin` runs on port 8081 behind reverse proxy with domain `iobroker.mydomain.com` under path `/ioBrokerAdmin/`.
And you set up e.g., nginx to forward the requests to the `http://local-iobroker.IP:8081`.

The same is with your web instance: `https://iobroker.mydomain.com/ioBrokerWeb/ => http://local-iobroker.IP:8082`.
And with rest-api instance: `https://iobroker.mydomain.com/ioBrokerAPI/ => http://local-iobroker.IP:8093`.

You can add the following lines into Reverse Proxy tab to let Intro tab run behind reverse proxy properly:

| Global path | Instance | Instance path behind proxy |
|-------------------|---------------|----------------------------|
| ----------------- | ------------- | -------------------------- |
| `/ioBrokerAdmin/` | `web.0` | `/ioBrokerWeb/` |
| | `rest-api.0` | `/ioBrokerAPI/` |
| | `admin.0` | `/ioBrokerAdmin/` |
| | `eventlist.0` | `/ioBrokerWeb/eventlist/` |

So all links of instances that use web server, like `eventlist`, `vis`, `material` and so on will use `https://iobroker.mydomain.com/ioBrokerWeb/` path

## OAuth2.0 Authentication flow
There is a possibility to use OAuth2.0 authentication for other services. Admin has an endpoint `oauth2_callbacks`.

The calls like `http(s)://ip:port/oauth2_callbacks/adapterName.X/?state=ABC&code=123&param=true&param2` will be processed and the special message `oauth2Callback` will be sent to `adapterName.X` instance with query parameters `{"state": "ABC", "code": 123, "param": true, "param2": true}`.

As mandatory response the admin expects the object like: `{"result": "Show this text to user by success", "error": "ERROR: Result will be ignored"}`. The result or error will be shown to the user. Please send already translated messages.

## Used icons

This project uses icons from [Flaticon](https://www.flaticon.com/).

ioBroker GmbH has a valid license for all used icons.
Expand All @@ -89,32 +90,39 @@ The icons may not be reused in other projects without the proper flaticon licens

### **WORK IN PROGRESS**

* (@GermanBluefox) Added the history for the installation from URL
* (@foxriver76) fixed wrongly displayed repository warning
- (@GermanBluefox) Added the check of well-known passwords for the linux systems
- (@GermanBluefox) Added the history for the installation from URL
- (@foxriver76) fixed wrongly displayed repository warning

### 7.1.5 (2024-09-26)
* (bluefox) Added the read-only flag to the `state` JSON Config component

- (bluefox) Added the read-only flag to the `state` JSON Config component

### 7.1.3 (2024-09-20)
* (@foxriver76) improve appearance and standardization of some warning messages
* (@foxriver76) indicate `alert` warnings by the badge color on the notification button
* (@foxriver76) allow distinguishing between alert notifications and others for host notifications
* (@foxriver76) do not automatically open the notification dialog without user interaction
* (@foxriver76) fixed logging as a socket client is now throwing real errors

- (@foxriver76) improve appearance and standardization of some warning messages
- (@foxriver76) indicate `alert` warnings by the badge color on the notification button
- (@foxriver76) allow distinguishing between alert notifications and others for host notifications
- (@foxriver76) do not automatically open the notification dialog without user interaction
- (@foxriver76) fixed logging as a socket client is now throwing real errors

### 7.1.2 (2024-09-20)
* (@foxriver76) fixed host base settings dialog

- (@foxriver76) fixed host base settings dialog

### 7.1.1 (2024-09-15)
* (bluefox) Showed the context menu under cursor position in the object browser
* (bluefox) Added links to aliases in the object browser
* (bluefox) Added confirmation for CRON dialog if set to triggering every minute

- (bluefox) Showed the context menu under cursor position in the object browser
- (bluefox) Added links to aliases in the object browser
- (bluefox) Added confirmation for CRON dialog if set to triggering every minute

### 7.1.0 (2024-09-02)
* (bluefox) Added the possibility to show button in notifications
* (bluefox) Removed gulp from the build process

- (bluefox) Added the possibility to show button in notifications
- (bluefox) Removed gulp from the build process

## License

The MIT License (MIT)

Copyright (c) 2014-2024 bluefox <[email protected]>
38 changes: 15 additions & 23 deletions lerna.json
Original file line number Diff line number Diff line change
@@ -1,25 +1,17 @@
{
"version": "7.1.5",
"packages": [
"packages/*"
],
"command": {
"run": {
"stream": true
"version": "7.1.5",
"packages": ["packages/*"],
"command": {
"run": {
"stream": true
},
"version": {
"npmClientArgs": ["-f"],
"allowBranch": ["master"],
"ignoreChanges": ["*.md"],
"exact": true,
"forcePublish": true
}
},
"version": {
"npmClientArgs": [
"-f"
],
"allowBranch": [
"master"
],
"ignoreChanges": [
"*.md"
],
"exact": true,
"forcePublish": true
}
},
"$schema": "node_modules/lerna/schemas/lerna-schema.json"
}
"$schema": "node_modules/lerna/schemas/lerna-schema.json"
}
Loading

0 comments on commit cc68469

Please sign in to comment.