mirror of
https://github.com/Lissy93/dashy.git
synced 2025-07-30 17:15:29 +02:00
Auto Publish new pages
parent
05bab5a52e
commit
3d96365845
@ -77,6 +77,7 @@ The following file provides a reference of all supported configuration options.
|
|||||||
--- | --- | --- | ---
|
--- | --- | --- | ---
|
||||||
**`title`** | `string` | Required | The text to display on the link button
|
**`title`** | `string` | Required | The text to display on the link button
|
||||||
**`path`** | `string` | Required | The URL to navigate to when clicked. Can be relative (e.g. `/about`) or absolute (e.g. `https://example.com` or `http://192.168.1.1`)
|
**`path`** | `string` | Required | The URL to navigate to when clicked. Can be relative (e.g. `/about`) or absolute (e.g. `https://example.com` or `http://192.168.1.1`)
|
||||||
|
**`target`** | `string` | _Optional_ | The opening method (external links only). Can be either `newtab`, `sametab`, `top` or `parent`. Defaults to `newtab`
|
||||||
|
|
||||||
**[⬆️ Back to Top](#configuring)**
|
**[⬆️ Back to Top](#configuring)**
|
||||||
|
|
||||||
@ -91,7 +92,8 @@ The following file provides a reference of all supported configuration options.
|
|||||||
**`statusCheckInterval`** | `boolean` | _Optional_ | The number of seconds between checks. If set to `0` then service will only be checked on initial page load, which is usually the desired functionality. If value is less than `10` you may experience a hit in performance. Defaults to `0`
|
**`statusCheckInterval`** | `boolean` | _Optional_ | The number of seconds between checks. If set to `0` then service will only be checked on initial page load, which is usually the desired functionality. If value is less than `10` you may experience a hit in performance. Defaults to `0`
|
||||||
**`webSearch`** | `object` | _Optional_ | Configuration options for the web search feature, set your default search engine, opening method or disable web search. See [`webSearch`](#appconfigwebsearch-optional)
|
**`webSearch`** | `object` | _Optional_ | Configuration options for the web search feature, set your default search engine, opening method or disable web search. See [`webSearch`](#appconfigwebsearch-optional)
|
||||||
**`backgroundImg`** | `string` | _Optional_ | Path to an optional full-screen app background image. This can be either remote (http) or local (/). Note that this will slow down initial load
|
**`backgroundImg`** | `string` | _Optional_ | Path to an optional full-screen app background image. This can be either remote (http) or local (/). Note that this will slow down initial load
|
||||||
**`enableFontAwesome`** | `boolean` | _Optional_ | Where `true` is enabled, if left blank font-awesome will be enabled only if required by 1 or more icons
|
**`enableFontAwesome`** | `boolean` | _Optional_ | If set to `true` font-awesome will be loaded, if set to `false` they will not be. if left blank font-awesome will be enabled only if required by 1 or more icons
|
||||||
|
**`enableMaterialDesignIcons`** | `boolean` | _Optional_ | If set to `true` mdi icons will be loaded, if set to `false` they will not be. Where `true` is enabled, if left blank material design icons will be enabled only if required by 1 or more icons
|
||||||
**`fontAwesomeKey`** | `string` | _Optional_ | If you have a font-awesome key, then you can use it here and make use of premium icons. It is a 10-digit alpha-numeric string from you're FA kit URL (e.g. `13014ae648`)
|
**`fontAwesomeKey`** | `string` | _Optional_ | If you have a font-awesome key, then you can use it here and make use of premium icons. It is a 10-digit alpha-numeric string from you're FA kit URL (e.g. `13014ae648`)
|
||||||
**`faviconApi`** | `enum` | _Optional_ | Only applicable if you are using favicons for item icons. Specifies which service to use to resolve favicons. Set to `local` to do this locally, without using an API. Services running locally will use this option always. Available options are: `local`, `faviconkit`, `iconhorse`, `google`, `clearbit`, `webmasterapi` and `allesedv`. Defaults to `faviconkit`. See [Icons](/docs/icons.md#favicons) for more info
|
**`faviconApi`** | `enum` | _Optional_ | Only applicable if you are using favicons for item icons. Specifies which service to use to resolve favicons. Set to `local` to do this locally, without using an API. Services running locally will use this option always. Available options are: `local`, `faviconkit`, `iconhorse`, `google`, `clearbit`, `webmasterapi` and `allesedv`. Defaults to `faviconkit`. See [Icons](/docs/icons.md#favicons) for more info
|
||||||
**`auth`** | `object` | _Optional_ | All settings relating to user authentication. See [`auth`](#appconfigauth-optional)
|
**`auth`** | `object` | _Optional_ | All settings relating to user authentication. See [`auth`](#appconfigauth-optional)
|
||||||
@ -206,6 +208,7 @@ For more info, see the **[Authentication Docs](/docs/authentication.md)**
|
|||||||
**`statusCheckHeaders`** | `object` | _Optional_ | If you're endpoint requires any specific headers for the status checking, then define them here
|
**`statusCheckHeaders`** | `object` | _Optional_ | If you're endpoint requires any specific headers for the status checking, then define them here
|
||||||
**`statusCheckAllowInsecure`** | `boolean` | _Optional_ | By default, any request to insecure content will be blocked. Setting this option to `true` will disable the `rejectUnauthorized` option, enabling you to ping non-HTTPS services for the current item. Defaults to `false`
|
**`statusCheckAllowInsecure`** | `boolean` | _Optional_ | By default, any request to insecure content will be blocked. Setting this option to `true` will disable the `rejectUnauthorized` option, enabling you to ping non-HTTPS services for the current item. Defaults to `false`
|
||||||
**`statusCheckAcceptCodes`** | `string` | _Optional_ | If your service's response code is anything other than 2xx, then you can opt to specify an alternative success code. E.g. if you expect your server to return 403, but still want the status indicator to be green, set this value to `403`
|
**`statusCheckAcceptCodes`** | `string` | _Optional_ | If your service's response code is anything other than 2xx, then you can opt to specify an alternative success code. E.g. if you expect your server to return 403, but still want the status indicator to be green, set this value to `403`
|
||||||
|
**`statusCheckMaxRedirects`** | `number` | _Optional_ | If your service redirects to another page, and you would like status checks to follow redirects, then specify the maximum number of redirects here. Defaults to `0` / will not follow redirects
|
||||||
**`color`** | `string` | _Optional_ | An optional color for the text and font-awesome icon to be displayed in. Note that this will override the current theme and so may not display well
|
**`color`** | `string` | _Optional_ | An optional color for the text and font-awesome icon to be displayed in. Note that this will override the current theme and so may not display well
|
||||||
**`backgroundColor`** | `string` | _Optional_ | An optional background fill color for the that given item. Again, this will override the current theme and so might not display well against the background
|
**`backgroundColor`** | `string` | _Optional_ | An optional background fill color for the that given item. Again, this will override the current theme and so might not display well against the background
|
||||||
**`provider`** | `string` | _Optional_ | The name of the provider for a given service, useful for when including hosted apps. In some themes, this is visible under the item name
|
**`provider`** | `string` | _Optional_ | The name of the provider for a given service, useful for when including hosted apps. In some themes, this is visible under the item name
|
||||||
@ -220,6 +223,7 @@ For more info, see the **[Authentication Docs](/docs/authentication.md)**
|
|||||||
**`options`** | `object` | _Optional_ | Some widgets accept either optional or required additional options. Again, see the [Widget Docs](/docs/widgets.md) for full list of options
|
**`options`** | `object` | _Optional_ | Some widgets accept either optional or required additional options. Again, see the [Widget Docs](/docs/widgets.md) for full list of options
|
||||||
**`updateInterval`** | `number` | _Optional_ | You can keep a widget constantly updated by specifying an update interval, in seconds. See [Continuous Updates Docs](/docs/widgets.md#continuous-updates) for more info
|
**`updateInterval`** | `number` | _Optional_ | You can keep a widget constantly updated by specifying an update interval, in seconds. See [Continuous Updates Docs](/docs/widgets.md#continuous-updates) for more info
|
||||||
**`useProxy`** | `boolean` | _Optional_ | Some widgets make API requests to services that are not CORS-enabled. For these instances, you will need to route requests through a proxy, Dashy has a built in CORS-proxy, which you can use by setting this option to `true`. Defaults to `false`. See the [Proxying Requests Docs](/docs/widgets.md#proxying-requests) for more info
|
**`useProxy`** | `boolean` | _Optional_ | Some widgets make API requests to services that are not CORS-enabled. For these instances, you will need to route requests through a proxy, Dashy has a built in CORS-proxy, which you can use by setting this option to `true`. Defaults to `false`. See the [Proxying Requests Docs](/docs/widgets.md#proxying-requests) for more info
|
||||||
|
**`timeout`** | `number` | _Optional_ | Request timeout in milliseconds, defaults to ½ a second (`500`)
|
||||||
|
|
||||||
**[⬆️ Back to Top](#configuring)**
|
**[⬆️ Back to Top](#configuring)**
|
||||||
|
|
||||||
|
20
credits.md
20
credits.md
@ -32,28 +32,21 @@
|
|||||||
<sub><b>Vlad Timofeev</b></sub>
|
<sub><b>Vlad Timofeev</b></sub>
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
<td align="center">
|
|
||||||
<a href="https://github.com/aghybris">
|
|
||||||
<img src="https://avatars.githubusercontent.com/u/11677119?v=4" width="80;" alt="aghybris"/>
|
|
||||||
<br />
|
|
||||||
<sub><b>Aghybris</b></sub>
|
|
||||||
</a>
|
|
||||||
</td>
|
|
||||||
<td align="center">
|
<td align="center">
|
||||||
<a href="https://github.com/Byolock">
|
<a href="https://github.com/Byolock">
|
||||||
<img src="https://avatars.githubusercontent.com/u/25748003?v=4" width="80;" alt="Byolock"/>
|
<img src="https://avatars.githubusercontent.com/u/25748003?v=4" width="80;" alt="Byolock"/>
|
||||||
<br />
|
<br />
|
||||||
<sub><b>Byolock</b></sub>
|
<sub><b>Byolock</b></sub>
|
||||||
</a>
|
</a>
|
||||||
</td></tr>
|
</td>
|
||||||
<tr>
|
|
||||||
<td align="center">
|
<td align="center">
|
||||||
<a href="https://github.com/hugalafutro">
|
<a href="https://github.com/hugalafutro">
|
||||||
<img src="https://avatars.githubusercontent.com/u/30209689?v=4" width="80;" alt="hugalafutro"/>
|
<img src="https://avatars.githubusercontent.com/u/30209689?v=4" width="80;" alt="hugalafutro"/>
|
||||||
<br />
|
<br />
|
||||||
<sub><b>Hugalafutro</b></sub>
|
<sub><b>Hugalafutro</b></sub>
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td></tr>
|
||||||
|
<tr>
|
||||||
<td align="center">
|
<td align="center">
|
||||||
<a href="https://github.com/KierenConnell">
|
<a href="https://github.com/KierenConnell">
|
||||||
<img src="https://avatars.githubusercontent.com/u/46445781?u=5502f8fb780938e2825735d7bbb9236642d212c0&v=4" width="80;" alt="KierenConnell"/>
|
<img src="https://avatars.githubusercontent.com/u/46445781?u=5502f8fb780938e2825735d7bbb9236642d212c0&v=4" width="80;" alt="KierenConnell"/>
|
||||||
@ -61,6 +54,13 @@
|
|||||||
<sub><b>Kieren Connell</b></sub>
|
<sub><b>Kieren Connell</b></sub>
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
|
<td align="center">
|
||||||
|
<a href="https://github.com/gdepountis">
|
||||||
|
<img src="https://avatars.githubusercontent.com/u/56775783?v=4" width="80;" alt="gdepountis"/>
|
||||||
|
<br />
|
||||||
|
<sub><b>gdepountis</b></sub>
|
||||||
|
</a>
|
||||||
|
</td>
|
||||||
<td align="center">
|
<td align="center">
|
||||||
<a href="https://github.com/ratty222">
|
<a href="https://github.com/ratty222">
|
||||||
<img src="https://avatars.githubusercontent.com/u/92832598?u=137b65530cbd5f5af9c24cde51baa6cc77cc934b&v=4" width="80;" alt="ratty222"/>
|
<img src="https://avatars.githubusercontent.com/u/92832598?u=137b65530cbd5f5af9c24cde51baa6cc77cc934b&v=4" width="80;" alt="ratty222"/>
|
||||||
|
117
privacy.md
117
privacy.md
@ -7,58 +7,141 @@ It's fully open source, and I've tried to keep to code as clear and thoroughly d
|
|||||||
|
|
||||||
For privacy and security tips, check out another project of mine: **[Personal Security Checklist](https://github.com/Lissy93/personal-security-checklist)**.
|
For privacy and security tips, check out another project of mine: **[Personal Security Checklist](https://github.com/Lissy93/personal-security-checklist)**.
|
||||||
|
|
||||||
|
- [External Requests](#external-requests)
|
||||||
|
- [Themes](#themes)
|
||||||
|
- [Icons](#icons)
|
||||||
|
- [Features](#features)
|
||||||
|
- [Widgets](#widgets)
|
||||||
|
- [Browser Storage](#browser-storage)
|
||||||
|
- [App Dependencies](#dependencies)
|
||||||
|
- [Security Features](#security-features)
|
||||||
|
- [Securing your Environment](#securing-your-environment)
|
||||||
|
- [Reporting a Security Issue](#reporting-a-security-issue)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## External Requests
|
## External Requests
|
||||||
By default, Dashy will not make any external requests, unless you configure it to. Some features (which are off by default) do require internat access, and this section outlines those features, the services used, and links to their privacy policies.
|
By default, Dashy will not make any external requests, unless you configure it to. Some features (which are off by default) do require internat access, and this section outlines those features, the services used, and links to their privacy policies.
|
||||||
|
|
||||||
### Font Awesome
|
The following section outlines all network requests that are made when certain features are enabled.
|
||||||
If either any of your sections or items are using font-awesome icons, then these will be fetched directly from font-awesome on page load. See the [Font Awesome Privacy Policy](https://fontawesome.com/privacy) for more info.
|
|
||||||
|
|
||||||
### Favicon Fetching
|
### Themes
|
||||||
|
|
||||||
|
### Icons
|
||||||
|
|
||||||
|
#### Font Awesome
|
||||||
|
If either any of your sections, items or themes are using icons from font-awesome, then it will be automatically enabled. But you can also manually enable or disable it by setting `appConfig.enableFontAwesome` to `true` / `false`. Requests are made directly to Font-Awesome CDN, for more info, see the [Font Awesome Privacy Policy](https://fontawesome.com/privacy).
|
||||||
|
|
||||||
|
#### Material Design Icons
|
||||||
|
If either any of your sections, items or themes are mdi icons, then it will be automatically enabled. But you can also manually enable or disable it by setting `appConfig.enableMaterialDesignIcons` to `true` / `false`. Requests are made directly to Material-Design-Icons CDN, for more info, see the [Material Design Icons Website](https://materialdesignicons.com/).
|
||||||
|
|
||||||
|
|
||||||
|
#### Favicon Fetching
|
||||||
If an item's icon is set to `favicon`, then it will be auto-fetched from the corresponding URL. Since not all websites have their icon located at `/favicon.ico`, and if they do, it's often very low resolution (like `16 x 16 px`). Therefore, the default behavior is for Dashy to check if the URL is public, and if so will use an API to fetch the favicon. For self-hosted services, the favion will be fetched from the default path, and no external requests will be made.
|
If an item's icon is set to `favicon`, then it will be auto-fetched from the corresponding URL. Since not all websites have their icon located at `/favicon.ico`, and if they do, it's often very low resolution (like `16 x 16 px`). Therefore, the default behavior is for Dashy to check if the URL is public, and if so will use an API to fetch the favicon. For self-hosted services, the favion will be fetched from the default path, and no external requests will be made.
|
||||||
|
|
||||||
The default favicon API is [Favicon Kit](https://faviconkit.com/), but this can be changed by setting `appConfig.faviconApi` to an alternate source (`google`, `clearbit`, `webmasterapi` and `allesedv` are supported). If you do not want to use any API, then you can set this property to `local`, and the favicon will be fetched from the default path. For hosted services, this will still incur an external request.
|
The default favicon API is [allesedv.com](https://favicon.allesedv.com/), but this can be changed by setting `appConfig.faviconApi` to an alternate source (`iconhorse`, `clearbit`, `faviconkit`, `besticon`, `duckduckgo`, `google` and `allesedv` are supported). If you do not want to use any API, then you can set this property to `local`, and the favicon will be fetched from the default path. For hosted services, this will still incur an external request.
|
||||||
|
|
||||||
### Generative Icons
|
#### Generative Icons
|
||||||
If an item has the icon set to `generative`, then an external request it made to [Dice Bear](https://dicebear.com/) to fetch the uniquely generated icon. The URL of a given service is used as the key for generating the icon, but it is first hashed and encoded for basic privacy. For more info, please reference the [Dicebear Privacy Policy](https://avatars.dicebear.com/legal/privacy-policy)
|
If an item has the icon set to `generative`, then an external request it made to [Dice Bear](https://dicebear.com/) to fetch the uniquely generated icon. The URL of a given service is used as the key for generating the icon, but it is first hashed and encoded for basic privacy. For more info, please reference the [Dicebear Privacy Policy](https://avatars.dicebear.com/legal/privacy-policy)
|
||||||
|
|
||||||
|
As a fallback, if Dicebear fails, then [Evatar](https://evatar.io/) is used.
|
||||||
|
|
||||||
### Other Icons
|
|
||||||
|
#### Other Icons
|
||||||
Section icons, item icons and app icons are able to accept a URL to a raw image, if the image is hosted online then an external request will be made. To avoid the need to make external requests for icon assets, you can either use a self-hosted CDN, or store your images within `./public/item-icons` (which can be mounted as a volume if you're using Docker).
|
Section icons, item icons and app icons are able to accept a URL to a raw image, if the image is hosted online then an external request will be made. To avoid the need to make external requests for icon assets, you can either use a self-hosted CDN, or store your images within `./public/item-icons` (which can be mounted as a volume if you're using Docker).
|
||||||
|
|
||||||
### Web Assets
|
#### Web Assets
|
||||||
By default, all assets required by Dashy come bundled within the source, and so no external requests are made. If you add an additional font, which is imported from a CDN, then that will incur an external request. The same applies for other web assets, like external images, scripts or styles.
|
By default, all assets required by Dashy come bundled within the source, and so no external requests are made. If you add an additional font, which is imported from a CDN, then that will incur an external request. The same applies for other web assets, like external images, scripts or styles.
|
||||||
|
|
||||||
### Status Checking
|
### Features
|
||||||
The status check util will ping your services directly, and does not rely on any third party. If you are checking the uptime status of a public/ hosted application, then please refer to that services privacy policy. For all self-hosted services, requests happen locally within your network, and are not external.
|
|
||||||
|
|
||||||
### Update Checks
|
#### Status Checking
|
||||||
|
The status checking feature allows you to ping your apps/ services to check if they are currently operational.
|
||||||
|
|
||||||
|
Dashy will ping your services directly, and does not rely on any third party. If you are checking the uptime status of a public/ hosted application, then please refer to that services privacy policy. For all self-hosted services, requests happen locally within your network, and are not external.
|
||||||
|
|
||||||
|
#### Update Checks
|
||||||
When the application loads, it checks for updates. The results of which are displayed in the config menu of the UI. This was implemented because using a very outdated version of Dashy may have unfixed issues. Your version is fetched from the source (local request), but the latest version is fetched from GitHub, which is an external request. This can be disabled by setting `appConfig.disableUpdateChecks: true`
|
When the application loads, it checks for updates. The results of which are displayed in the config menu of the UI. This was implemented because using a very outdated version of Dashy may have unfixed issues. Your version is fetched from the source (local request), but the latest version is fetched from GitHub, which is an external request. This can be disabled by setting `appConfig.disableUpdateChecks: true`
|
||||||
|
|
||||||
### Anonymous Error Reporting
|
#### Anonymous Error Reporting
|
||||||
Error reporting is disabled by default, and no data will ever be sent without your explicit consent. In fact, the error tracking method will not even be imported unless you have actively enabled it. [Sentry](https://github.com/getsentry/sentry) is used for this, it's an open source error tracking and performance monitoring tool, which is used to identify any issues which occur in the production app (if you enable it).
|
Error reporting is disabled by default, and no data will ever be sent without your explicit consent. In fact, the error tracking code isn't even imported unless you have actively enabled it. [Sentry](https://github.com/getsentry/sentry) is used for this, it's an open source error tracking and performance monitoring tool, used to identify any issues which occur in the production app (if you enable it).
|
||||||
|
|
||||||
The crash report includes the file or line of code that triggered the error, and a 2-layer deep stack trace. Reoccurring errors will also include the following user information: OS type (Mac, Windows, Linux, Android or iOS) and browser type (Firefox, Chrome, IE, Safari). Data scrubbing is enabled. IP address will not be stored. If any potentially identifiable data ever finds its way into a crash report, it will be automatically and permanently erased. All statistics collected are anonomized and stored securely, and ae automatically deleted after 14 days. For more about privacy and security, see the [Sentry Docs](https://sentry.io/security/).
|
The crash report includes the file or line of code that triggered the error, and a 2-layer deep stack trace. Reoccurring errors will also include the following user information: OS type (Mac, Windows, Linux, Android or iOS) and browser type (Firefox, Chrome, IE, Safari). Data scrubbing is enabled. IP address will not be stored. If any potentially identifiable data ever finds its way into a crash report, it will be automatically and permanently erased. All statistics collected are anonomized and stored securely, and ae automatically deleted after 14 days. For more about privacy and security, see the [Sentry Docs](https://sentry.io/security/).
|
||||||
|
|
||||||
Enabling anonymous error reporting helps me to discover bugs I was unaware of, and then fix them, in order to make Dashy more reliable long term. Error reporting is activated by setting `appConfig.enableErrorReporting: true`.
|
Enabling anonymous error reporting helps me to discover bugs I was unaware of, and then fix them, in order to make Dashy more reliable long term. Error reporting is activated by setting `appConfig.enableErrorReporting: true`.
|
||||||
|
|
||||||
If you need to monitor bugs yourself, then you can [self-host your own Sentry Server](https://develop.sentry.dev/self-hosted/), and use it by setting `appConfig.sentryDsn` to your Sentry instances [Data Source Name](https://docs.sentry.io/product/sentry-basics/dsn-explainer/), then just enable error reporting in Dashy.
|
If you need to monitor bugs yourself, then you can [self-host your own Sentry Server](https://develop.sentry.dev/self-hosted/), and use it by setting `appConfig.sentryDsn` to your Sentry instances [Data Source Name](https://docs.sentry.io/product/sentry-basics/dsn-explainer/), then just enable error reporting in Dashy.
|
||||||
|
|
||||||
### Widgets
|
### Widgets
|
||||||
|
|
||||||
|
Dashy supports [Widgets](/docs/widgets.md) for displaying dynamic content. The following widgets make external data requests:
|
||||||
|
|
||||||
|
- **[Weather](/docs/widgets.md#weather)** and **[Weather Forecast](/docs/widgets.md#weather-forecast)**: `https://api.openweathermap.org`
|
||||||
|
- [OWM Privacy Policy](https://openweather.co.uk/privacy-policy)
|
||||||
|
- **[RSS Feed](/docs/widgets.md#rss-feed)**: `https://api.rss2json.com/v1/api.json`
|
||||||
|
- [Rss2Json Privacy Policy](https://rss2json.com/privacy-policy)
|
||||||
|
- **[IP Address](/docs/widgets.md#public-ip)**: `https://ipapi.co/json` or `http://ip-api.com/json`
|
||||||
|
- [IPGeoLocation Privacy Policy](https://ipgeolocation.io/privacy.html)
|
||||||
|
- [IP-API Privacy Policy](https://ip-api.com/docs/legal)
|
||||||
|
- **[Crypto Watch List](/docs/widgets.md#crypto-watch-list)** and **[Token Price History](/docs/widgets.md#crypto-token-price-history)**: `https://api.coingecko.com`
|
||||||
|
- [CoinGecko Privacy Policy](https://www.coingecko.com/en/privacy)
|
||||||
|
- **[Wallet Balance](/docs/widgets.md#wallet-balance)**: `https://api.blockcypher.com/`
|
||||||
|
- BlockCypher Privacy Policy](https://www.blockcypher.com/privacy.html)
|
||||||
|
- **[Code::Stats](/docs/widgets.md#code-stats)**: `https://codestats.net`
|
||||||
|
- [Code::Stats Privacy Policy](https://codestats.net/tos#privacy)
|
||||||
|
- **[AnonAddy](/docs/widgets.md#anonaddy)**: `https://app.anonaddy.com`
|
||||||
|
- [AnonAddy Privacy Policy](https://anonaddy.com/privacy/)
|
||||||
|
- **[Vulnerability Feed](/docs/widgets.md#vulnerability-feed)**: `https://www.cvedetails.com`
|
||||||
|
- [CVE Details Privacy Policy](https://www.cvedetails.com/privacy.php)
|
||||||
|
- **[Exchange Rate](/docs/widgets.md#exchange-rates)**: `https://v6.exchangerate-api.com`
|
||||||
|
- [ExchangeRateAPI Privacy Policy](https://www.exchangerate-api.com/terms)
|
||||||
|
- **[Public Holidays](/docs/widgets.md#public-holidays)**: `https://kayaposoft.com`
|
||||||
|
- [jurajmajer/enrico](https://github.com/jurajmajer/enrico)
|
||||||
|
- **[Covid-19 Status](/docs/widgets.md#covid-19-status)**: `https://codestats.net`
|
||||||
|
- [disease-sh/api](https://github.com/disease-sh/api)
|
||||||
|
- **[Sports Scores](/docs/widgets.md#sports-scores)**: `https://thesportsdb.com`
|
||||||
|
- No Policy Availible
|
||||||
|
- **[News Headlines](/docs/widgets.md#news-headlines)**: `https://api.currentsapi.services`
|
||||||
|
- [CurrentsAPI Privacy Policy](https://currentsapi.services/privacy)
|
||||||
|
- **[TFL Status](/docs/widgets.md#tfl-status)**: `https://api.tfl.gov.uk`
|
||||||
|
- [TFL Privacy Policy](https://tfl.gov.uk/corporate/privacy-and-cookies/)
|
||||||
|
- **[Stock Price History](/docs/widgets.md#stock-price-history)**: `https://alphavantage.co`
|
||||||
|
- [AlphaVantage Privacy Policy](https://www.alphavantage.co/privacy/)
|
||||||
|
- **[ETH Gas Prices](/docs/widgets.md#eth-gas-prices)**: `https://ethgas.watch`
|
||||||
|
- [wslyvh/ethgaswatch](https://github.com/wslyvh/ethgaswatch)
|
||||||
|
- **[Joke](/docs/widgets.md#joke)**: `https://v2.jokeapi.dev`
|
||||||
|
- [SV443's Privacy Policy](https://sv443.net/privacypolicy/en)
|
||||||
|
- **[Flight Data](/docs/widgets.md#flight-data)**: `https://aerodatabox.p.rapidapi.com`
|
||||||
|
- [AeroDataBox](https://www.aerodatabox.com/#h.p_CXtIYZWF_WQd)
|
||||||
|
- **[Astronomy Picture of the Day](/docs/widgets.md#astronomy-picture-of-the-day)**: `https://apodapi.herokuapp.com`
|
||||||
|
- [NASA's Privacy Policy](https://www.nasa.gov/about/highlights/HP_Privacy.html)
|
||||||
|
- **[GitHub Trending](/docs/widgets.md#github-trending)** and **[GitHub Profile Stats](/docs/widgets.md#github-profile-stats)**: `https://api.github.com`
|
||||||
|
- [GitHub's Privacy Policy](https://docs.github.com/en/github/site-policy/github-privacy-statement)
|
||||||
|
- **[Cron Monitoring (Health Checks)](/docs/widgets.md#cron-monitoring-health-checks)**: `https://healthchecks.io`
|
||||||
|
- [Health-Checks Privacy Policy](https://healthchecks.io/privacy/)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Local Storage
|
## Browser Storage
|
||||||
In order for user preferences to be persisted between sessions, certain data needs to be stored in the browsers local storage. No personal info is kept here, none of this data can be accessed by other domains, and no data is ever sent to any server without your prior consent.
|
In order for user preferences to be persisted between sessions, certain data needs to be stored in the browsers local storage. No personal info is kept here, none of this data can be accessed by other domains, and no data is ever sent to any server without your prior consent.
|
||||||
You can view your browsers session storage by opening up the dev tools (F12) --> Application --> Storage.
|
You can view your browsers session storage by opening up the dev tools (F12) --> Application --> Storage.
|
||||||
|
|
||||||
The following section outlines all data that is stored in the browsers, as cookies or local storage.
|
The following section outlines all data that is stored in the browsers, as cookies or local storage.
|
||||||
|
|
||||||
#### Cookies
|
#### Cookies
|
||||||
|
> Cookies have a pre-defined lifetime
|
||||||
|
|
||||||
- `AUTH_TOKEN` - A unique token, generated from a hash of users credentials, to verify they are authenticated. Only used when auth is enabled
|
- `AUTH_TOKEN` - A unique token, generated from a hash of users credentials, to verify they are authenticated. Only used when auth is enabled
|
||||||
|
|
||||||
|
#### Session Storage
|
||||||
|
> [Session storage](https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage) is deleted when the current session ends (tab / window is closed)
|
||||||
|
|
||||||
|
- `SW_STATUS` - The current status of any service workers
|
||||||
|
- `ERROR_LOG` - List of recent errors
|
||||||
|
|
||||||
#### Local Storage
|
#### Local Storage
|
||||||
|
> [Local storage](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage) is persisted between sessions, and only deleted when manually removed
|
||||||
|
|
||||||
- `LANGUAGE` - The locale to show app text in
|
- `LANGUAGE` - The locale to show app text in
|
||||||
- `HIDE_WELCOME_BANNER` - Set to true once user dismissed welcome message, so that it's not shown again
|
- `HIDE_WELCOME_BANNER` - Set to true once user dismissed welcome message, so that it's not shown again
|
||||||
- `LAYOUT_ORIENTATION` - Preferred section layout, either horizontal, vertical or auto
|
- `LAYOUT_ORIENTATION` - Preferred section layout, either horizontal, vertical or auto
|
||||||
@ -76,6 +159,9 @@ The following section outlines all data that is stored in the browsers, as cooki
|
|||||||
- `MOST_USED` - If smart sort is used to order items by most used, store open count
|
- `MOST_USED` - If smart sort is used to order items by most used, store open count
|
||||||
- `LAST_USED` - If smart sort is used to order items by last used, store timestamps
|
- `LAST_USED` - If smart sort is used to order items by last used, store timestamps
|
||||||
|
|
||||||
|
#### Deleting Stored Data
|
||||||
|
You can manually view and delete session storage, local storage and cookies at anytime. Fist [open](/docs/troubleshooting.md#how-to-open-browser-console) your browsers developer tools (usually <kbd>F12</kbd>), then under the Application tab select the storage category. Here you will see a list of stored data, and you can select any item and delete it.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Dependencies
|
## Dependencies
|
||||||
@ -112,6 +198,9 @@ This is covered in more detail in [App Management](/docs/management.md).
|
|||||||
|
|
||||||
Dashy supports SRI, and it is recommended to enable this if you are hosting your dashboard via a public CDN. To enable SRI, set the `INTEGRITY` environmental variable to `true`.
|
Dashy supports SRI, and it is recommended to enable this if you are hosting your dashboard via a public CDN. To enable SRI, set the `INTEGRITY` environmental variable to `true`.
|
||||||
|
|
||||||
|
#### SSL
|
||||||
|
Native SSL support is enabled, for setup instructions, see the [Management Docs](/docs/management.md#ssl-certificates)
|
||||||
|
|
||||||
#### Authentication
|
#### Authentication
|
||||||
Dashy supports both basic auth, as well as server-based SSO using Keycloak. Full details of which, along with alternate authentication methods can be found in the [Authentication Docs](/docs/authentication.md). If your dashboard is exposed to the internet and/ or contains any sensitive info it is strongly recommended to configure access control with Keycloak or another server-side method.
|
Dashy supports both basic auth, as well as server-based SSO using Keycloak. Full details of which, along with alternate authentication methods can be found in the [Authentication Docs](/docs/authentication.md). If your dashboard is exposed to the internet and/ or contains any sensitive info it is strongly recommended to configure access control with Keycloak or another server-side method.
|
||||||
|
|
||||||
|
21
showcase.md
21
showcase.md
@ -16,6 +16,13 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
### Hugalafutro Dashy
|
||||||
|
> By [@hugalafutro](https://github.com/hugalafutro) <sup>[#505](https://github.com/Lissy93/dashy/discussions/505)</sup>
|
||||||
|
|
||||||
|
[](https://i.ibb.co/PDpLDKS/hugalafutro-dashy.gif)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
### Networking Services
|
### Networking Services
|
||||||
> By [@Lissy93](https://github.com/lissy93)
|
> By [@Lissy93](https://github.com/lissy93)
|
||||||
|
|
||||||
@ -126,6 +133,13 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
### Croco_Grievous
|
||||||
|
> By [u/Croco_Grievous](https://www.reddit.com/user/Croco_Grievous/) <sup>via [reddit](https://www.reddit.com/r/selfhosted/comments/t4xk3z/everything_started_with_pihole_on_a_raspberry_pi/)</sup>
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
### Crypto Dash
|
### Crypto Dash
|
||||||
> Example usage of widgets to monitor cryptocurrencies news, prices and data. Config is [available here](https://gist.github.com/Lissy93/000f712a5ce98f212817d20bc16bab10#file-example-8-dashy-crypto-widgets-conf-yml)
|
> Example usage of widgets to monitor cryptocurrencies news, prices and data. Config is [available here](https://gist.github.com/Lissy93/000f712a5ce98f212817d20bc16bab10#file-example-8-dashy-crypto-widgets-conf-yml)
|
||||||
|
|
||||||
@ -134,6 +148,13 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
### Stefantigro
|
||||||
|
> By [u/stefantigro](https://www.reddit.com/user/stefantigro/) <sup>via [reddit](https://www.reddit.com/r/selfhosted/comments/t5oril/been_selfhosting_close_to_half_a_year_now_all/)</sup>
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
### Yet Another Homelab
|
### Yet Another Homelab
|
||||||
|
|
||||||

|

|
||||||
|
@ -278,12 +278,19 @@ If you're serving Dashy though a CDN, instead of using the Node server or Docker
|
|||||||
|
|
||||||
## Widget Errors
|
## Widget Errors
|
||||||
|
|
||||||
|
#### Find Error Message
|
||||||
If an error occurs when fetching or rendering results, you will see a short message in the UI. If that message doesn't addequatley explain the problem, then you can [open the browser console](/docs/troubleshooting.md#how-to-open-browser-console) to see more details.
|
If an error occurs when fetching or rendering results, you will see a short message in the UI. If that message doesn't addequatley explain the problem, then you can [open the browser console](/docs/troubleshooting.md#how-to-open-browser-console) to see more details.
|
||||||
|
|
||||||
|
#### Check Config
|
||||||
Before proceeding, ensure that if the widget requires auth your API is correct, and for custom widgets, double check that the URL and protocol is correct.
|
Before proceeding, ensure that if the widget requires auth your API is correct, and for custom widgets, double check that the URL and protocol is correct.
|
||||||
|
|
||||||
|
#### Timeout Error
|
||||||
|
If the error message in the console includes: `Error: timeout of 500ms exceeded`, then your Glances endpoint is slower to respond than expected. You can fix this by [setting timeout](https://github.com/Lissy93/dashy/blob/master/docs/widgets.md#setting-timeout) to a larger value. This is done on each widget, with the `timeout` attribute, and is specified in ms. E.g. `timeout: 5000` would only fail if no response is returned within 5 seconds.
|
||||||
|
|
||||||
|
#### CORS error
|
||||||
If the console message mentions to corss-origin blocking, then this is a CORS error, see: [Fixing Widget CORS Errors](#widget-cors-errors)
|
If the console message mentions to corss-origin blocking, then this is a CORS error, see: [Fixing Widget CORS Errors](#widget-cors-errors)
|
||||||
|
|
||||||
|
#### More Info
|
||||||
If you're able to, you can find more information about why the request may be failing in the Dev Tools under the Network tab, and you can ensure your endpoint is correct and working using a tool like Postman.
|
If you're able to, you can find more information about why the request may be failing in the Dev Tools under the Network tab, and you can ensure your endpoint is correct and working using a tool like Postman.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
17
widgets.md
17
widgets.md
@ -69,6 +69,7 @@ Dashy has support for displaying dynamic content in the form of widgets. There a
|
|||||||
- [Widget Usage Guide](#widget-usage-guide)
|
- [Widget Usage Guide](#widget-usage-guide)
|
||||||
- [Continuous Updates](#continuous-updates)
|
- [Continuous Updates](#continuous-updates)
|
||||||
- [Proxying Requests](#proxying-requests)
|
- [Proxying Requests](#proxying-requests)
|
||||||
|
- [Setting Timeout](#setting-timeout)
|
||||||
- [Custom CSS Styling](#widget-styling)
|
- [Custom CSS Styling](#widget-styling)
|
||||||
- [Customizing Charts](#customizing-charts)
|
- [Customizing Charts](#customizing-charts)
|
||||||
- [Language Translations](#language-translations)
|
- [Language Translations](#language-translations)
|
||||||
@ -1289,6 +1290,7 @@ All Glance's based widgets require a `hostname`. All other parameters are option
|
|||||||
**`apiVersion`** | `string` | _Optional_ | Specify an API version, defaults to V `3`. Note that support for older versions is limited
|
**`apiVersion`** | `string` | _Optional_ | Specify an API version, defaults to V `3`. Note that support for older versions is limited
|
||||||
**`limit`** | `number` | _Optional_ | For widgets that show a time-series chart, optionally limit the number of data points returned. A higher number will show more historical results, but will take longer to load. A value between 300 - 800 is usually optimal
|
**`limit`** | `number` | _Optional_ | For widgets that show a time-series chart, optionally limit the number of data points returned. A higher number will show more historical results, but will take longer to load. A value between 300 - 800 is usually optimal
|
||||||
|
|
||||||
|
Note that if auth is configured, requests must be proxied with `useProxy: true`
|
||||||
##### Info
|
##### Info
|
||||||
- **CORS**: 🟢 Enabled
|
- **CORS**: 🟢 Enabled
|
||||||
- **Auth**: 🟠 Optional
|
- **Auth**: 🟠 Optional
|
||||||
@ -1726,6 +1728,21 @@ Vary: Origin
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
### Setting Timeout
|
||||||
|
|
||||||
|
If the endpoint you are requesting data from is slow to respond, you may see a timeout error in the console. This can easily be fixed by specifying the `timeout` property on the offending widget. This should be an integer value, in milliseconds. By default timeout is `2500` ms (2½ seconds).
|
||||||
|
|
||||||
|
For example:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
- type: gl-current-cpu
|
||||||
|
timeout: 8000
|
||||||
|
options:
|
||||||
|
hostname: https://glances.dns-device.local
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
### Widget Styling
|
### Widget Styling
|
||||||
|
|
||||||
Like elsewhere in Dashy, all colours can be easily modified with CSS variables.
|
Like elsewhere in Dashy, all colours can be easily modified with CSS variables.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user