Compare commits
198 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dbf7104dd0 | ||
|
|
1f26de4b76 | ||
|
|
ad43e4a2b2 | ||
|
|
171feda4fe | ||
|
|
e5a4e07b8b | ||
|
|
44a5600108 | ||
|
|
d059c5c584 | ||
|
|
523ff8e877 | ||
|
|
ba9115bac1 | ||
|
|
11f6f50748 | ||
|
|
d85c52bceb | ||
|
|
9cf1d7b461 | ||
|
|
e7a2a53d18 | ||
|
|
1ffdfc17fb | ||
|
|
190c6fb007 | ||
|
|
0cd806fb74 | ||
|
|
9f55471f0f | ||
|
|
4add27e83c | ||
|
|
7a3ab14fca | ||
|
|
589af685ac | ||
|
|
8cb861df6c | ||
|
|
5ebda7eb1a | ||
|
|
e3bbd509c3 | ||
|
|
65acca5380 | ||
|
|
e1d4a80e57 | ||
|
|
08f1db2641 | ||
|
|
d78b0b3929 | ||
|
|
14f376cacb | ||
|
|
8ccbc12024 | ||
|
|
c646c36f4f | ||
|
|
d5a5e7bcf9 | ||
|
|
73f6e6d785 | ||
|
|
87b36562cc | ||
|
|
7406b6688d | ||
|
|
f58dd121d5 | ||
|
|
443b10a990 | ||
|
|
e8e48a2cc4 | ||
|
|
94edcee382 | ||
|
|
737a53a589 | ||
|
|
85bff56bd5 | ||
|
|
0f149098a3 | ||
|
|
13b5b145e4 | ||
|
|
a050beea72 | ||
|
|
3952e8dd91 | ||
|
|
68f3c02eb9 | ||
|
|
b4c2703cbb | ||
|
|
cb4fda1786 | ||
|
|
058b17fcbc | ||
|
|
9bfdc7209b | ||
|
|
1a44e84112 | ||
|
|
b722fcbe6e | ||
|
|
d1d26409fc | ||
|
|
fef1e17935 | ||
|
|
5a3782c9f1 | ||
|
|
27e9472ce1 | ||
|
|
23a0a98b4f | ||
|
|
e724c22941 | ||
|
|
27d69ff5ed | ||
|
|
cb2cce5326 | ||
|
|
e790ca2257 | ||
|
|
70a0f9260a | ||
|
|
23003aa82f | ||
|
|
cc51391d14 | ||
|
|
9242a8f55d | ||
|
|
6b32190acd | ||
|
|
69834c7771 | ||
|
|
3513fc9617 | ||
|
|
1348987f08 | ||
|
|
b31dff2815 | ||
|
|
3483d833a0 | ||
|
|
ddad1468d9 | ||
|
|
f20fc8e123 | ||
|
|
3bffb2d8f5 | ||
|
|
0bd4a7b8dd | ||
|
|
69d79dbd7c | ||
|
|
31806c707f | ||
|
|
2a4198c2c8 | ||
|
|
cecfe60bac | ||
|
|
ef42eb1fef | ||
|
|
1e2be52371 | ||
|
|
0034e49c1a | ||
|
|
350412be33 | ||
|
|
c9312719ea | ||
|
|
3010bbf1df | ||
|
|
59d5f1053f | ||
|
|
ae81b86e78 | ||
|
|
1f80a7d8ca | ||
|
|
047797daf2 | ||
|
|
f62e0513f9 | ||
|
|
b7471fd91c | ||
|
|
0e8f8a09cb | ||
|
|
8cc85a3203 | ||
|
|
8f41d71ac4 | ||
|
|
470d362ab4 | ||
|
|
a342f73f68 | ||
|
|
05842ab4a0 | ||
|
|
b54d95e5af | ||
|
|
202dcf16b9 | ||
|
|
153383343b | ||
|
|
6f138d95ca | ||
|
|
e3bbb0afff | ||
|
|
8e05e5739b | ||
|
|
7a2c4942bf | ||
|
|
95189a9d4b | ||
|
|
ded15aa628 | ||
|
|
b1d74dcfea | ||
|
|
f4db748eae | ||
|
|
b797713b2d | ||
|
|
69cf4057ac | ||
|
|
a1d5341840 | ||
|
|
8b1e705a96 | ||
|
|
dff63b74f5 | ||
|
|
f709c97602 | ||
|
|
0b2a722218 | ||
|
|
168275343c | ||
|
|
05335df9bf | ||
|
|
de2e924aa2 | ||
|
|
6fd8c2fbd9 | ||
|
|
a3dba96908 | ||
|
|
ae6be2f525 | ||
|
|
16a45c7826 | ||
|
|
5676b50d5d | ||
|
|
7940038728 | ||
|
|
1e13bf6629 | ||
|
|
7dcec16152 | ||
|
|
01f1893431 | ||
|
|
d51f79a154 | ||
|
|
4bc5c9c8ab | ||
|
|
d6260e6fb2 | ||
|
|
ce05ce240c | ||
|
|
10e8c08ce3 | ||
|
|
71a36f2fe6 | ||
|
|
a282d2ff08 | ||
|
|
f3aeaa6344 | ||
|
|
503027c06e | ||
|
|
8d58224a95 | ||
|
|
415394fce2 | ||
|
|
7826139a7c | ||
|
|
75fc11f008 | ||
|
|
7fa76346b4 | ||
|
|
b4addd9630 | ||
|
|
d6af3363ed | ||
|
|
f4a3717859 | ||
|
|
692070de21 | ||
|
|
5dcfb37c4b | ||
|
|
941e838c74 | ||
|
|
481e236faf | ||
|
|
06ec6884a4 | ||
|
|
84d8363383 | ||
|
|
3830b00c33 | ||
|
|
84103bb8ed | ||
|
|
0d7202f7a2 | ||
|
|
a1f4f9b92f | ||
|
|
82410814de | ||
|
|
98cf0a4bc0 | ||
|
|
5efc9dcb16 | ||
|
|
cfa7fb47e4 | ||
|
|
29d677253e | ||
|
|
210a5e9ae2 | ||
|
|
49465715a6 | ||
|
|
a0a14f24cc | ||
|
|
209d06421c | ||
|
|
cac2af8422 | ||
|
|
57a9b269a0 | ||
|
|
17b11a016c | ||
|
|
d05de62cc7 | ||
|
|
3c28f9ed36 | ||
|
|
56bd1d2772 | ||
|
|
7e65b06ff2 | ||
|
|
78cb68d2c4 | ||
|
|
f8df8dc41a | ||
|
|
4199f8891c | ||
|
|
7aa5f499b9 | ||
|
|
990f490fb3 | ||
|
|
7dba186e39 | ||
|
|
7443c52021 | ||
|
|
03822ac8fa | ||
|
|
01f7a18dce | ||
|
|
a392803478 | ||
|
|
c9ef1b1bce | ||
|
|
87eda72a62 | ||
|
|
984bc58cf2 | ||
|
|
4d7a55e4f6 | ||
|
|
79d67d1cbe | ||
|
|
0bc93a2352 | ||
|
|
27443c441a | ||
|
|
7894b08051 | ||
|
|
31089e2aa6 | ||
|
|
46cbf85584 | ||
|
|
9d3a537b10 | ||
|
|
a3fcd4373f | ||
|
|
fb8876df0d | ||
|
|
8b617ffb8d | ||
|
|
55fa24bced | ||
|
|
b1cfaac33b | ||
|
|
476dd67796 | ||
|
|
f52ae328bc | ||
|
|
cbf626a5b6 |
1
FUNDING.yml → .github/FUNDING.yml
vendored
@@ -1,2 +1,3 @@
|
||||
github: jokob-sk
|
||||
patreon: 84385063
|
||||
buy_me_a_coffee: jokobsk
|
||||
56
.github/ISSUE_TEMPLATE/documentation-feedback.yml
vendored
Executable file
@@ -0,0 +1,56 @@
|
||||
name: Documentation Feedback 📝
|
||||
description: Suggest improvements, clarify inconsistencies, or report issues related to the documentation.
|
||||
labels: ['documentation 📚']
|
||||
body:
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: Is there an existing issue for this?
|
||||
description: Please search to see if an open or closed issue already exists for the documentation change you're suggesting.
|
||||
options:
|
||||
- label: I have searched the existing open and closed issues
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: What document or section does this relate to?
|
||||
description: |
|
||||
Please include a link to the file and section, if applicable. Be specific about what part of the documentation you are referencing.
|
||||
placeholder: e.g. https://github.com/jokob-sk/NetAlertX/blob/main/docs/FRONTEND_DEVELOPMENT.md
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Describe the issue
|
||||
description: A clear and concise explanation of the issue or inconsistency you found in the documentation.
|
||||
placeholder: e.g. The linked file is referred to as "Contributor Guidelines" but only covers frontend topics.
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Your suggestion or proposed solution
|
||||
description: Suggest how the documentation could be improved, clarified, or reorganized.
|
||||
placeholder: e.g. Combine frontend and backend development into a single CONTRIBUTING.md file with common sections to reduce fragmentation.
|
||||
validations:
|
||||
required: true
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: What type of issue is this?
|
||||
options:
|
||||
- label: Missing information
|
||||
- label: Inaccurate or outdated information
|
||||
- label: Unclear or confusing content
|
||||
- label: Structure or organization improvements
|
||||
- label: Other (explain in issue)
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Anything else?
|
||||
description: |
|
||||
Additional context, references, screenshots, or related issues. You can also mention if you’re willing to help implement the suggestion.
|
||||
validations:
|
||||
required: false
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: Can I help implement this? 👩💻👨💻
|
||||
description: The maintainer can provide guidance and review your changes.
|
||||
options:
|
||||
- label: "Yes, I’d like to help implement the improvement"
|
||||
- label: "No, I’m just suggesting the idea"
|
||||
33
.github/ISSUE_TEMPLATE/enhancement-request.yml
vendored
Executable file
@@ -0,0 +1,33 @@
|
||||
name: Enhancement Request
|
||||
description: Propose an improvement to an existing feature or UX behavior.
|
||||
labels: ['enhancement ♻️']
|
||||
body:
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: Is there an existing issue for this?
|
||||
options:
|
||||
- label: I have searched existing open and closed issues
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: What is the enhancement?
|
||||
description: Describe the change or optimization you’d like to see to an existing feature.
|
||||
placeholder: e.g. Make scan intervals configurable from UI instead of just `app.conf`
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: What problem does this solve or improve?
|
||||
description: Describe why this change would improve user experience or project maintainability.
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Additional context or examples
|
||||
description: |
|
||||
Screenshots? Comparisons? Reference repos?
|
||||
required: false
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: Are you willing to help implement this?
|
||||
options:
|
||||
- label: "Yes"
|
||||
- label: "No"
|
||||
37
.github/ISSUE_TEMPLATE/refactor-codequality-request.yml
vendored
Executable file
@@ -0,0 +1,37 @@
|
||||
name: Refactor / Code Quality Request ♻️
|
||||
description: Suggest improvements to code structure, style, or maintainability.
|
||||
labels: ['enhancement ♻️']
|
||||
body:
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: Is there an existing issue for this?
|
||||
description: Please check if a similar request already exists.
|
||||
options:
|
||||
- label: I have searched the existing open and closed issues
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: What part of the code needs refactoring or improvement?
|
||||
description: Specify files, modules, or components.
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Describe the proposed changes
|
||||
description: Explain the refactoring or quality improvements you suggest.
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Why is this improvement needed?
|
||||
description: Benefits such as maintainability, readability, performance, or scalability.
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Additional context or examples
|
||||
description: Any relevant links, references, or related issues.
|
||||
required: false
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: Can you help implement this change?
|
||||
options:
|
||||
- label: Yes
|
||||
- label: No
|
||||
28
.github/ISSUE_TEMPLATE/security-report.yml
vendored
Executable file
@@ -0,0 +1,28 @@
|
||||
name: Security Report 🔐
|
||||
description: Report a security vulnerability or concern privately.
|
||||
labels: ['security 🔐']
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
**Important:** For security reasons, please do **not** post sensitive security issues publicly in the issue tracker.
|
||||
Instead, send details to our security contact email: [jokob@duck.com](mailto:jokob@duck.com).
|
||||
|
||||
We appreciate your responsible disclosure.
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Brief summary (non-sensitive)
|
||||
description: Provide a non-sensitive overview of the security issue.
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Additional context or references
|
||||
description: Any other information or related reports.
|
||||
required: false
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: Have you sent this report via email to the security contact?
|
||||
options:
|
||||
- label: Yes, I have sent the details to jokob@duck.com
|
||||
required: true
|
||||
- label: Not yet, I will send it after opening this issue
|
||||
36
.github/ISSUE_TEMPLATE/translation-request.yml
vendored
Executable file
@@ -0,0 +1,36 @@
|
||||
name: Translation / Localization Request 🌐
|
||||
description: Suggest adding or improving translations or localization support.
|
||||
labels: ['enhancement 🌐']
|
||||
body:
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: Have you checked for existing translation efforts or related issues?
|
||||
options:
|
||||
- label: I have searched existing open and closed issues
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Language(s) involved
|
||||
description: Specify the language(s) this request pertains to.
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Describe the translation or localization improvement
|
||||
description: Examples include adding new language support, fixing translation errors, or improving formatting.
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Why is this important for the project or users?
|
||||
description: Describe the benefits or target audience.
|
||||
required: false
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Additional context or references
|
||||
description: Link to files, previous translation PRs, or external resources.
|
||||
required: false
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: Can you help with translation or review?
|
||||
options:
|
||||
- label: Yes
|
||||
- label: No
|
||||
53
.github/PULL_REQUEST_TEMPLATE/code-pr-template.md
vendored
Executable file
@@ -0,0 +1,53 @@
|
||||
## 📌 Description
|
||||
|
||||
<!-- Provide a brief description of the changes you're introducing. Be clear and concise. -->
|
||||
|
||||
---
|
||||
|
||||
## 🔍 Related Issues
|
||||
|
||||
<!-- Reference any related issues (e.g., closes #123, fixes #456) -->
|
||||
|
||||
---
|
||||
|
||||
## 📋 Type of Change
|
||||
|
||||
Please check the relevant option(s):
|
||||
|
||||
- [ ] 🐛 Bug fix
|
||||
- [ ] ✨ New feature
|
||||
- [ ] ♻️ Code refactor
|
||||
- [ ] 📚 Documentation update
|
||||
- [ ] 🧪 Test addition or change
|
||||
- [ ] 🔧 Build/config update
|
||||
- [ ] 🚀 Performance improvement
|
||||
- [ ] 🔨 CI/CD or automation
|
||||
- [ ] 🧹 Cleanup / chore
|
||||
|
||||
---
|
||||
|
||||
## 📷 Screenshots or Logs (if applicable)
|
||||
|
||||
<!-- Add screenshots, terminal output, logs, or anything that helps understand your change -->
|
||||
|
||||
---
|
||||
|
||||
## 🧪 Testing Steps
|
||||
|
||||
<!-- Describe how the change was tested. Manual steps, test cases, or automated test runs -->
|
||||
|
||||
---
|
||||
|
||||
## ✅ Checklist
|
||||
|
||||
- [ ] I have read the [Contribution Guidelines](../../CONTRIBUTING)
|
||||
- [ ] I have tested my changes locally
|
||||
- [ ] I have updated relevant documentation (if applicable)
|
||||
- [ ] I have verified my changes do not break existing behavior
|
||||
- [ ] I am willing to respond to requested changes and feedback
|
||||
|
||||
---
|
||||
|
||||
## 🙋 Additional Notes
|
||||
|
||||
<!-- Anything else you want reviewers to know? Future follow-ups? Questions? -->
|
||||
37
.github/PULL_REQUEST_TEMPLATE/docs-pr-template.md
vendored
Executable file
@@ -0,0 +1,37 @@
|
||||
## 📚 Documentation Update
|
||||
|
||||
<!-- Describe the purpose of this PR in one or two sentences. Example: "This PR updates the contributor guidelines by merging frontend and backend sections." -->
|
||||
|
||||
---
|
||||
|
||||
## 📝 What’s Changed?
|
||||
|
||||
<!-- Briefly outline what parts of the documentation were added, changed, removed, or reorganized -->
|
||||
|
||||
- Combined frontend and backend development guidelines into a single file
|
||||
- Updated `mkdocs.yml` to reflect new structure
|
||||
- Added clarification on contribution process
|
||||
- Fixed outdated links in sidebar
|
||||
|
||||
---
|
||||
|
||||
## 🔍 Related Issue(s)
|
||||
|
||||
<!-- Link to related issues, discussions, or context (e.g., closes #123) -->
|
||||
|
||||
---
|
||||
|
||||
## ✅ Checklist
|
||||
|
||||
- [ ] I followed the formatting/style of existing documentation
|
||||
- [ ] I have read the [Contribution Guidelines](../../CONTRIBUTING)
|
||||
- [ ] I updated `mkdocs.yml` if necessary
|
||||
- [ ] I verified links and references still work
|
||||
- [ ] I checked that my changes improve clarity, structure, or accuracy
|
||||
- [ ] I'm open to feedback and suggestions
|
||||
|
||||
---
|
||||
|
||||
## 🙋 Additional Notes
|
||||
|
||||
<!-- Optional: Include anything you want reviewers to be aware of -->
|
||||
4
.github/tweet.md
vendored
@@ -1,2 +1,2 @@
|
||||
🎉 New release: **v25.4.1 - 🔀 Workflows - automate device management ** is live! 🚀
|
||||
Check it out here: https://github.com/jokob-sk/NetAlertX/releases/tag/v25.4.1
|
||||
🎉 New release: **v25.6.7 - Legacy upgrade removal and Fully Qualified Domain Names 🆎** is live! 🚀
|
||||
Check it out here: https://github.com/jokob-sk/NetAlertX/releases/tag/v25.6.7
|
||||
|
||||
16
.github/workflows/code_checks.yml
vendored
@@ -17,14 +17,22 @@ jobs:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Check for absolute path URLs
|
||||
- name: Check for incorrect absolute '/php/' URLs in frontend code
|
||||
run: |
|
||||
if grep -r -E "\burl:\s*['\"]\/php" --include=\*.{js,php} .; then
|
||||
echo "❌ Found absolute path URLs starting with '/php/'. Please use relative paths."
|
||||
echo "🔍 Checking for incorrect absolute '/php/' URLs (should be 'php/' or './php/')..."
|
||||
|
||||
MATCHES=$(grep -rE "['\"]\/php\/" --include=\*.{js,php,html} ./front | grep -E "\.get|\.post|\.ajax|fetch|url\s*:") || true
|
||||
|
||||
if [ -n "$MATCHES" ]; then
|
||||
echo "$MATCHES"
|
||||
echo "❌ Found incorrectly absolute '/php/' URLs. Use 'php/' or './php/' for relative paths."
|
||||
exit 1
|
||||
else
|
||||
echo "✅ No absolute path URLs found."
|
||||
echo "✅ No bad '/php/' URLs found."
|
||||
fi
|
||||
|
||||
|
||||
|
||||
- name: Check Python syntax
|
||||
run: |
|
||||
set -e
|
||||
|
||||
137
CODE_OF_CONDUCT.md
Executable file
@@ -0,0 +1,137 @@
|
||||
|
||||
# Contributor Covenant Code of Conduct
|
||||
|
||||
## Our Pledge
|
||||
|
||||
We as members, contributors, and leaders pledge to make participation in our
|
||||
community a harassment-free experience for everyone, regardless of age, body
|
||||
size, visible or invisible disability, ethnicity, sex characteristics, gender
|
||||
identity and expression, level of experience, education, socio-economic status,
|
||||
nationality, personal appearance, race, caste, color, religion, or sexual
|
||||
identity and orientation.
|
||||
|
||||
We pledge to act and interact in ways that contribute to an open, welcoming,
|
||||
diverse, inclusive, and healthy community.
|
||||
|
||||
## Our Standards
|
||||
|
||||
Examples of behavior that contributes to a positive environment for our
|
||||
community include:
|
||||
|
||||
- Demonstrating empathy and kindness toward other people
|
||||
- Being respectful of differing opinions, viewpoints, and experiences
|
||||
- Giving and gracefully accepting constructive feedback
|
||||
- Accepting responsibility and apologizing to those affected by our mistakes,
|
||||
and learning from the experience
|
||||
- Focusing on what is best not just for us as individuals, but for the overall
|
||||
community
|
||||
|
||||
Examples of unacceptable behavior include:
|
||||
|
||||
- The use of sexualized language or imagery, and sexual attention or advances of
|
||||
any kind
|
||||
- Trolling, insulting or derogatory comments, and personal or political attacks
|
||||
- Public or private harassment
|
||||
- Publishing others' private information, such as a physical or email address,
|
||||
without their explicit permission
|
||||
- Other conduct which could reasonably be considered inappropriate in a
|
||||
professional setting
|
||||
|
||||
## Enforcement Responsibilities
|
||||
|
||||
Community leaders are responsible for clarifying and enforcing our standards of
|
||||
acceptable behavior and will take appropriate and fair corrective action in
|
||||
response to any behavior that they deem inappropriate, threatening, offensive,
|
||||
or harmful.
|
||||
|
||||
Community leaders have the right and responsibility to remove, edit, or reject
|
||||
comments, commits, code, wiki edits, issues, and other contributions that are
|
||||
not aligned to this Code of Conduct, and will communicate reasons for moderation
|
||||
decisions when appropriate.
|
||||
|
||||
## Scope
|
||||
|
||||
This Code of Conduct applies within all community spaces, and also applies when
|
||||
an individual is officially representing the community in public spaces.
|
||||
Examples of representing our community include using an official email address,
|
||||
posting via an official social media account, or acting as an appointed
|
||||
representative at an online or offline event.
|
||||
|
||||
## Enforcement
|
||||
|
||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
||||
reported to the community leaders responsible for enforcement at <jokob@duck.com>.
|
||||
All complaints will be reviewed and investigated promptly and fairly.
|
||||
|
||||
All community leaders are obligated to respect the privacy and security of the
|
||||
reporter of any incident.
|
||||
|
||||
## Ethical Use Clause (Project-Specific)
|
||||
|
||||
While NetAlertX is a tool designed to empower users with greater insight into their own networks, we expect and encourage all users to use this software **ethically and legally**.
|
||||
|
||||
- Do not use this software to scan or monitor networks without **explicit authorization**.
|
||||
- Respect privacy, consent, and data protection laws applicable in your jurisdiction.
|
||||
- Any use of NetAlertX for malicious surveillance, stalking, or unauthorized access is explicitly discouraged and may be grounds for removal from the community and revocation of support.
|
||||
|
||||
We reserve the right to take appropriate action to uphold the ethical integrity of this project.
|
||||
|
||||
## Enforcement Guidelines
|
||||
|
||||
Community leaders will follow these Community Impact Guidelines in determining
|
||||
the consequences for any action they deem in violation of this Code of Conduct:
|
||||
|
||||
### 1. Correction
|
||||
|
||||
**Community Impact**: Use of inappropriate language or other behavior deemed
|
||||
unprofessional or unwelcome in the community.
|
||||
|
||||
**Consequence**: A private, written warning from community leaders, providing
|
||||
clarity around the nature of the violation and an explanation of why the
|
||||
behavior was inappropriate. A public apology may be requested.
|
||||
|
||||
### 2. Warning
|
||||
|
||||
**Community Impact**: A violation through a single incident or series of
|
||||
actions.
|
||||
|
||||
**Consequence**: A warning with consequences for continued behavior. No
|
||||
interaction with the people involved, including unsolicited interaction with
|
||||
those enforcing the Code of Conduct, for a specified period of time. This
|
||||
includes avoiding interactions in community spaces as well as external channels
|
||||
like social media. Violating these terms may lead to a temporary or permanent
|
||||
ban.
|
||||
|
||||
### 3. Temporary Ban
|
||||
|
||||
**Community Impact**: A serious violation of community standards, including
|
||||
sustained inappropriate behavior.
|
||||
|
||||
**Consequence**: A temporary ban from any sort of interaction or public
|
||||
communication with the community for a specified period of time. No public or
|
||||
private interaction with the people involved, including unsolicited interaction
|
||||
with those enforcing the Code of Conduct, is allowed during this period.
|
||||
Violating these terms may lead to a permanent ban.
|
||||
|
||||
### 4. Permanent Ban
|
||||
|
||||
**Community Impact**: Demonstrating a pattern of violation of community
|
||||
standards, including sustained inappropriate behavior, harassment of an
|
||||
individual, or aggression toward or disparagement of classes of individuals.
|
||||
|
||||
**Consequence**: A permanent ban from any sort of public interaction within the
|
||||
community.
|
||||
|
||||
## Attribution
|
||||
|
||||
This Code of Conduct is adapted from the
|
||||
[Contributor Covenant](https://www.contributor-covenant.org/), version 2.1,
|
||||
available at
|
||||
<https://www.contributor-covenant.org/version/2/1/code_of_conduct/>.
|
||||
|
||||
Community Impact Guidelines were inspired by
|
||||
[Mozilla's code of conduct enforcement ladder](https://github.com/mozilla/inclusion).
|
||||
|
||||
For answers to common questions about this code of conduct, see the FAQ at
|
||||
<https://www.contributor-covenant.org/faq/>. Translations are available at
|
||||
<https://www.contributor-covenant.org/translations/>.
|
||||
55
CONTRIBUTING
@@ -1,14 +1,53 @@
|
||||
# Contributing to this project
|
||||
# 🤝 Contributing to NetAlertX
|
||||
|
||||
## Issues, bugs, feature requests
|
||||
First off, **thank you** for taking the time to contribute! NetAlertX is built and improved with the help of passionate people like you.
|
||||
|
||||
The issue tracker is the preferred channel for bug reports, features requests and submitting pull requests.
|
||||
---
|
||||
|
||||
Before submitting a new issue please spend a couple of minutes on research:
|
||||
## 📂 Issues, Bugs, and Feature Requests
|
||||
|
||||
* Check [🛑 Common issues](https://github.com/jokob-sk/NetAlertX/blob/main/docs/DEBUG_TIPS.md#common-issues)
|
||||
* Check [💡 Closed issues](https://github.com/jokob-sk/NetAlertX/issues?q=is%3Aissue+is%3Aclosed) if a similar issue was solved in the past.
|
||||
Please use the [GitHub Issue Tracker](https://github.com/jokob-sk/NetAlertX/issues) for:
|
||||
- Bug reports 🐞
|
||||
- Feature requests 💡
|
||||
- Documentation feedback 📖
|
||||
|
||||
## Pull-requests (PRs)
|
||||
Before opening a new issue:
|
||||
- 🛑 [Check Common Issues & Debug Tips](https://github.com/jokob-sk/NetAlertX/blob/main/docs/DEBUG_TIPS.md#common-issues)
|
||||
- 🔍 [Search Closed Issues](https://github.com/jokob-sk/NetAlertX/issues?q=is%3Aissue+is%3Aclosed)
|
||||
|
||||
If you submit a PR please do check that your changes are backward compatible with existing installations. Existing features should be always preserved.
|
||||
---
|
||||
|
||||
## 🚀 Submitting Pull Requests (PRs)
|
||||
|
||||
We welcome PRs to improve the code, docs, or UI!
|
||||
|
||||
Please:
|
||||
- Ensure **backward compatibility** with existing installations
|
||||
- Preserve existing features unless a breaking change is intentional and discussed
|
||||
- Follow existing **code style and structure**
|
||||
- Provide a clear title and description for your PR
|
||||
- If relevant, add or update tests and documentation
|
||||
- For plugins, refer to the [Plugin Dev Guide](https://github.com/jokob-sk/NetAlertX/blob/main/docs/PLUGINS_DEV.md)
|
||||
|
||||
---
|
||||
|
||||
## 🌟 First-Time Contributors
|
||||
|
||||
New to open source? Check out these resources:
|
||||
- [How to Fork and Submit a PR](https://opensource.guide/how-to-contribute/)
|
||||
- Ask questions or get support in our [Discord](https://discord.gg/NczTUTWyRr)
|
||||
|
||||
---
|
||||
|
||||
## 🔐 Code of Conduct
|
||||
|
||||
By participating, you agree to follow our [Code of Conduct](./CODE_OF_CONDUCT.md), which ensures a respectful and welcoming community.
|
||||
|
||||
---
|
||||
|
||||
## 📬 Contact
|
||||
|
||||
If you have more in-depth questions or want to discuss contributing in other ways, feel free to reach out at:
|
||||
📧 [jokob@duck.com](mailto:jokob@duck.com?subject=NetAlertX%20Contribution)
|
||||
|
||||
We appreciate every contribution, big or small! 💙
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM alpine:3.21 AS builder
|
||||
FROM alpine:3.22 AS builder
|
||||
|
||||
ARG INSTALL_DIR=/app
|
||||
|
||||
@@ -13,7 +13,7 @@ ENV PATH="/opt/venv/bin:$PATH"
|
||||
|
||||
COPY . ${INSTALL_DIR}/
|
||||
|
||||
RUN pip install openwrt-luci-rpc asusrouter asyncio aiohttp graphene flask tplink-omada-client wakeonlan pycryptodome requests paho-mqtt scapy cron-converter pytz json2table dhcp-leases pyunifi speedtest-cli chardet python-nmap dnspython librouteros git+https://github.com/foreign-sub/aiofreepybox.git \
|
||||
RUN pip install openwrt-luci-rpc asusrouter asyncio aiohttp graphene flask tplink-omada-client wakeonlan pycryptodome requests paho-mqtt scapy cron-converter pytz json2table dhcp-leases pyunifi speedtest-cli chardet python-nmap dnspython librouteros yattag git+https://github.com/foreign-sub/aiofreepybox.git \
|
||||
&& bash -c "find ${INSTALL_DIR} -type d -exec chmod 750 {} \;" \
|
||||
&& bash -c "find ${INSTALL_DIR} -type f -exec chmod 640 {} \;" \
|
||||
&& bash -c "find ${INSTALL_DIR} -type f \( -name '*.sh' -o -name '*.py' -o -name 'speedtest-cli' \) -exec chmod 750 {} \;"
|
||||
@@ -22,7 +22,7 @@ RUN pip install openwrt-luci-rpc asusrouter asyncio aiohttp graphene flask tplin
|
||||
RUN cat ${INSTALL_DIR}/install/freebox_certificate.pem >> /opt/venv/lib/python3.12/site-packages/aiofreepybox/freebox_certificates.pem
|
||||
|
||||
# second stage
|
||||
FROM alpine:3.21 AS runner
|
||||
FROM alpine:3.22 AS runner
|
||||
|
||||
ARG INSTALL_DIR=/app
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@ RUN phpenmod -v 8.2 sqlite3
|
||||
RUN apt-get install -y python3-venv
|
||||
RUN python3 -m venv myenv
|
||||
|
||||
RUN /bin/bash -c "source myenv/bin/activate && update-alternatives --install /usr/bin/python python /usr/bin/python3 10 && pip3 install openwrt-luci-rpc asusrouter asyncio aiohttp graphene flask tplink-omada-client wakeonlan pycryptodome requests paho-mqtt scapy cron-converter pytz json2table dhcp-leases pyunifi speedtest-cli chardet python-nmap dnspython librouteros "
|
||||
RUN /bin/bash -c "source myenv/bin/activate && update-alternatives --install /usr/bin/python python /usr/bin/python3 10 && pip3 install openwrt-luci-rpc asusrouter asyncio aiohttp graphene flask tplink-omada-client wakeonlan pycryptodome requests paho-mqtt scapy cron-converter pytz json2table dhcp-leases pyunifi speedtest-cli chardet python-nmap dnspython librouteros yattag "
|
||||
|
||||
# Create a buildtimestamp.txt to later check if a new version was released
|
||||
RUN date +%s > ${INSTALL_DIR}/front/buildtimestamp.txt
|
||||
|
||||
82
README.md
@@ -8,6 +8,42 @@
|
||||
|
||||
Get visibility of what's going on on your WIFI/LAN network and enable presence detection of important devices. Schedule scans for devices, port changes and get alerts if unknown devices or changes are found. Write your own [Plugin](https://github.com/jokob-sk/NetAlertX/tree/main/docs/PLUGINS.md#readme) with auto-generated UI and in-build notification system. Build out and easily maintain your network source of truth (NSoT).
|
||||
|
||||
## 📋 Table of Contents
|
||||
|
||||
- [Features](#-features)
|
||||
- [Documentation](#-documentation)
|
||||
- [Quick Start](#-quick-start)
|
||||
- [Alternative Apps](#-other-alternative-apps)
|
||||
- [Security & Privacy](#-security--privacy)
|
||||
- [FAQ](#-faq)
|
||||
- [Known Issues](#-known-issues)
|
||||
- [Donations](#-donations)
|
||||
- [Contributors](#-contributors)
|
||||
- [Translations](#-translations)
|
||||
- [License](#license)
|
||||
|
||||
|
||||
## 🚀 Quick Start
|
||||
|
||||
Start NetAlertX in seconds with Docker:
|
||||
|
||||
```bash
|
||||
docker run -d --rm --network=host \
|
||||
-v local_path/config:/app/config \
|
||||
-v local_path/db:/app/db \
|
||||
--mount type=tmpfs,target=/app/api \
|
||||
-e PUID=200 -e PGID=300 \
|
||||
-e TZ=Europe/Berlin \
|
||||
-e PORT=20211 \
|
||||
ghcr.io/jokob-sk/netalertx:latest
|
||||
```
|
||||
|
||||
Need help configuring it? Check the [usage guide](https://github.com/jokob-sk/NetAlertX/blob/main/docs/README.md) or [full documentation](https://jokob-sk.github.io/NetAlertX/).
|
||||
|
||||
For Home Assistant users: [Click here to add NetAlertX](https://my.home-assistant.io/redirect/supervisor_add_addon_repository/?repository_url=https%3A%2F%2Fgithub.com%2Falexbelgium%2Fhassio-addons)
|
||||
|
||||
For other install methods, check the [installation docs](#-documentation)
|
||||
|
||||
|
||||
| [📑 Docker guide](https://github.com/jokob-sk/NetAlertX/blob/main/dockerfiles/README.md) | [🚀 Releases](https://github.com/jokob-sk/NetAlertX/releases) | [📚 Docs](https://jokob-sk.github.io/NetAlertX/) | [🔌 Plugins](https://github.com/jokob-sk/NetAlertX/blob/main/docs/PLUGINS.md) | [🤖 Ask AI](https://gurubase.io/g/netalertx)
|
||||
|----------------------| ----------------------| ----------------------| ----------------------| ----------------------|
|
||||
@@ -30,7 +66,7 @@ Get visibility of what's going on on your WIFI/LAN network and enable presence d
|
||||
|
||||
### Scanners
|
||||
|
||||
The app scans your network for **New devices**, **New connections** (re-connections), **Disconnections**, **"Always Connected" devices down**, Devices **IP changes** and **Internet IP address changes**. Discovery & scan methods include: **arp-scan**, **Pi-hole - DB import**, **Pi-hole - DHCP leases import**, **Generic DHCP leases import**, **UNIFI controller import**, **SNMP-enabled router import**. Check the [Plugins](https://github.com/jokob-sk/NetAlertX/tree/main/docs/PLUGINS.md#readme) docs for a full lits of avaliable plugins.
|
||||
The app scans your network for **New devices**, **New connections** (re-connections), **Disconnections**, **"Always Connected" devices down**, Devices **IP changes** and **Internet IP address changes**. Discovery & scan methods include: **arp-scan**, **Pi-hole - DB import**, **Pi-hole - DHCP leases import**, **Generic DHCP leases import**, **UNIFI controller import**, **SNMP-enabled router import**. Check the [Plugins](https://github.com/jokob-sk/NetAlertX/tree/main/docs/PLUGINS.md#readme) docs for a full list of avaliable plugins.
|
||||
|
||||
### Notification gateways
|
||||
|
||||
@@ -43,7 +79,7 @@ build your own scanners with the [Plugin system](https://github.com/jokob-sk/Net
|
||||
|
||||
### Workflows
|
||||
|
||||
The [workflows module](https://github.com/jokob-sk/NetAlertX/blob/main/docs/WORKFLOWS.md) in NetAlertX allows to automate repetitive tasks, making network management more efficient. Whether you need to assign newly discovered devices to a specific Network Node, auto-group devices from a given vendor, unarchive a device if detected online, or automatically delete devices, this module provides the flexibility to tailor the automations to your needs.
|
||||
The [workflows module](https://github.com/jokob-sk/NetAlertX/blob/main/docs/WORKFLOWS.md) allows to automate repetitive tasks, making network management more efficient. Whether you need to assign newly discovered devices to a specific Network Node, auto-group devices from a given vendor, unarchive a device if detected online, or automatically delete devices, this module provides the flexibility to tailor the automations to your needs.
|
||||
|
||||
|
||||
## 📚 Documentation
|
||||
@@ -59,6 +95,46 @@ Supported browsers: Chrome, Firefox
|
||||
- [[Development] API docs](https://github.com/jokob-sk/NetAlertX/blob/main/docs/API.md)
|
||||
- [[Development] Custom Plugins](https://github.com/jokob-sk/NetAlertX/blob/main/docs/PLUGINS_DEV.md)
|
||||
|
||||
...or explore all the [documentation here](https://jokob-sk.github.io/NetAlertX/).
|
||||
|
||||
## 🔐 Security & Privacy
|
||||
|
||||
NetAlertX scans your local network and can store metadata about connected devices. By default, all data is stored **locally**. No information is sent to external services unless you explicitly configure notifications or integrations.
|
||||
|
||||
To further secure your installation:
|
||||
- Run it behind a reverse proxy with authentication
|
||||
- Use firewalls to restrict access to the web UI
|
||||
- Regularly update to the latest version for security patches
|
||||
|
||||
See [Security Best Practices](https://github.com/jokob-sk/NetAlertX/security) for more details.
|
||||
|
||||
|
||||
## ❓ FAQ
|
||||
|
||||
**Q: Why don’t I see any devices?**
|
||||
A: Ensure the container has proper network access (e.g., use `--network host` on Linux). Also check that your scan method is properly configured in the UI.
|
||||
|
||||
**Q: Does this work on Wi-Fi-only devices like Raspberry Pi?**
|
||||
A: Yes, but some scanners (e.g. ARP) work best on Ethernet. For Wi-Fi, try SNMP, DHCP, or Pi-hole import.
|
||||
|
||||
**Q: Will this send any data to the internet?**
|
||||
A: No. All scans and data remain local, unless you set up cloud-based notifications.
|
||||
|
||||
**Q: Can I use this without Docker?**
|
||||
A: Yes! You can install it bare-metal. See the [bare metal installation guide](https://github.com/jokob-sk/NetAlertX/blob/main/docs/HW_INSTALL.md).
|
||||
|
||||
**Q: Where is the data stored?**
|
||||
A: In the `/config` and `/db` folders, mapped in Docker. Back up these folders regularly.
|
||||
|
||||
|
||||
## 🐞 Known Issues
|
||||
|
||||
- Some scanners (e.g. ARP) may not detect devices on different subnets. See the [Remote networks guide](https://github.com/jokob-sk/NetAlertX/blob/main/docs/REMOTE_NETWORKS.md) for workarounds.
|
||||
- Wi-Fi-only networks may require alternate scanners for accurate detection.
|
||||
- Notification throttling may be needed for large networks to prevent spam.
|
||||
- On some systems, elevated permissions (like `CAP_NET_RAW`) may be needed for low-level scanning.
|
||||
|
||||
Check the [GitHub Issues](https://github.com/jokob-sk/NetAlertX/issues) for the latest bug reports and solutions and consult [the official documentation](https://jokob-sk.github.io/NetAlertX/).
|
||||
|
||||
## 📃 Everything else
|
||||
<!--- --------------------------------------------------------------------- --->
|
||||
@@ -111,7 +187,6 @@ Proudly using [Weblate](https://hosted.weblate.org/projects/pialert/). Help out
|
||||
|
||||
### License
|
||||
> GPL 3.0 | [Read more here](LICENSE.txt) | Source of the [animated GIF (Loading Animation)](https://commons.wikimedia.org/wiki/File:Loading_Animation.gif) | Source of the [selfhosted Fonts](https://github.com/adobe-fonts/source-sans)
|
||||
|
||||
|
||||
|
||||
<!--- --------------------------------------------------------------------- --->
|
||||
@@ -131,4 +206,3 @@ Proudly using [Weblate](https://hosted.weblate.org/projects/pialert/). Help out
|
||||
[main_dark]: /docs/img/1_devices_dark.jpg "Main screen dark"
|
||||
[maintain_dark]: /docs/img/5_maintain.jpg "Maintain screen dark"
|
||||
[follow_star]: /docs/img/Follow_Releases_and_Star.gif "Follow and Star"
|
||||
|
||||
|
||||
@@ -18,18 +18,20 @@
|
||||
# SCAN_SUBNETS = [ '192.168.1.0/24 --interface=eth1', '192.168.1.0/24 --interface=eth0' ]
|
||||
|
||||
DISCOVER_PLUGINS=True
|
||||
SCAN_SUBNETS=['192.168.1.0/24 --interface=eth0']
|
||||
SCAN_SUBNETS=['--localnet']
|
||||
TIMEZONE='Europe/Berlin'
|
||||
LOADED_PLUGINS=['ARPSCAN','CSVBCKP','DBCLNP', 'INTRNT','MAINT','NEWDEV','NSLOOKUP','NTFPRCS', 'AVAHISCAN', 'SETPWD','SMTP', 'SYNC', 'VNDRPDT', 'WORKFLOWS', 'UI']
|
||||
LOADED_PLUGINS=['ARPSCAN', 'AVAHISCAN', 'CSVBCKP','DBCLNP', 'DIGSCAN', 'INTRNT', 'MAINT', 'NEWDEV', 'NBTSCAN', 'NSLOOKUP','NTFPRCS', 'SETPWD', 'SMTP', 'SYNC', 'VNDRPDT', 'WORKFLOWS', 'UI']
|
||||
|
||||
DAYS_TO_KEEP_EVENTS=90
|
||||
# Used for generating links in emails. Make sure not to add a trailing slash!
|
||||
REPORT_DASHBOARD_URL='http://netalertx'
|
||||
REPORT_DASHBOARD_URL='http://127.0.0.1'
|
||||
|
||||
# Make sure at least these scanners are enabled for new installs, other defaults are taken from the config.json
|
||||
INTRNT_RUN='schedule'
|
||||
ARPSCAN_RUN='schedule'
|
||||
NSLOOKUP_RUN='before_name_updates'
|
||||
AVAHISCAN_RUN='before_name_updates'
|
||||
NBTSCAN_RUN='before_name_updates'
|
||||
|
||||
# Email
|
||||
#-------------------------------------
|
||||
|
||||
BIN
back/app.db
BIN
back/app_clean.db
Executable file
BIN
back/app_old.db
Executable file
@@ -53,6 +53,7 @@ services:
|
||||
- ${DEV_LOCATION}/front/plugins.php:/app/front/plugins.php
|
||||
- ${DEV_LOCATION}/front/pluginsCore.php:/app/front/pluginsCore.php
|
||||
- ${DEV_LOCATION}/front/index.php:/app/front/index.php
|
||||
- ${DEV_LOCATION}/front/initCheck.php:/app/front/initCheck.php
|
||||
- ${DEV_LOCATION}/front/maintenance.php:/app/front/maintenance.php
|
||||
- ${DEV_LOCATION}/front/network.php:/app/front/network.php
|
||||
- ${DEV_LOCATION}/front/presence.php:/app/front/presence.php
|
||||
@@ -65,7 +66,7 @@ services:
|
||||
- ${DEV_LOCATION}/front/appEvents.php:/app/front/appEvents.php
|
||||
- ${DEV_LOCATION}/front/appEventsCore.php:/app/front/appEventsCore.php
|
||||
- ${DEV_LOCATION}/front/multiEditCore.php:/app/front/multiEditCore.php
|
||||
- ${DEV_LOCATION}/front/plugins:/app/front/plugins
|
||||
- ${DEV_LOCATION}/front/plugins:/app/front/plugins
|
||||
# DELETE END anyone trying to use this file: comment out / delete ABOVE lines, they are only for development purposes
|
||||
# ---------------------------------------------------------------------------
|
||||
environment:
|
||||
|
||||
@@ -49,6 +49,8 @@ query GetDevices($options: PageQueryOptionsInput) {
|
||||
}
|
||||
```
|
||||
|
||||
See also: [Debugging GraphQL issues](./DEBUG_GRAPHQL.md)
|
||||
|
||||
### `curl` Command
|
||||
|
||||
You can use the following `curl` command to execute the query.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
Use the official installation guides at first and use community content as supplementary material. Open an issue or PR if you'd like to add your link to the list 🙏 (Ordered by last update time)
|
||||
|
||||
- ▶ [Discover & Monitor Your Network with This Self-Hosted Open Source Tool - Lawrence Systems](https://www.youtube.com/watch?v=R3b5cxLZMpo) (June 2025)
|
||||
- ▶ [Home Lab Network Monitoring - Scotti-BYTE Enterprise Consulting Services](https://www.youtube.com/watch?v=0DryhzrQSJA) (July 2024)
|
||||
- 📄 [How to Install NetAlertX on Your Synology NAS - Marius hosting](https://mariushosting.com/how-to-install-pi-alert-on-your-synology-nas/) (Updated frequently)
|
||||
- 📄 [Using the PiAlert Network Security Scanner on a Raspberry Pi - PiMyLifeUp](https://pimylifeup.com/raspberry-pi-pialert/)
|
||||
|
||||
@@ -38,6 +38,7 @@
|
||||
| `devSyncHubNode` | The NetAlertX node ID used for synchronization between NetAlertX instances. | `node_1` |
|
||||
| `devSourcePlugin` | Source plugin that discovered the device. | `ARPSCAN` |
|
||||
| `devCustomProps` | [Custom properties](./CUSTOM_PROPERTIES.md) related to the device. The value is a base64-encoded JSON object. | `PHN2ZyB...` |
|
||||
| `devFQDN` | Fully qualified domain name. | `raspberrypi.local` |
|
||||
|
||||
|
||||
To understand how values of these fields influuence application behavior, such as Notifications or Network topology, see also:
|
||||
|
||||
64
docs/DEBUG_GRAPHQL.md
Executable file
@@ -0,0 +1,64 @@
|
||||
# Debugging GraphQL server issues
|
||||
|
||||
The GraphQL server is an API middle layer, running on it's own port specified by `GRAPHQL_PORT`, to retrieve and show the data in the UI. It can also be used to retrieve data for custom third party integarions. Check the [API documentation](./API.md) for details.
|
||||
|
||||
The most common issue is that the GraphQL server doesn't start properly, usually due to a **port conflict**. If you are running multiple NetAlertX instances, make sure to use **unique ports** by changing the `GRAPHQL_PORT` setting. The default is `20212`.
|
||||
|
||||
## How to update the `GRAPHQL_PORT` in case of issues
|
||||
|
||||
As a first troubleshooting step try changing the default `GRAPHQL_PORT` setting. Please remember NetAlertX is running on the host so any application uising the same port will cause issues.
|
||||
|
||||
### Updating the setting via the Settings UI
|
||||
|
||||
Ideally use the Settings UI to update the setting under General -> Core -> GraphQL port:
|
||||
|
||||

|
||||
|
||||
You might need to temporarily stop other applications or NetAlertX instances causing conflicts to update the setting. The `API_TOKEN` is used to authenticate any API calls, including GraphQL requests.
|
||||
|
||||
### Updating the `app.conf` file
|
||||
|
||||
If the UI is not accessible, you can directly edit the `app.conf` file in your `/config` folder:
|
||||
|
||||

|
||||
|
||||
### Using a docker variable
|
||||
|
||||
All application settings can also be initialized via the `APP_CONF_OVERRIDE` docker env variable.
|
||||
|
||||
```yaml
|
||||
...
|
||||
environment:
|
||||
- TZ=Europe/Berlin
|
||||
- PORT=20213
|
||||
- APP_CONF_OVERRIDE={"GRAPHQL_PORT":"20214"}
|
||||
...
|
||||
```
|
||||
|
||||
## How to check the GraphQL server is running?
|
||||
|
||||
There are several ways to check if the GraphQL server is running.
|
||||
|
||||
### Init Check
|
||||
|
||||
You can navigate to Maintenance -> Init Check to see if `isGraphQLServerRunning` is ticked:
|
||||
|
||||

|
||||
|
||||
### Checking the Logs
|
||||
|
||||
You can navigate to Maintenance -> Logs and search for `graphql` to see if it started correctly and serving requests:
|
||||
|
||||

|
||||
|
||||
### Inspecting the Browser console
|
||||
|
||||
In your browser open the dev console (usually F12) and navigate to the Network tab where you can filter GraphQL requests (e.g., reload the Devices page).
|
||||
|
||||

|
||||
|
||||
You can then inspect any of the POST requests by opening them in a new tab.
|
||||
|
||||

|
||||
|
||||
|
||||
@@ -14,6 +14,8 @@ You can select devices in the _Devices_ view by selecting devices to edit and th
|
||||
|
||||
## CSV bulk edit
|
||||
|
||||
The database and device structure may change with new releases. When using the CSV import functionality, ensure the format matches what the application expects. To avoid issues, you can first export the devices and review the column formats before importing any custom data.
|
||||
|
||||
> [!NOTE]
|
||||
> As always, backup everything, just in case.
|
||||
|
||||
|
||||
@@ -3,4 +3,18 @@
|
||||
This set of settings allows you to group Devices under different views. The Archived toggle allows you to exclude a Device from most listings and notifications.
|
||||
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
## Status Colors
|
||||
|
||||

|
||||
|
||||
1. 🔌 Online (Green) = A device that is no longer marked as a "New Device".
|
||||
2. 🔌 New (Green) = A newly discovered device that is online and is still marked as a "New Device".
|
||||
3. ✖ New (Grey) = Same as No.2 but device is now offline.
|
||||
4. ✖ Offline (Grey) = A device that was not detected online in the last scan.
|
||||
5. ⚠ Down (Red) = A device that has "Alert Down" marked and has been offline for the time set in the Setting `NTFPRCS_alert_down_time`.
|
||||
|
||||
|
||||
See also [Notification guide](./NOTIFICATIONS.md).
|
||||
79
docs/DOCKER_SWARM.md
Executable file
@@ -0,0 +1,79 @@
|
||||
# Docker Swarm Deployment Guide (IPvlan)
|
||||
|
||||
This guide describes how to deploy **NetAlertX** in a **Docker Swarm** environment using an `ipvlan` network. This enables the container to receive a LAN IP address directly, which is ideal for network monitoring.
|
||||
|
||||
---
|
||||
|
||||
## ⚙️ Step 1: Create an IPvlan Config-Only Network on All Nodes
|
||||
|
||||
> Run this command on **each node** in the Swarm.
|
||||
|
||||
```bash
|
||||
docker network create -d ipvlan \
|
||||
--subnet=192.168.1.0/24 \ # 🔧 Replace with your LAN subnet
|
||||
--gateway=192.168.1.1 \ # 🔧 Replace with your LAN gateway
|
||||
-o ipvlan_mode=l2 \
|
||||
-o parent=eno1 \ # 🔧 Replace with your network interface (e.g., eth0, eno1)
|
||||
--config-only \
|
||||
ipvlan-swarm-config
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🖥️ Step 2: Create the Swarm-Scoped IPvlan Network (One-Time Setup)
|
||||
|
||||
> Run this on **one Swarm manager node only**.
|
||||
|
||||
```bash
|
||||
docker network create -d ipvlan \
|
||||
--scope swarm \
|
||||
--config-from ipvlan-swarm-config \
|
||||
swarm-ipvlan
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🧾 Step 3: Deploy NetAlertX with Docker Compose
|
||||
|
||||
Use the following Compose snippet to deploy NetAlertX with a **static LAN IP** assigned via the `swarm-ipvlan` network.
|
||||
|
||||
```yaml
|
||||
services:
|
||||
netalertx:
|
||||
image: ghcr.io/jokob-sk/netalertx:latest
|
||||
ports:
|
||||
- 20211:20211
|
||||
volumes:
|
||||
- /mnt/YOUR_SERVER/netalertx/config:/app/config:rw
|
||||
- /mnt/YOUR_SERVER/netalertx/db:/netalertx/app/db:rw
|
||||
- /mnt/YOUR_SERVER/netalertx/logs:/netalertx/app/log:rw
|
||||
environment:
|
||||
- TZ=Europe/London
|
||||
- PORT=20211
|
||||
networks:
|
||||
swarm-ipvlan:
|
||||
ipv4_address: 192.168.1.240 # ⚠️ Choose a free IP from your LAN
|
||||
deploy:
|
||||
mode: replicated
|
||||
replicas: 1
|
||||
restart_policy:
|
||||
condition: on-failure
|
||||
placement:
|
||||
constraints:
|
||||
- node.role == manager # 🔄 Or use: node.labels.netalertx == true
|
||||
|
||||
networks:
|
||||
swarm-ipvlan:
|
||||
external: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ✅ Notes
|
||||
|
||||
* The `ipvlan` setup allows **NetAlertX** to have a direct IP on your LAN.
|
||||
* Replace `eno1` with your interface, IP addresses, and volume paths to match your environment.
|
||||
* Make sure the assigned IP (`192.168.1.240` above) is not in use or managed by DHCP.
|
||||
* You may also use a node label constraint instead of `node.role == manager` for more control.
|
||||
|
||||
|
||||
78
docs/FIX_OFFLINE_DETECTION.md
Executable file
@@ -0,0 +1,78 @@
|
||||
# Troubleshooting: Devices Show Offline When They Are Online
|
||||
|
||||
In some network setups, certain devices may intermittently appear as **offline** in NetAlertX, even though they are connected and responsive. This issue is often more noticeable with devices that have **higher IP addresses** within the subnet.
|
||||
|
||||
> [!NOTE]
|
||||
>
|
||||
> Network presence graph showing increased drop outs before enabling additional `ICMP` scans and continuous online presence after following this guide. This graph shows a sudden spike in drop outs probably caused by a device software update.
|
||||
> 
|
||||
|
||||
## Symptoms
|
||||
|
||||
* Devices sporadically show as offline in the presence timeline.
|
||||
* This behavior often affects devices with higher IPs (e.g., `192.168.1.240+`).
|
||||
* Presence data appears inconsistent or unreliable despite the device being online.
|
||||
|
||||
## Cause
|
||||
|
||||
This issue is typically related to scanning limitations:
|
||||
|
||||
* **ARP scan timeouts** may prevent full subnet coverage.
|
||||
* **Sole reliance on ARP** can result in missed detections:
|
||||
|
||||
* Some devices (like iPhones) suppress or reject frequent ARP requests.
|
||||
* ARP responses may be blocked or delayed due to power-saving features or OS behavior.
|
||||
|
||||
* **Scanning frequency conflicts**, where devices ignore repeated scans within a short period.
|
||||
|
||||
## Recommended Fixes
|
||||
|
||||
To improve presence accuracy and reduce false offline states:
|
||||
|
||||
### ✅ Increase ARP Scan Timeout
|
||||
|
||||
Extend the ARP scanner timeout to ensure full subnet coverage:
|
||||
|
||||
```env
|
||||
ARPSCAN_RUN_TIMEOUT=360
|
||||
```
|
||||
|
||||
> Adjust based on your network size and device count.
|
||||
|
||||
### ✅ Add ICMP (Ping) Scanning
|
||||
|
||||
Enable the `ICMP` scan plugin to complement ARP detection. ICMP is often more reliable for detecting active hosts, especially when ARP fails.
|
||||
|
||||
### ✅ Use Multiple Detection Methods
|
||||
|
||||
A combined approach greatly improves detection robustness:
|
||||
|
||||
* `ARPSCAN` (default)
|
||||
* `ICMP` (ping)
|
||||
* `NMAPDEV` (nmap)
|
||||
|
||||
This hybrid strategy increases reliability, especially for down detection and alerting. See [other plugins](./PLUGINS.md) that might be compatible with your setup. See benefits and drawbacks of individual scan methods in their respective docs.
|
||||
|
||||
## Results
|
||||
|
||||
After increasing the ARP timeout and adding ICMP scanning (on select IP ranges), users typically report:
|
||||
|
||||
* More consistent presence graphs
|
||||
* Fewer false offline events
|
||||
* Better coverage across all IP ranges
|
||||
|
||||
## Summary
|
||||
|
||||
| Setting | Recommendation |
|
||||
| --------------------- | --------------------------------------------- |
|
||||
| `ARPSCAN_RUN_TIMEOUT` | Increase to ensure scans reach all IPs |
|
||||
| `ICMP` Scan | Enable to detect devices ARP might miss |
|
||||
| Multi-method Scanning | Use a mix of ARP, ICMP, and NMAP-based methods |
|
||||
|
||||
---
|
||||
|
||||
**Tip:** Each environment is unique. Consider fine-tuning scan settings based on your network size, device behavior, and desired detection accuracy.
|
||||
|
||||
Let us know in the [NetAlertX Discussions](https://github.com/jokob-sk/NetAlertX/discussions) if you have further feedback or edge cases.
|
||||
|
||||
See also [Remote Networks](./REMOTE_NETWORKS.md) for more advanced setups.
|
||||
@@ -1,4 +1,4 @@
|
||||
# Overview
|
||||
# Home Assistant integration overview
|
||||
|
||||
NetAlertX comes with MQTT support, allowing you to show all detected devices as devices in Home Assistant. It also supplies a collection of stats, such as number of online devices.
|
||||
|
||||
|
||||
@@ -5,7 +5,8 @@ To download and install NetAlertX on the hardware/server directly use the `curl`
|
||||
> [!NOTE]
|
||||
> This is an Experimental feature 🧪 and it relies on community support.
|
||||
>
|
||||
> 🙏 Looking for maintainers for this installation method 🙂
|
||||
> 🙏 Looking for maintainers for this installation method 🙂 Curent community volunteers:
|
||||
> - [slammingprogramming](https://github.com/slammingprogramming)
|
||||
>
|
||||
> There is no guarantee that the install script or any other script will gracefully handle other installed software.
|
||||
> Data loss is a possibility, **it is recommended to install NetAlertX using the supplied Docker image**.
|
||||
|
||||
@@ -1,42 +1,109 @@
|
||||
# ⚙ Initial Setup
|
||||
# ⚡ Quick Start Guide
|
||||
|
||||
## 📁 Configuration Files
|
||||
|
||||
- On first run, the app generates a default `app.conf` and `app.db` if unavailable.
|
||||
- Preferred method: Use the **Settings UI**.
|
||||
- If the UI is inaccessible, manually edit [`app.conf`](https://github.com/jokob-sk/NetAlertX/tree/main/back) in `/app/config/`.
|
||||
Get **NetAlertX** up and running in a few simple steps.
|
||||
|
||||
---
|
||||
|
||||
## 🖥️ Setting Up Scanners
|
||||
### 1. Configure Scanner Plugin(s)
|
||||
|
||||
- Define networks to scan by entering accessible subnets.
|
||||
- Default plugin: **ARPSCAN** → Requires at least one valid subnet + interface in `SCAN_SUBNETS`.
|
||||
- 📖 [Subnet & VLAN setup guide](./SUBNETS.md) (for troubleshooting and advanced scenarios).
|
||||
> [!TIP]
|
||||
> Enable additional plugins under **Settings → `LOADED_PLUGINS`**.
|
||||
> Make sure to **save** your changes and **reload the page** to activate them.
|
||||
> 
|
||||
|
||||
### 🔄 PiHole Sync
|
||||
- If using **PiHole**, devices can be synced automatically.
|
||||
- 📖 [PiHole configuration guide](./PIHOLE_GUIDE.md).
|
||||
**Initial configuration**: `ARPSCAN`, `INTRNT`
|
||||
|
||||
### 📦 Bulk Import
|
||||
> [!NOTE]
|
||||
> You can bulk-import devices via the [CSV import method](./DEVICES_BULK_EDITING.md).
|
||||
> [!NOTE]
|
||||
> `ARPSCAN` and `INTRNT` scan the current network. You can complement them with other `🔍 dev scanner` plugins like `NMAPDEV`, or import devices using `📥 importer` plugins.
|
||||
> See the [Subnet & VLAN Setup Guide](./SUBNETS.md) and [Remote Networks](./REMOTE_NETWORKS.md) for advanced configurations.
|
||||
|
||||
---
|
||||
|
||||
## 🌍 Community Guides
|
||||
### 2. Choose a Publisher Plugin
|
||||
|
||||
- Various community-written configuration guides in **Chinese, Korean, German, French**.
|
||||
- 📖 [Community Guides](./COMMUNITY_GUIDES.md)
|
||||
**Initial configuration**: `SMTP`
|
||||
|
||||
> ⚠️ **Note:** These guides may be outdated. Always refer to the official documentation first.
|
||||
> [!NOTE]
|
||||
> Configure your SMTP settings or enable additional `▶️ publisher` plugins to send alerts.
|
||||
> For more flexibility, try [📚 `_publisher_apprise`](/front/plugins/_publisher_apprise/), which supports over 80 notification services.
|
||||
|
||||
---
|
||||
|
||||
## 🛠️ Common Issues
|
||||
### 3. Set Up a Network Topology Diagram
|
||||
|
||||
Before creating a new issue:
|
||||

|
||||
|
||||
- Check if a similar issue was [already resolved](https://github.com/jokob-sk/NetAlertX/issues?q=is%3Aissue+is%3Aclosed).
|
||||
- Review [common debugging tips](./DEBUG_TIPS.md).
|
||||
- Check [Common Issues](./COMMON_ISSUES.md)
|
||||
**Initial configuration**: The app auto-selects a root node (MAC `internet`) and attempts to identify other network devices by vendor or name.
|
||||
|
||||
> [!NOTE]
|
||||
> Visualize and manage your network using the [Network Guide](./NETWORK_TREE.md).
|
||||
> Some plugins (e.g., `UNFIMP`) build the topology automatically, or you can use [Custom Workflows](./WORKFLOWS.md) to generate it based on your own rules.
|
||||
|
||||
---
|
||||
|
||||
### 4. Configure Notifications
|
||||
|
||||

|
||||
|
||||
**Initial configuration**: Notifies on `new_devices`, `down_devices`, and `events` as defined in `NTFPRCS_INCLUDED_SECTIONS`.
|
||||
|
||||
> [!NOTE]
|
||||
> Notification settings support global, plugin-specific, and per-device rules.
|
||||
> For fine-tuning, refer to the [Notification Guide](./NOTIFICATIONS.md).
|
||||
|
||||
---
|
||||
|
||||
### 5. Set Up Workflows
|
||||
|
||||

|
||||
|
||||
**Initial configuration**: N/A
|
||||
|
||||
> [!NOTE]
|
||||
> Automate responses to device status changes, group management, topology updates, and more.
|
||||
> See the [Workflows Guide](./WORKFLOWS.md) to simplify your network operations.
|
||||
|
||||
---
|
||||
|
||||
### 6. Backup Your Configuration
|
||||
|
||||

|
||||
|
||||
**Initial configuration**: The `CSVBCKP` plugin creates a daily backup to `/config/devices.csv`.
|
||||
|
||||
> [!NOTE]
|
||||
> For a complete backup strategy, follow the [Backup Guide](./BACKUPS.md).
|
||||
|
||||
---
|
||||
|
||||
### 7. (Optional) Create Custom Plugins
|
||||
|
||||
[](https://youtu.be/cdbxlwiWhv8)
|
||||
|
||||
**Initial configuration**: N/A
|
||||
|
||||
> [!NOTE]
|
||||
> Build your own scanner, importer, or publisher plugin.
|
||||
> See the [Plugin Development Guide](./PLUGINS_DEV.md) and included video tutorials.
|
||||
|
||||
---
|
||||
|
||||
## 📁 Recommended Guides
|
||||
|
||||
* 📘 [PiHole Setup Guide](./PIHOLE_GUIDE.md)
|
||||
* 📘 [CSV Import Method](./DEVICES_BULK_EDITING.md)
|
||||
* 📘 [Community Guides (Chinese, Korean, German, French)](./COMMUNITY_GUIDES.md)
|
||||
|
||||
---
|
||||
|
||||
## 🛠️ Troubleshooting & Help
|
||||
|
||||
Before opening a new issue:
|
||||
|
||||
* 📘 [Common Issues](./COMMON_ISSUES.md)
|
||||
* 🧰 [Debugging Tips](./DEBUG_TIPS.md)
|
||||
* ✅ [Browse resolved GitHub issues](https://github.com/jokob-sk/NetAlertX/issues?q=is%3Aissue+is%3Aclosed)
|
||||
|
||||
---
|
||||
|
||||
Let me know if you want a condensed README version, separate pages for each section, or UI copy based on this!
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Migration form PiAlert to NetAlertX
|
||||
|
||||
> [!WARNING]
|
||||
> Follow this guide only after you you downloaded and started NetAlert X at least once after previously using the PiAlert image.
|
||||
> Follow this guide only after you you downloaded and started a version of NetAlertX prior to v25.6.7 (e.g. `docker pull ghcr.io/jokob-sk/netalertx:25.5.24`) at least once after previously using the PiAlert image. Later versions don't support migration and devices and settings will have to migrated manually, e.g. via [CSV import](./DEVICES_BULK_EDITING.md).
|
||||
|
||||
## STEPS:
|
||||
|
||||
|
||||
@@ -2,6 +2,12 @@
|
||||
|
||||
Name resolution in NetAlertX relies on multiple plugins to resolve device names from IP addresses. If you are seeing `(name not found)` as device names, follow these steps to diagnose and fix the issue.
|
||||
|
||||
> [!TIP]
|
||||
> Before proceeding, make sure [Reverse DNS](./REVERSE_DNS.md) is enabled on your network.
|
||||
> You can control how names are handled and cleaned using the `NEWDEV_NAME_CLEANUP_REGEX` setting.
|
||||
> To auto-update Fully Qualified Domain Names (FQDN), enable the `REFRESH_FQDN` setting.
|
||||
|
||||
|
||||
## Required Plugins
|
||||
|
||||
For best results, ensure the following name resolution plugins are enabled:
|
||||
@@ -9,6 +15,7 @@ For best results, ensure the following name resolution plugins are enabled:
|
||||
- **AVAHISCAN** – Uses mDNS/Avahi to resolve local network names.
|
||||
- **NBTSCAN** – Queries NetBIOS to find device names.
|
||||
- **NSLOOKUP** – Performs standard DNS lookups.
|
||||
- **DIGSCAN** – Performs Name Resolution with the Dig utility (DNS).
|
||||
|
||||
You can check which plugins are active in your _Settings_ section and enable any that are missing.
|
||||
|
||||
|
||||
@@ -85,8 +85,8 @@ services:
|
||||
# (Optional) Useful for debugging setup issues
|
||||
- local/path/logs:/app/log
|
||||
# (API: OPTION 1) Store temporary files in memory (recommended for performance)
|
||||
- type: tmpfs # ◀
|
||||
target: /app/api # ◀
|
||||
- type: tmpfs # ◀ 🔺
|
||||
target: /app/api # ◀ 🔺
|
||||
# (API: OPTION 2) Store API data on disk (useful for debugging)
|
||||
# - local/path/api:/app/api
|
||||
environment:
|
||||
|
||||
@@ -9,7 +9,7 @@ NetAlertX supports additional plugins to extend its functionality, each with its
|
||||
|
||||
> [!TIP]
|
||||
> You can load additional Plugins via the General -> `LOADED_PLUGINS` setting. You need to save the settings for the new plugins to load (cache/page reload may be necessary).
|
||||
> 
|
||||
> 
|
||||
|
||||
1. Pick your `🔍 dev scanner` plugin (e.g. `ARPSCAN` or `NMAPDEV`), or import devices into the application with an `📥 importer` plugin. (See **Enabling plugins** below)
|
||||
2. Pick a `▶️ publisher` plugin, if you want to send notifications. If you don't see a publisher you'd like to use, look at the [📚_publisher_apprise](/front/plugins/_publisher_apprise/) plugin which is a proxy for over 80 notification services.
|
||||
@@ -56,6 +56,7 @@ Device-detecting plugins insert values into the `CurrentScan` database table. T
|
||||
| `DDNS` | ⚙ | DDNS update | | | Script | [ddns_update](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/ddns_update/) |
|
||||
| `DHCPLSS` | 🔍/📥/🆎| Import devices from DHCP leases | | | Script | [dhcp_leases](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/dhcp_leases/) |
|
||||
| `DHCPSRVS` | ♻ | DHCP servers | | | Script | [dhcp_servers](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/dhcp_servers/) |
|
||||
| `DIGSCAN` | 🆎 | Dig (DNS) Name resolution | | | Script | [dig_scan](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/dig_scan/) |
|
||||
| `FREEBOX` | 🔍/♻/🆎| Pull data and names from Freebox/Iliadbox | | | Script | [freebox](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/freebox/) |
|
||||
| `ICMP` | ♻ | ICMP (ping) status checker | | | Script | [icmp_scan](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/icmp_scan/) |
|
||||
| `INTRNT` | 🔍 | Internet IP scanner | | | Script | [internet_ip](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/internet_ip/) |
|
||||
@@ -71,8 +72,8 @@ Device-detecting plugins insert values into the `CurrentScan` database table. T
|
||||
| `NSLOOKUP` | 🆎 | NSLookup (DNS-based) name resolution | | | Script | [nslookup_scan](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/nslookup_scan/) |
|
||||
| `NTFPRCS` | ⚙ | Notification processing | | Yes | Template | [notification_processing](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/notification_processing/)|
|
||||
| `NTFY` | ▶️ | NTFY notifications | | | Script | [_publisher_ntfy](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/_publisher_ntfy/) |
|
||||
| `OMDSDN` | 📥/🆎 | OMADA TP-Link import | 🖧 🔄 | | Script | [omada_sdn_imp](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/omada_sdn_imp/) |
|
||||
| `OMDSDNOPENAPI`| 📥/🆎 | OMADA TP-Link import via OpenAPI | 🖧 | | Script | [omada_sdn_openapi](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/omada_sdn_openapi/) |
|
||||
| `OMDSDN` | 📥/🆎 ❌ | UNMAINTAINED use `OMDSDNOPENAPI` | 🖧 🔄 | | Script | [omada_sdn_imp](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/omada_sdn_imp/) |
|
||||
| `OMDSDNOPENAPI`| 📥/🆎 | OMADA TP-Link import via OpenAPI | 🖧 | | Script | [omada_sdn_openapi](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/omada_sdn_openapi/) |
|
||||
| `PIHOLE` | 🔍/🆎/📥| Pi-hole device import & sync | | | SQLite DB | [pihole_scan](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/pihole_scan/) |
|
||||
| `PUSHSAFER` | ▶️ | Pushsafer notifications | | | Script | [_publisher_pushsafer](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/_publisher_pushsafer/) |
|
||||
| `PUSHOVER` | ▶️ | Pushover notifications | | | Script | [_publisher_pushover](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/_publisher_pushover/) |
|
||||
@@ -90,7 +91,7 @@ Device-detecting plugins insert values into the `CurrentScan` database table. T
|
||||
|
||||
|
||||
> \* The database cleanup plugin (`DBCLNP`) is not _required_ but the app will become unusable after a while if not executed.
|
||||
> ❌ marked for removal
|
||||
> ❌ marked for removal/unmaintained - looking for help
|
||||
> ⌚It's recommended to use the same schedule interval for all plugins responsible for discovering new devices.
|
||||
|
||||
|
||||
|
||||
@@ -2,6 +2,11 @@
|
||||
|
||||
If you are running a DNS server, such as **AdGuard**, set up **Private reverse DNS servers** for a better name resolution on your network. Enabling this setting will enable NetAlertX to execute dig and nslookup commands to automatically resolve device names based on their IP addresses.
|
||||
|
||||
> [!TIP]
|
||||
> Before proceeding, ensure that [name resolution plugins](./NAME_RESOLUTION.md) are enabled.
|
||||
> You can customize how names are cleaned using the `NEWDEV_NAME_CLEANUP_REGEX` setting.
|
||||
> To auto-update Fully Qualified Domain Names (FQDN), enable the `REFRESH_FQDN` setting.
|
||||
|
||||
|
||||
> Example 1: Reverse DNS `disabled`
|
||||
>
|
||||
|
||||
107
docs/SECURITY.md
@@ -1,29 +1,102 @@
|
||||
# Securing your NetAlertX instance
|
||||
## 🧭 Responsibility Disclaimer
|
||||
|
||||
NetAlertX is an execution framework. In order to run scanners and plugins, the application has to have access to privileged system resources. It is not recommended to expose NetAlertX to the internet without taking basic security precautions. It is highly recommended to use a VPN to access the application and to set up a password for the web interface before exposing the UI online.
|
||||
NetAlertX provides powerful tools for network scanning, presence detection, and automation. However, **it is up to you—the deployer—to ensure that your instance is properly secured**.
|
||||
|
||||
## VPN
|
||||
This includes (but is not limited to):
|
||||
- Controlling who has access to the UI and API
|
||||
- Following network and container security best practices
|
||||
- Running NetAlertX only on networks where you have legal authorization
|
||||
- Keeping your deployment up to date with the latest patches
|
||||
|
||||
VPNs allow you to securely access your NetAlertX instance from remote locations without exposing it to the internet. A VPN encrypts your connection and prevents unauthorized access.
|
||||
> NetAlertX is not responsible for misuse, misconfiguration, or unsecure deployments. Always test and secure your setup before exposing it to the outside world.
|
||||
|
||||
### Tailscale as an Alternative
|
||||
# 🔐 Securing Your NetAlertX Instance
|
||||
|
||||
If setting up a traditional VPN is not ideal, you can use [Tailscale](https://tailscale.com/) as an easy alternative. Tailscale creates a secure, encrypted connection between your devices without complex configuration. Since NetAlertX is designed to be run on private networks, Tailscale can provide a simple way to securely connect to your instance from anywhere.
|
||||
NetAlertX is a powerful network scanning and automation framework. With that power comes responsibility. **It is your responsibility to secure your deployment**, especially if you're running it outside a trusted local environment.
|
||||
|
||||
## Setting a Password
|
||||
---
|
||||
|
||||
By default, NetAlertX does not enforce authentication, but it is highly recommended to set a password before exposing the web interface.
|
||||
## ⚠️ TL;DR – Key Security Recommendations
|
||||
|
||||
Configure `SETPWD_enable_password` to `true` and enter your password in `SETPWD_password`. When enabled, a login dialog is displayed. If facing issues, you can always disable the login by setting `SETPWD_enable_password=false` in your `app.conf` file.
|
||||
- ✅ **NEVER expose NetAlertX directly to the internet without protection**
|
||||
- ✅ Use a **VPN or Tailscale** to access remotely
|
||||
- ✅ Enable **password protection** for the web UI
|
||||
- ✅ Harden your container environment (e.g., no unnecessary privileges)
|
||||
- ✅ Use **firewalls and IP whitelisting**
|
||||
- ✅ Keep the software **updated**
|
||||
- ✅ Limit the scope of **plugins and API keys**
|
||||
|
||||
- The default password is `123456`.
|
||||
- Passwords are stored as SHA256 hashes for security.
|
||||
---
|
||||
|
||||
## Additional Security Measures
|
||||
## 🔗 Access Control with VPN (or Tailscale)
|
||||
|
||||
- **Firewall Rules**: Ensure that only trusted IPs can access the NetAlertX instance.
|
||||
- **Limit Plugin Permissions**: Only enable the plugins necessary for your setup.
|
||||
- **Keep Software Updated**: Regularly update NetAlertX to receive the latest security patches.
|
||||
- **Use Read-Only API Keys**: If exposing APIs, limit privileges with read-only keys where applicable.
|
||||
NetAlertX is designed to be run on **private LANs**, not the open internet.
|
||||
|
||||
By following these security recommendations, you can help protect your NetAlertX instance from unauthorized access and potential misuse.
|
||||
**Recommended**: Use a VPN to access NetAlertX from remote locations.
|
||||
|
||||
### ✅ Tailscale (Easy VPN Alternative)
|
||||
|
||||
Tailscale sets up a private mesh network between your devices. It's fast to configure and ideal for NetAlertX.
|
||||
👉 [Get started with Tailscale](https://tailscale.com/)
|
||||
|
||||
---
|
||||
|
||||
## 🔑 Web UI Password Protection
|
||||
|
||||
By default, NetAlertX does **not** require login. Before exposing the UI in any way:
|
||||
|
||||
1. Enable password protection:
|
||||
```ini
|
||||
SETPWD_enable_password=true
|
||||
SETPWD_password=your_secure_password
|
||||
```
|
||||
|
||||
2. Passwords are stored as SHA256 hashes
|
||||
|
||||
3. Default password (if not changed): 123456 — change it ASAP!
|
||||
|
||||
|
||||
> To disable authenticated login, set `SETPWD_enable_password=false` in `app.conf`
|
||||
|
||||
|
||||
---
|
||||
|
||||
## 🔥 Additional Security Measures
|
||||
|
||||
- **Firewall / Network Rules**
|
||||
Restrict UI/API access to trusted IPs only.
|
||||
|
||||
- **Limit Docker Capabilities**
|
||||
Avoid `--privileged`. Use `--cap-add=NET_RAW` and others **only if required** by your scan method.
|
||||
|
||||
- **Keep NetAlertX Updated**
|
||||
Regular updates contain bug fixes and security patches.
|
||||
|
||||
- **Plugin Permissions**
|
||||
Disable unused plugins. Only install from trusted sources.
|
||||
|
||||
- **Use Read-Only API Keys**
|
||||
When integrating NetAlertX with other tools, scope keys tightly.
|
||||
|
||||
---
|
||||
|
||||
## 🧱 Docker Hardening Tips
|
||||
|
||||
- Use `read-only` mount options where possible (`:ro`)
|
||||
- Avoid running as `root` unless absolutely necessary
|
||||
- Consider using `docker scan` or other container image vulnerability scanners
|
||||
- Run with `--network host` **only on trusted networks** and only if needed for ARP-based scans
|
||||
|
||||
---
|
||||
|
||||
## 📣 Responsible Disclosure
|
||||
|
||||
If you discover a vulnerability or security concern, please report it **privately** to:
|
||||
|
||||
📧 [jokob@duck.com](mailto:jokob@duck.com?subject=NetAlertX%20Security%20Disclosure)
|
||||
|
||||
We take security seriously and will work to patch confirmed issues promptly. Your help in responsible disclosure is appreciated!
|
||||
|
||||
---
|
||||
|
||||
By following these recommendations, you can ensure your NetAlertX deployment is both powerful **and** secure.
|
||||
65
docs/SMTP.md
@@ -1,6 +1,49 @@
|
||||
# 📧 SMTP guides
|
||||
# 📧 SMTP server guides
|
||||
|
||||
## Using the GMX SMTP server
|
||||
The SMTP plugin supports any SMTP server. Here are some commonly used services to help speed up your configuration.
|
||||
|
||||
> [!NOTE]
|
||||
> If you are using a self hosted SMTP server ssh into the container and verify (e.g. via ping) that your server is reachable from within the NetAlertX container. See also how to ssh into the container if you are running it as a [Home Assistant](./HOME_ASSISTANT.md) addon.
|
||||
|
||||
## Gmail
|
||||
|
||||
1. Create an app password by following the instructions from Google, you need to Enable 2FA for this to work.
|
||||
[https://support.google.com/accounts/answer/185833](https://support.google.com/accounts/answer/185833)
|
||||
|
||||
2. Specify the following settings:
|
||||
|
||||
```python
|
||||
SMTP_RUN='on_notification'
|
||||
SMTP_SKIP_TLS=True
|
||||
SMTP_FORCE_SSL=True
|
||||
SMTP_PORT=465
|
||||
SMTP_SERVER='smtp.gmail.com'
|
||||
SMTP_PASS='16-digit passcode from google'
|
||||
SMTP_REPORT_TO='some_target_email@gmail.com'
|
||||
```
|
||||
|
||||
## Brevo
|
||||
|
||||
Brevo allows for 300 free emails per day as of time of writing.
|
||||
|
||||
1. Create an account on Brevo: https://www.brevo.com/free-smtp-server/
|
||||
2. Click your name -> SMTP & API
|
||||
3. Click Generate a new SMTP key
|
||||
4. Save the details and fill in the NetAlertX settings as below.
|
||||
|
||||
```python
|
||||
SMTP_SERVER='smtp-relay.brevo.com'
|
||||
SMTP_PORT=587
|
||||
SMTP_SKIP_LOGIN=False
|
||||
SMTP_USER='user@email.com'
|
||||
SMTP_PASS='xsmtpsib-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-xxxxxxxxxxx'
|
||||
SMTP_SKIP_TLS=False
|
||||
SMTP_FORCE_SSL=False
|
||||
SMTP_REPORT_TO='some_target_email@gmail.com'
|
||||
SMTP_REPORT_FROM='NetAlertX <user@email.com>'
|
||||
```
|
||||
|
||||
## GMX
|
||||
|
||||
1. Go to your GMX account https://account.gmx.com
|
||||
2. Under Security Options enable 2FA (Two-factor authentication)
|
||||
@@ -21,21 +64,3 @@
|
||||
SMTP_REPORT_TO='some_target_email@gmail.com'
|
||||
```
|
||||
|
||||
|
||||
## Using the Gmail SMTP server
|
||||
|
||||
1. Create an app password by following the instructions from Google, you need to Enable 2FA for this to work.
|
||||
[https://support.google.com/accounts/answer/185833](https://support.google.com/accounts/answer/185833)
|
||||
|
||||
2. Specify the following settings:
|
||||
|
||||
```python
|
||||
SMTP_RUN='on_notification'
|
||||
SMTP_SKIP_TLS=True
|
||||
SMTP_FORCE_SSL=True
|
||||
SMTP_PORT=465
|
||||
SMTP_SERVER='smtp.gmail.com'
|
||||
SMTP_PASS='16-digit passcode from google'
|
||||
SMTP_REPORT_TO='some_target_email@gmail.com'
|
||||
```
|
||||
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
# Docker Update Strategies to upgrade NetAlertX
|
||||
|
||||
> [!WARNING]
|
||||
> For versions prior to `v25.6.7` upgrade to version `v25.5.24` first (`docker pull ghcr.io/jokob-sk/netalertx:25.5.24`) as later versions don't support a full upgrade. Alternatovelly, devices and settings can be migrated manually, e.g. via [CSV import](./DEVICES_BULK_EDITING.md).
|
||||
|
||||
This guide outlines approaches for updating Docker containers, usually when upgrading to a newer version of NetAlertX. Each method offers different benefits depending on the situation. Here are the methods:
|
||||
|
||||
- Manual: Direct commands to stop, remove, and rebuild containers.
|
||||
|
||||
@@ -22,4 +22,4 @@ For a comparison, this is how the UI looks like if you are on the latest stable
|
||||
|
||||
## Implementation details
|
||||
|
||||
During build a [/app/front/buildtimestamp.txt](https://github.com/jokob-sk/NetAlertX/blob/092797e75ccfa8359444ad149e727358ac4da05f/Dockerfile#L44) file is created. The app then periodically checks if a new release is available with a newer timestamp in GitHub's rest-based JSON endpoint (check the `def isNewVersion():` method for details).
|
||||
During build a [/app/front/buildtimestamp.txt](https://github.com/jokob-sk/NetAlertX/blob/092797e75ccfa8359444ad149e727358ac4da05f/Dockerfile#L44) file is created. The app then periodically checks if a new release is available with a newer timestamp in GitHub's rest-based JSON endpoint (check the `def isNewVersion:` method for details).
|
||||
@@ -1,5 +1,8 @@
|
||||
### Create a simple n8n workflow
|
||||
|
||||
> [!NOTE]
|
||||
> You need to enable the `WEBHOOK` plugin first in order to follow this guide. See the [Plugins guide](./PLUGINS.md) for details.
|
||||
|
||||
N8N can be used for more advanced conditional notification use cases. For example, you want only to get notified if two out of a specified list of devices is down. Or you can use other plugins to process the notifiations further. The below is a simple example of sending an email on a webhook.
|
||||
|
||||

|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
# Webhook Secrets
|
||||
|
||||
> [!NOTE]
|
||||
> You need to enable the `WEBHOOK` plugin first in order to follow this guide. See the [Plugins guide](./PLUGINS.md) for details.
|
||||
|
||||
## How does the signing work?
|
||||
|
||||
NetAlertX will use the configured secret to create a hash signature of the request body. This SHA256-HMAC signature will appear in the `X-Webhook-Signature` header of each request to the webhook target URL. You can use the value of this header to validate the request was sent by NetAlertX.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Workflows Overview
|
||||
|
||||
The workflows module in NetAlertX allows to automate repetitive tasks, making network management more efficient. Whether you need to assign newly discovered devices to a specific Network Node, auto-group devices from a given vendor, unarchive a device if detected online, or automatically delete devices, this module provides the flexibility to tailor the automations to your needs.
|
||||
The workflows module in allows to automate repetitive tasks, making network management more efficient. Whether you need to assign newly discovered devices to a specific Network Node, auto-group devices from a given vendor, unarchive a device if detected online, or automatically delete devices, this module provides the flexibility to tailor the automations to your needs.
|
||||
|
||||

|
||||
|
||||
|
||||
60
docs/WORKFLOW_EXAMPLES.md
Executable file
@@ -0,0 +1,60 @@
|
||||
# Workflow examples
|
||||
|
||||
Workflows in NetAlertX automate actions based on real-time events and conditions. Below are practical examples that demonstrate how to build automation using triggers, conditions, and actions.
|
||||
|
||||
## Un-archive devices if detected online
|
||||
|
||||
This workflow automatically unarchives a device if it was previously archived but has now been detected as online.
|
||||
|
||||
### 📋 Use Case
|
||||
|
||||
Sometimes devices are manually archived (e.g., no longer expected on the network), but they reappear unexpectedly. This workflow reverses the archive status when such devices are detected during a scan.
|
||||
|
||||
### ⚙️ Workflow Configuration
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "Un-archive devices if detected online",
|
||||
"trigger": {
|
||||
"object_type": "Devices",
|
||||
"event_type": "update"
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"logic": "AND",
|
||||
"conditions": [
|
||||
{
|
||||
"field": "devIsArchived",
|
||||
"operator": "equals",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"field": "devPresentLastScan",
|
||||
"operator": "equals",
|
||||
"value": "1"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"actions": [
|
||||
{
|
||||
"type": "update_field",
|
||||
"field": "devIsArchived",
|
||||
"value": "0"
|
||||
}
|
||||
],
|
||||
"enabled": "Yes"
|
||||
}
|
||||
```
|
||||
|
||||
### 🔍 Explanation
|
||||
|
||||
- Trigger: Listens for updates to device records.
|
||||
- Conditions:
|
||||
- `devIsArchived` is `1` (archived).
|
||||
- `devPresentLastScan` is `1` (device was detected in the latest scan).
|
||||
- Action: Updates the device to set `devIsArchived` to `0` (unarchived).
|
||||
|
||||
### ✅ Result
|
||||
|
||||
Whenever a previously archived device shows up during a network scan, it will be automatically unarchived — allowing it to reappear in your device lists and dashboards.
|
||||
BIN
docs/img/DEBUG_GRAPHQL/Init_check.png
Executable file
|
After Width: | Height: | Size: 135 KiB |
BIN
docs/img/DEBUG_GRAPHQL/app_conf_graphql_port.png
Executable file
|
After Width: | Height: | Size: 11 KiB |
BIN
docs/img/DEBUG_GRAPHQL/dev_console_graphql_json.png
Executable file
|
After Width: | Height: | Size: 32 KiB |
BIN
docs/img/DEBUG_GRAPHQL/graphql_running_logs.png
Executable file
|
After Width: | Height: | Size: 36 KiB |
BIN
docs/img/DEBUG_GRAPHQL/graphql_settings_port_token.png
Executable file
|
After Width: | Height: | Size: 34 KiB |
BIN
docs/img/DEBUG_GRAPHQL/network_graphql.png
Executable file
|
After Width: | Height: | Size: 35 KiB |
BIN
docs/img/DEVICE_MANAGEMENT/device_management_status_colors.png
Executable file
|
After Width: | Height: | Size: 39 KiB |
BIN
docs/img/FIX_OFFLINE_DETECTION/presence_graph_before_after.png
Executable file
|
After Width: | Height: | Size: 486 KiB |
BIN
docs/img/NETWORK_TREE/Network_tree_details.png
Executable file
|
After Width: | Height: | Size: 93 KiB |
|
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 71 KiB |
BIN
docs/img/PLUGINS/enable_plugin.gif
Executable file
|
After Width: | Height: | Size: 134 KiB |
|
Before Width: | Height: | Size: 7.5 KiB After Width: | Height: | Size: 8.0 KiB |
BIN
docs/img/netalertx_docs_old.png
Executable file
|
After Width: | Height: | Size: 7.5 KiB |
@@ -2,6 +2,8 @@
|
||||
|
||||
Welcome to the official NetAlertX documentation! NetAlertX is a powerful tool designed to simplify the management and monitoring of your network. Below, you will find guides and resources to help you set up, configure, and troubleshoot your NetAlertX instance.
|
||||
|
||||

|
||||
|
||||
## In-App Help
|
||||
|
||||
NetAlertX provides contextual help within the application:
|
||||
@@ -13,6 +15,8 @@ NetAlertX provides contextual help within the application:
|
||||
|
||||
## Installation Guides
|
||||
|
||||
The app can be installed different ways, with the best support of the docker-based deployments. This includes the Home Assistant and Unraid installation approaches. See details below.
|
||||
|
||||
### Docker (Fully Supported)
|
||||
|
||||
NetAlertX is fully supported in Docker environments, allowing for easy setup and configuration. Follow the official guide to get started:
|
||||
@@ -21,12 +25,25 @@ NetAlertX is fully supported in Docker environments, allowing for easy setup and
|
||||
|
||||
This guide will take you through the process of setting up NetAlertX using Docker Compose or standalone Docker commands.
|
||||
|
||||
### Home Assistant (Fully Supported)
|
||||
|
||||
You can install NetAlertX also as a Home Assistant addon [](https://my.home-assistant.io/redirect/supervisor_add_addon_repository/?repository_url=https%3A%2F%2Fgithub.com%2Falexbelgium%2Fhassio-addons) via the [alexbelgium/hassio-addons](https://github.com/alexbelgium/hassio-addons/) repository. This is only possible if you run a supervised instance of Home Assistant. If not, you can still run NetAlertX in a separate Docker container and follow this guide to configure MQTT.
|
||||
|
||||
- [[Installation] Home Assistant](https://github.com/alexbelgium/hassio-addons/tree/master/netalertx)
|
||||
|
||||
### Unraid (Partial Support)
|
||||
|
||||
The Unraid template was created by the community, so it's only partially supported. Alternatively, here is [another version of the Unraid template](https://github.com/jokob-sk/NetAlertX-unraid).
|
||||
|
||||
- [[Installation] Unraid App](https://unraid.net/community/apps)
|
||||
|
||||
### Bare-Metal Installation (Experimental)
|
||||
|
||||
If you prefer to run NetAlertX on your own hardware, you can try the experimental bare-metal installation. Please note that this method is still under development, and we're looking for maintainers to help improve it.
|
||||
If you prefer to run NetAlertX on your own hardware, you can try the experimental bare-metal installation. Please note that this method is still under development, and are looking for maintainers to help improve it.
|
||||
|
||||
- [Bare-Metal Installation Guide](./HW_INSTALL.md)
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Help and Support
|
||||
@@ -66,14 +83,10 @@ To keep up with the latest changes and updates to NetAlertX, please refer to the
|
||||
Make sure to follow the project on GitHub to get notifications for new releases and important updates.
|
||||
|
||||
---
|
||||
## Additional info
|
||||
|
||||
## Additional Resources
|
||||
|
||||
- **Configuration Tips**: Learn how to optimize NetAlertX for your network setup.
|
||||
- **Advanced Features**: Explore advanced functionalities like plugin development and custom configurations.
|
||||
- **Documentation Index**: Check out the full [documentation index](https://github.com/jokob-sk/NetAlertX/tree/main/docs) for all the guides available.
|
||||
|
||||
We hope you find this documentation helpful. If you have any suggestions or improvements, please don’t hesitate to contribute!
|
||||
If you have any suggestions or improvements, please don’t hesitate to contribute!
|
||||
|
||||
---
|
||||
NetAlertX is actively maintained. You can find the source code, report bugs, or request new features on our [GitHub page](https://github.com/jokob-sk/NetAlertX).
|
||||
|
||||
@@ -19,7 +19,7 @@ showSpinner()
|
||||
$(document).ready(function() {
|
||||
|
||||
// Load JSON data from the provided URL
|
||||
$.getJSON('/php/server/query_json.php?file=table_appevents.json', function(data) {
|
||||
$.getJSON('php/server/query_json.php?file=table_appevents.json', function(data) {
|
||||
// Process the JSON data and generate UI dynamically
|
||||
processData(data)
|
||||
|
||||
|
||||
@@ -695,6 +695,39 @@ body
|
||||
|
||||
/* maintenance buttons */
|
||||
|
||||
#file-check-list{
|
||||
display: block;
|
||||
}
|
||||
|
||||
.file-checking .icon-wrap{
|
||||
width: 200px;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.file-checking .icon-wrap i{
|
||||
position: absolute;
|
||||
font-size: xx-large;
|
||||
right: 0;
|
||||
top: 0;
|
||||
opacity: 0.2;
|
||||
}
|
||||
|
||||
.file-checking .file-name-wrap{
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
display: flex;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.file-checking{
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
|
||||
.dbtools-button {
|
||||
display: inline-block;
|
||||
width: 160px;
|
||||
@@ -842,6 +875,11 @@ height: 50px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
#notifications .notification-buttons{
|
||||
margin: 10px;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
#notificationData textarea{
|
||||
width: 100%;
|
||||
}
|
||||
@@ -1098,7 +1136,7 @@ height: 50px;
|
||||
input[readonly] {
|
||||
/* Apply styles to the readonly input */
|
||||
background-color: #646566 !important;
|
||||
color: #000;
|
||||
color: #e6e6e6;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
@@ -1418,6 +1456,11 @@ input[readonly] {
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.small-box:hover
|
||||
{
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------- */
|
||||
/* Device details */
|
||||
/* ----------------------------------------------------------------- */
|
||||
|
||||
@@ -63,14 +63,14 @@
|
||||
|
||||
// some race condition, need to implement delay
|
||||
setTimeout(() => {
|
||||
$.get('/php/server/query_json.php', { file: 'table_settings.json', nocache: Date.now() }, function(res) {
|
||||
$.get('php/server/query_json.php', { file: 'table_settings.json', nocache: Date.now() }, function(res) {
|
||||
|
||||
settingsData = res["data"];
|
||||
|
||||
// columns to hide
|
||||
hiddenFields = ["NEWDEV_devScan", "NEWDEV_devPresentLastScan" ]
|
||||
// columns to disable - conditional depending if a new dummy device is created
|
||||
disabledFields = mac == "new" ? ["NEWDEV_devLastNotification", "NEWDEV_devFirstConnection", "NEWDEV_devLastConnection"] : ["NEWDEV_devLastNotification", "NEWDEV_devFirstConnection", "NEWDEV_devLastConnection", "NEWDEV_devMac", "NEWDEV_devLastIP", "NEWDEV_devSyncHubNode" ];
|
||||
// columns to disable/readonly - conditional depending if a new dummy device is created
|
||||
disabledFields = mac == "new" ? ["NEWDEV_devLastNotification", "NEWDEV_devFirstConnection", "NEWDEV_devLastConnection"] : ["NEWDEV_devLastNotification", "NEWDEV_devFirstConnection", "NEWDEV_devLastConnection", "NEWDEV_devMac", "NEWDEV_devLastIP", "NEWDEV_devSyncHubNode", "NEWDEV_devFQDN" ];
|
||||
|
||||
// Grouping of fields into categories with associated documentation links
|
||||
const fieldGroups = {
|
||||
@@ -82,16 +82,7 @@
|
||||
inputGroupClasses: "field-group main-group col-lg-4 col-sm-6 col-xs-12",
|
||||
labelClasses: "col-sm-4 col-xs-12 control-label",
|
||||
inputClasses: "col-sm-8 col-xs-12 input-group"
|
||||
},
|
||||
// Group for session information
|
||||
DevDetail_SessionInfo_Title: {
|
||||
data: ["devStatus", "devLastConnection", "devFirstConnection"],
|
||||
docs: "https://github.com/jokob-sk/NetAlertX/blob/main/docs/SESSION_INFO.md",
|
||||
iconClass: "fa fa-calendar",
|
||||
inputGroupClasses: "field-group session-group col-lg-4 col-sm-6 col-xs-12",
|
||||
labelClasses: "col-sm-4 col-xs-12 control-label",
|
||||
inputClasses: "col-sm-8 col-xs-12 input-group"
|
||||
},
|
||||
},
|
||||
// Group for event and alert settings
|
||||
DevDetail_EveandAl_Title: {
|
||||
data: ["devAlertEvents", "devAlertDown", "devSkipRepeated"],
|
||||
@@ -119,6 +110,15 @@
|
||||
labelClasses: "col-sm-4 col-xs-12 control-label",
|
||||
inputClasses: "col-sm-8 col-xs-12 input-group"
|
||||
},
|
||||
// Group for session information
|
||||
DevDetail_SessionInfo_Title: {
|
||||
data: ["devStatus", "devLastConnection", "devFirstConnection", "devFQDN"],
|
||||
docs: "https://github.com/jokob-sk/NetAlertX/blob/main/docs/SESSION_INFO.md",
|
||||
iconClass: "fa fa-calendar",
|
||||
inputGroupClasses: "field-group session-group col-lg-4 col-sm-6 col-xs-12",
|
||||
labelClasses: "col-sm-4 col-xs-12 control-label",
|
||||
inputClasses: "col-sm-8 col-xs-12 input-group"
|
||||
},
|
||||
// Group for Custom properties.
|
||||
DevDetail_CustomProperties_Title: {
|
||||
data: ["devCustomProps"],
|
||||
@@ -173,7 +173,7 @@
|
||||
|
||||
// Additional form elements like the random MAC address button for devMac
|
||||
let inlineControl = "";
|
||||
// handle rendom mac
|
||||
// handle random mac
|
||||
if (setting.setKey == "NEWDEV_devMac" && deviceData["devIsRandomMAC"] == true) {
|
||||
inlineControl += `<span class="input-group-addon pointer"
|
||||
title="${getString("RandomMAC_hover")}">
|
||||
|
||||
@@ -65,7 +65,7 @@ function initializeSessionsDatatable () {
|
||||
// Replace HTML codes
|
||||
{targets: [0],
|
||||
'createdCell': function (td, cellData, rowData, row, col) {
|
||||
$(td).html (translateHTMLcodes (cellData));
|
||||
$(td).html (translateHTMLcodes (localizeTimestamp(cellData)));
|
||||
} }
|
||||
],
|
||||
|
||||
|
||||
@@ -219,9 +219,8 @@ function initializeCalendar() {
|
||||
},
|
||||
|
||||
eventRender: function (event, element) {
|
||||
$(element).tooltip({container: 'body', placement: 'bottom',
|
||||
title: event.tooltip});
|
||||
// element.attr ('title', event.tooltip); // Alternative tooltip
|
||||
// $(element).tooltip({container: 'body', placement: 'bottom', title: event.tooltip});
|
||||
element.attr ('title', event.tooltip); // Alternative tooltip
|
||||
},
|
||||
|
||||
loading: function( isLoading, view ) {
|
||||
|
||||
@@ -47,9 +47,28 @@
|
||||
{visible: false, targets: [0]},
|
||||
|
||||
// Replace HTML codes
|
||||
{targets: [1,2,3,5],
|
||||
{targets: [3,5],
|
||||
'createdCell': function (td, cellData, rowData, row, col) {
|
||||
$(td).html (translateHTMLcodes (cellData));
|
||||
} },
|
||||
// Date
|
||||
{targets: [1,2],
|
||||
"createdCell": function (td, cellData, rowData, row, col) {
|
||||
// console.log(cellData);
|
||||
|
||||
if (!cellData.includes("missing event") && !cellData.includes("..."))
|
||||
{
|
||||
if (cellData.includes("+")) { // Check if timezone offset is present
|
||||
cellData = cellData.split('+')[0]; // Remove timezone offset
|
||||
}
|
||||
// console.log(cellData);
|
||||
result = localizeTimestamp(cellData);
|
||||
} else
|
||||
{
|
||||
result = translateHTMLcodes(cellData)
|
||||
}
|
||||
|
||||
$(td).html (result);
|
||||
} }
|
||||
],
|
||||
|
||||
|
||||
@@ -538,7 +538,8 @@ function mapColumnIndexToFieldName(index, tableColumnVisible) {
|
||||
"devSourcePlugin",
|
||||
"devPresentLastScan",
|
||||
"devAlertDown",
|
||||
"devCustomProps"
|
||||
"devCustomProps",
|
||||
"devFQDN"
|
||||
];
|
||||
|
||||
// console.log("OrderBy: " + columnNames[tableColumnOrder[index]]);
|
||||
@@ -648,6 +649,7 @@ function initializeDatatable (status) {
|
||||
devParentChildrenCount
|
||||
devIpLong
|
||||
devCustomProps
|
||||
devFQDN
|
||||
}
|
||||
count
|
||||
}
|
||||
@@ -722,7 +724,8 @@ function initializeDatatable (status) {
|
||||
device.devSourcePlugin || "",
|
||||
device.devPresentLastScan || "",
|
||||
device.devAlertDown || "",
|
||||
device.devCustomProps || ""
|
||||
device.devCustomProps || "",
|
||||
device.devFQDN || ""
|
||||
];
|
||||
|
||||
const newRow = [];
|
||||
@@ -760,13 +763,13 @@ function initializeDatatable (status) {
|
||||
{visible: false, targets: tableColumnHide },
|
||||
{className: 'text-center', targets: [mapIndx(4), mapIndx(9), mapIndx(10), mapIndx(15), mapIndx(18)] },
|
||||
{className: 'iconColumn text-center', targets: [mapIndx(3)]},
|
||||
{width: '80px', targets: [mapIndx(6), mapIndx(7), mapIndx(15)] },
|
||||
{width: '80px', targets: [mapIndx(6), mapIndx(7), mapIndx(15), mapIndx(27)] },
|
||||
{width: '85px', targets: [mapIndx(9)] },
|
||||
{width: '30px', targets: [mapIndx(3), mapIndx(10), mapIndx(13), mapIndx(18)] },
|
||||
{orderData: [mapIndx(12)], targets: mapIndx(8) },
|
||||
|
||||
// Device Name
|
||||
{targets: [mapIndx(0)],
|
||||
// Device Name and FQDN
|
||||
{targets: [mapIndx(0), mapIndx(27)],
|
||||
'createdCell': function (td, cellData, rowData, row, col) {
|
||||
|
||||
// console.log(cellData)
|
||||
@@ -845,7 +848,7 @@ function initializeDatatable (status) {
|
||||
{targets: [mapIndx(26)],
|
||||
'createdCell': function (td, cellData, rowData, row, col) {
|
||||
if (!emptyArr.includes(cellData)){
|
||||
$(td).html (`<span>${renderCustomProps(cellData, rowData[mapIndx(11)])}<span>`);
|
||||
$(td).html (`<span>${renderCustomProps(cellData, rowData[mapIndx(11)])}</span>`);
|
||||
} else {
|
||||
$(td).html ('');
|
||||
}
|
||||
|
||||
@@ -216,7 +216,7 @@ function initializeDatatable () {
|
||||
} },
|
||||
|
||||
// Replace HTML codes
|
||||
{targets: [3,4,5,6,7],
|
||||
{targets: [4,5,6,7],
|
||||
"createdCell": function (td, cellData, rowData, row, col) {
|
||||
$(td).html (translateHTMLcodes (cellData));
|
||||
} },
|
||||
@@ -226,6 +226,12 @@ function initializeDatatable () {
|
||||
"createdCell": function (td, cellData, rowData, row, col) {
|
||||
// console.log(cellData);
|
||||
$(td).html (cellData);
|
||||
} },
|
||||
// Date
|
||||
{targets: [3],
|
||||
"createdCell": function (td, cellData, rowData, row, col) {
|
||||
// console.log(cellData);
|
||||
$(td).html (localizeTimestamp(cellData));
|
||||
} }
|
||||
],
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ if (isset ($_GET["action"]) && $_GET["action"] == 'logout')
|
||||
}
|
||||
|
||||
// Password without Cookie check -> pass and set initial cookie
|
||||
if (isset ($_POST["loginpassword"]) && $nax_Password == hash('sha256',$_POST["loginpassword"]))
|
||||
if (isset ($_POST["loginpassword"]) && $nax_Password === hash('sha256',$_POST["loginpassword"]))
|
||||
{
|
||||
header('Location: devices.php');
|
||||
$_SESSION["login"] = 1;
|
||||
@@ -37,7 +37,7 @@ if (isset ($_POST["loginpassword"]) && $nax_Password == hash('sha256',$_POST["lo
|
||||
}
|
||||
|
||||
// active Session or valid cookie (cookie not extends)
|
||||
if (( isset ($_SESSION["login"]) && ($_SESSION["login"] == 1)) || (isset ($_COOKIE[$CookieSaveLoginName]) && $nax_Password == $_COOKIE[$CookieSaveLoginName]))
|
||||
if (( isset ($_SESSION["login"]) && ($_SESSION["login"] == 1)) || (isset ($_COOKIE[$CookieSaveLoginName]) && $nax_Password === $_COOKIE[$CookieSaveLoginName]))
|
||||
{
|
||||
header('Location: devices.php');
|
||||
$_SESSION["login"] = 1;
|
||||
@@ -53,7 +53,7 @@ $login_icon = 'fa-info';
|
||||
// no active session, cookie not checked
|
||||
if (isset ($_SESSION["login"]) == FALSE || $_SESSION["login"] != 1)
|
||||
{
|
||||
if ($nax_Password == '8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92')
|
||||
if ($nax_Password === '8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92')
|
||||
{
|
||||
$login_info = lang('Login_Default_PWD');
|
||||
$login_mode = 'danger';
|
||||
|
||||
52
front/initCheck.php
Executable file
@@ -0,0 +1,52 @@
|
||||
<?php
|
||||
//------------------------------------------------------------------------------
|
||||
// check if authenticated
|
||||
require_once $_SERVER['DOCUMENT_ROOT'] . '/php/templates/security.php';
|
||||
?>
|
||||
|
||||
<div class="col-md-12">
|
||||
<div class="py-5">
|
||||
<div class="mt-4 text-center" id="check-status-plc" >
|
||||
<div class="alert alert-warning">
|
||||
<i class="fa-solid fa-spinner fa-spin text-secondary"></i> <?= lang('Maintenance_InitCheck_Checking');?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt-4 text-center" id="check-status" style="display: none;">
|
||||
<div class="alert alert-success">
|
||||
<i class="fa-solid fa-check text-success"></i> <?= lang('Maintenance_InitCheck_Success');?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="d-flex flex-wrap gap-2 w-100" id="file-check-list"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="text-center box box-secondary col-md-6">
|
||||
<p class="text-muted"><?= lang('Maintenance_InitCheck_QuickSetupGuide');?></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12 center text-center" >
|
||||
<button type="button" class=" col-md-12 btn btn-default bg-green " onclick="retryCheck()"><?= lang('Maintenance_ReCheck');?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
|
||||
function retryCheck() {
|
||||
// re-set page
|
||||
$('#file-check-list').empty();
|
||||
$('#check-status').hide();
|
||||
$('#check-status-plc').show();
|
||||
// re-run check
|
||||
checkAppInitializedJsonInit();
|
||||
}
|
||||
|
||||
$(document).ready(() => {
|
||||
checkAppInitializedJsonInit();
|
||||
});
|
||||
</script>
|
||||
@@ -113,7 +113,7 @@ function deleteAllCookies() {
|
||||
function cacheSettings()
|
||||
{
|
||||
return new Promise((resolve, reject) => {
|
||||
if(!getCache('completedCalls').includes('cacheSettings'))
|
||||
if(!getCache('cacheSettings_completed') === true)
|
||||
{
|
||||
$.get('php/server/query_json.php', { file: 'table_settings.json', nocache: Date.now() }, function(resSet) {
|
||||
|
||||
@@ -211,8 +211,18 @@ function getSetting (key) {
|
||||
function cacheStrings() {
|
||||
return new Promise((resolve, reject) => {
|
||||
|
||||
// Create a promise for each language
|
||||
languagesToLoad = ['en_us', getLangCode()]
|
||||
// Create a promise for each language (include en_us by default as fallback)
|
||||
languagesToLoad = ['en_us']
|
||||
|
||||
additionalLanguage = getLangCode()
|
||||
|
||||
if(additionalLanguage != 'en_us')
|
||||
{
|
||||
languagesToLoad.push(additionalLanguage)
|
||||
}
|
||||
|
||||
console.log(languagesToLoad);
|
||||
|
||||
const languagePromises = languagesToLoad.map((language_code) => {
|
||||
return new Promise((resolveLang, rejectLang) => {
|
||||
// Fetch core strings and translations
|
||||
@@ -235,7 +245,7 @@ function cacheStrings() {
|
||||
});
|
||||
|
||||
// Handle successful completion of language processing
|
||||
handleSuccess(`cacheStrings[${language_code}]`, resolveLang);
|
||||
handleSuccess(`cacheStrings`, resolveLang);
|
||||
})
|
||||
.fail((pluginError) => {
|
||||
// Handle failure in plugin strings fetching
|
||||
@@ -353,6 +363,30 @@ function getLangCode() {
|
||||
// String utilities
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
|
||||
function localizeTimestamp(result)
|
||||
{
|
||||
// contains TZ in format Europe/Berlin
|
||||
tz = getSetting("TIMEZONE")
|
||||
|
||||
// set default if not available or app still loading
|
||||
tz == "" ? tz = 'Europe/Berlin' : tz = tz;
|
||||
|
||||
const date = new Date(result); // Assumes result is a timestamp or ISO string
|
||||
const formatter = new Intl.DateTimeFormat('default', {
|
||||
timeZone: tz,
|
||||
year: 'numeric',
|
||||
month: '2-digit',
|
||||
day: '2-digit',
|
||||
hour: '2-digit',
|
||||
minute: '2-digit',
|
||||
second: '2-digit',
|
||||
hour12: false // change to true if you want AM/PM format
|
||||
});
|
||||
|
||||
return formatter.format(date);
|
||||
}
|
||||
|
||||
// ----------------------------------------------------
|
||||
/**
|
||||
* Replaces double quotes within single-quoted strings, then converts all single quotes to double quotes,
|
||||
@@ -1344,8 +1378,8 @@ function restartBackend() {
|
||||
const sessionStorageKey = "myScriptExecuted_common_js";
|
||||
var completedCalls = []
|
||||
var completedCalls_final = ['cacheSettings', 'cacheStrings', 'cacheDevices'];
|
||||
var completedCallsCount = 0;
|
||||
var completedCallsCount_final;
|
||||
var lang_completedCalls = 0;
|
||||
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// Clearing all the caches
|
||||
@@ -1431,12 +1465,27 @@ async function isGraphQLServerRunning() {
|
||||
// Check if the code has been executed before by checking sessionStorage
|
||||
function isAppInitialized() {
|
||||
|
||||
completedCalls = parseInt(getCache("completedCallsCount"));
|
||||
shouldBeCompletedCalls = getLangCode() == 'en_us' ? 3 : 4;
|
||||
lang_shouldBeCompletedCalls = getLangCode() == 'en_us' ? 1 : 2;
|
||||
|
||||
return (
|
||||
completedCalls >= shouldBeCompletedCalls
|
||||
);
|
||||
// check if each ajax call completed succesfully
|
||||
$.each(completedCalls_final, function(index, call_name){
|
||||
|
||||
if(getCache(call_name + "_completed") != "true")
|
||||
{
|
||||
console.log(`[isAppInitialized] AJAX call ${call_name} unsuccesful: ${getCache(call_name + "_completed")}`)
|
||||
return false;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
// check if all required languages chached
|
||||
if(parseInt(getCache("cacheStringsCountCompleted")) != lang_shouldBeCompletedCalls)
|
||||
{
|
||||
console.log(`[isAppInitialized] AJAX call cacheStrings unsuccesful: ${getCache("cacheStringsCountCompleted")} out of ${lang_shouldBeCompletedCalls}`)
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
@@ -1467,27 +1516,25 @@ async function executeOnce() {
|
||||
// Function to handle successful completion of an AJAX call
|
||||
const handleSuccess = (callName) => {
|
||||
console.log(`AJAX call successful: ${callName}`);
|
||||
// completedCalls.push(callName);
|
||||
// setCache('completedCalls', mergeUniqueArrays(getCache('completedCalls').split(','), [callName]));
|
||||
|
||||
val = getCache('completedCallsCount');
|
||||
|
||||
if(val == "")
|
||||
if(callName.includes("cacheStrings"))
|
||||
{
|
||||
val = 0;
|
||||
} else
|
||||
{
|
||||
val = parseInt(val)
|
||||
completed_tmp = getCache("cacheStringsCountCompleted");
|
||||
completed_tmp == "" ? completed_tmp = 0 : completed_tmp = completed_tmp;
|
||||
completed_tmp++;
|
||||
setCache("cacheStringsCountCompleted", completed_tmp);
|
||||
}
|
||||
|
||||
setCache('completedCallsCount', val + 1)
|
||||
setCache(callName + "_completed", true)
|
||||
};
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// Function to handle failure of an AJAX call
|
||||
const handleFailure = (callName, callback) => {
|
||||
console.error(`AJAX call ${callName} failed`);
|
||||
msg = `AJAX call ${callName} failed`
|
||||
console.error(msg);
|
||||
// Implement retry logic here if needed
|
||||
// write_notification(msg, 'interrupt')
|
||||
};
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
@@ -33,7 +33,7 @@ function versionUpdateUI(){
|
||||
// Checks if a new version is available via the global app_state.json
|
||||
function checkIfNewVersionAvailable()
|
||||
{
|
||||
$.get('/php/server/query_json.php', { file: 'app_state.json', nocache: Date.now() }, function(appState) {
|
||||
$.get('php/server/query_json.php', { file: 'app_state.json', nocache: Date.now() }, function(appState) {
|
||||
|
||||
// console.log(appState["isNewVersionChecked"])
|
||||
// console.log(appState["isNewVersion"])
|
||||
@@ -48,4 +48,4 @@ function checkIfNewVersionAvailable()
|
||||
}
|
||||
|
||||
// handle the dispaly of the NEW icon
|
||||
checkIfNewVersionAvailable()
|
||||
checkIfNewVersionAvailable()
|
||||
|
||||
@@ -433,7 +433,7 @@ function initListInteractionOptions(element) {
|
||||
if (clickCounter === 1) {
|
||||
// Single-click action
|
||||
showModalFieldInput(
|
||||
`<i class="fa-regular fa-pen-to-square"></i> ${getString(
|
||||
`<i class="fa fa-pen-to-square"></i> ${getString(
|
||||
"Gen_Update_Value"
|
||||
)}`,
|
||||
getString("settings_update_item_warning"),
|
||||
|
||||
@@ -26,6 +26,134 @@ function lockDatabase(delay=20) {
|
||||
}
|
||||
|
||||
|
||||
const requiredFiles = [
|
||||
'app_state.json',
|
||||
'plugins.json',
|
||||
'table_devices.json',
|
||||
'table_devices_filters.json',
|
||||
'table_devices_tiles.json',
|
||||
'table_notifications.json',
|
||||
'table_online_history.json',
|
||||
'table_appevents.json',
|
||||
'table_custom_endpoint.json',
|
||||
'table_events_pending_alert.json',
|
||||
'table_plugins_events.json',
|
||||
'table_plugins_history.json',
|
||||
'table_plugins_language_strings.json',
|
||||
'table_plugins_objects.json',
|
||||
'table_settings.json',
|
||||
'user_notifications.json'
|
||||
];
|
||||
|
||||
const internalChecks = ['isAppInitialized', 'isGraphQLServerRunning'];
|
||||
|
||||
const fileStatus = {}; // Track file check results
|
||||
|
||||
function updateFileStatusUI(file, status) {
|
||||
const item = $(`#file-${file.replace(/[^a-z0-9]/gi, '-')}`);
|
||||
const icon = item.find('span.icon-wrap');
|
||||
|
||||
if (status === 'ok') {
|
||||
icon.html('<i class="fa-solid fa-check "></i>');
|
||||
} else if (status === 'fail') {
|
||||
icon.html('<i class="fa-solid fa-xmark "></i>');
|
||||
} else {
|
||||
icon.html('<i class="fa-solid fa-spinner fa-spin text-secondary"></i>');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function checkAppInitializedJson() {
|
||||
requiredFiles.forEach(file => {
|
||||
$.get('php/server/query_json.php', { file, nocache: Date.now() })
|
||||
.done(() => {
|
||||
if (fileStatus[file] !== 'ok') {
|
||||
fileStatus[file] = 'ok';
|
||||
updateFileStatusUI(file, 'ok');
|
||||
}
|
||||
})
|
||||
.fail(() => {
|
||||
fileStatus[file] = 'fail';
|
||||
updateFileStatusUI(file, 'fail');
|
||||
});
|
||||
});
|
||||
|
||||
const allOk = requiredFiles.every(file => fileStatus[file] === 'ok');
|
||||
|
||||
if (allOk) {
|
||||
checkInternalStatusAfterFiles();
|
||||
} else {
|
||||
setTimeout(checkAppInitializedJson, 1000);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function checkInternalStatusAfterFiles() {
|
||||
const promises = [
|
||||
waitForAppInitialized().then(() => {
|
||||
fileStatus['isAppInitialized'] = 'ok';
|
||||
updateFileStatusUI('isAppInitialized', 'ok');
|
||||
}).catch(() => {
|
||||
fileStatus['isAppInitialized'] = 'fail';
|
||||
updateFileStatusUI('isAppInitialized', 'fail');
|
||||
}),
|
||||
|
||||
waitForGraphQLServer().then(() => {
|
||||
fileStatus['isGraphQLServerRunning'] = 'ok';
|
||||
updateFileStatusUI('isGraphQLServerRunning', 'ok');
|
||||
}).catch(() => {
|
||||
fileStatus['isGraphQLServerRunning'] = 'fail';
|
||||
updateFileStatusUI('isGraphQLServerRunning', 'fail');
|
||||
})
|
||||
];
|
||||
|
||||
Promise.allSettled(promises).then(() => {
|
||||
const allPassed = internalChecks.every(key => fileStatus[key] === 'ok');
|
||||
if (allPassed) {
|
||||
$('#check-status').show();
|
||||
$('#check-status-plc').hide();
|
||||
} else {
|
||||
setTimeout(checkInternalStatusAfterFiles, 1000);
|
||||
}
|
||||
});
|
||||
}
|
||||
function waitForAppInitialized() {
|
||||
return new Promise((resolve, reject) => {
|
||||
if (isAppInitialized()) {
|
||||
resolve();
|
||||
} else {
|
||||
reject();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Initial UI setup for all items
|
||||
function checkAppInitializedJsonInit() {
|
||||
const allItems = [...requiredFiles, ...internalChecks];
|
||||
|
||||
allItems.forEach(file => {
|
||||
|
||||
|
||||
$('#file-check-list').append(`
|
||||
<div class="panel panel-secondary col-xs-6 col-sm-4 col-md-3 col-lg-2 col-xxl-1 padding-5px">
|
||||
<div class="file-checking border rounded p-2 d-flex flex-column justify-content-between h-100" id="file-${file.replace(/[^a-z0-9]/gi, '-')}">
|
||||
<div class="d-flex align-items-center gap-2 mb-2">
|
||||
<span class="file-name-wrap flex-grow-1 text-truncate" title="${file}">${file}</span>
|
||||
<span class="icon-wrap align-items-center text-center"><i class="fa-solid fa-spinner fa-spin text-secondary"></i></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
`);
|
||||
|
||||
fileStatus[file] = 'checking';
|
||||
});
|
||||
|
||||
checkAppInitializedJson();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -200,9 +200,9 @@ function validateRegex(elem) {
|
||||
|
||||
// Validate against regex
|
||||
if (regex.test(value)) {
|
||||
iconSpan.html("<i class='fa-regular fa-check'></i>");
|
||||
iconSpan.html("<i class='fa fa-check'></i>");
|
||||
} else {
|
||||
iconSpan.html("<i class='fa-regular fa-xmark'></i>");
|
||||
iconSpan.html("<i class='fa fa-xmark'></i>");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
5
front/lib/popper_tooltip/popper.min.js
vendored
Executable file
@@ -51,7 +51,7 @@ $db->close();
|
||||
<div class="box" id="Maintain-Status">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">
|
||||
<i class="fa fa-display"></i></i>
|
||||
<i class="fa fa-display"></i>
|
||||
<?= lang('Maintenance_Status');?>
|
||||
</h3>
|
||||
</div>
|
||||
@@ -59,7 +59,7 @@ $db->close();
|
||||
<div class="db_info_table">
|
||||
<div class="db_info_table_row">
|
||||
<div class="db_info_table_cell" style="min-width: 140px"><?= lang('Maintenance_version');?>
|
||||
<a href="https://github.com/jokob-sk/NetAlertX/blob/main/docs/VERSIONS.md" target="_blank"> <span><i class="fa fa-circle-question"></i></a><span>
|
||||
<a href="https://github.com/jokob-sk/NetAlertX/blob/main/docs/VERSIONS.md" target="_blank"> <span><i class="fa fa-circle-question"></i></a></span>
|
||||
</div>
|
||||
<div class="db_info_table_cell">
|
||||
<div class="version" id="version" data-build-time="<?php echo file_get_contents( "buildtimestamp.txt");?>">
|
||||
@@ -111,7 +111,7 @@ $db->close();
|
||||
</div>
|
||||
|
||||
<div class="nav-tabs-custom">
|
||||
<ul class="nav nav-tabs">
|
||||
<ul class="nav nav-tabs">
|
||||
<li class="active">
|
||||
<a id="tab_DBTools_id" href="#tab_DBTools" data-toggle="tab">
|
||||
<i class="fa fa-toolbox"></i>
|
||||
@@ -136,7 +136,13 @@ $db->close();
|
||||
<?= lang('Device_MultiEdit');?>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<li>
|
||||
<a id="tab_initCheck_id" href="#tab_initCheck" data-toggle="tab">
|
||||
<i class="fa-solid fa-check"></i>
|
||||
<?= lang('Maintenance_InitCheck');?>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane active" id="tab_DBTools">
|
||||
<div class="db_info_table">
|
||||
@@ -178,6 +184,8 @@ $db->close();
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- ---------------------------Backup restore -------------------------------------------- -->
|
||||
<div class="tab-pane" id="tab_BackupRestore">
|
||||
<div class="db_info_table">
|
||||
<div class="db_info_table_row">
|
||||
@@ -245,11 +253,11 @@ $db->close();
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="db_info_table">
|
||||
|
||||
<div class="db_info_table">
|
||||
<div id="logsPlc"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- ---------------------------Bulk edit -------------------------------------------- -->
|
||||
<div class="tab-pane" id="tab_multiEdit">
|
||||
<div class="db_info_table">
|
||||
@@ -260,35 +268,53 @@ $db->close();
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- ---------------------------Init check -------------------------------------------- -->
|
||||
<div class="tab-pane" id="tab_initCheck">
|
||||
<div class="db_info_table">
|
||||
<div class="box box-solid">
|
||||
|
||||
<?php
|
||||
require 'initCheck.php';
|
||||
?>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- ------------------------------------------------------------------------------ -->
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="box-body" style="text-align: center;">
|
||||
<div class="box-body " style="text-align: center;">
|
||||
<h5 class="text-aqua" style="font-size: 16px;">
|
||||
<span id="lastCommit">
|
||||
|
||||
|
||||
</span>
|
||||
<span id="lastDockerUpdate">
|
||||
|
||||
|
||||
</span>
|
||||
</h5>
|
||||
</div>
|
||||
</h5>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
<!-- /.content -->
|
||||
<?php
|
||||
require 'php/templates/footer.php';
|
||||
?>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.content -->
|
||||
<?php
|
||||
require 'php/templates/footer.php';
|
||||
?>
|
||||
</div>
|
||||
<!-- /.content-wrapper -->
|
||||
<!-- /.content-wrapper -->
|
||||
|
||||
<!-- ----------------------------------------------------------------------- -->
|
||||
|
||||
|
||||
@@ -64,10 +64,6 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<script defer>
|
||||
|
||||
@@ -77,7 +73,7 @@
|
||||
|
||||
// some race condition, need to implement delay
|
||||
setTimeout(() => {
|
||||
$.get('/php/server/query_json.php', { file: 'table_settings.json', nocache: Date.now() }, function(res) {
|
||||
$.get('php/server/query_json.php', { file: 'table_settings.json', nocache: Date.now() }, function(res) {
|
||||
|
||||
settingsData = res["data"];
|
||||
|
||||
|
||||
@@ -125,8 +125,7 @@
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<br>
|
||||
</table>
|
||||
<div id="assignedDevices" class="box-body no-padding">
|
||||
<div class="page-header">
|
||||
<h3>
|
||||
@@ -164,7 +163,7 @@
|
||||
devType as type,
|
||||
devLastIP as last_ip,
|
||||
(select devType from Devices a where devMac = "'.$node_mac.'") as node_type
|
||||
FROM Devices WHERE devParentMAC = "'.$node_mac.'" order by port, name asc';
|
||||
FROM Devices WHERE devParentMAC = "'.$node_mac.'" and devIsArchived = 0 order by port, name asc';
|
||||
|
||||
global $db;
|
||||
$func_result = $db->query($func_sql);
|
||||
@@ -280,7 +279,8 @@
|
||||
a.devParentMAC as parent_mac,
|
||||
a.devIcon as node_icon
|
||||
FROM Devices a
|
||||
WHERE a.devType in (".$networkDeviceTypes.")
|
||||
WHERE a.devType in (".$networkDeviceTypes.")
|
||||
AND devIsArchived = 0
|
||||
) t1
|
||||
LEFT JOIN
|
||||
(
|
||||
@@ -364,6 +364,7 @@
|
||||
WHERE devParentMAC IS NULL
|
||||
OR devParentMAC IN ("", " ", "undefined", "null")
|
||||
AND devMac NOT LIKE "%internet%"
|
||||
AND devIsArchived = 0
|
||||
ORDER BY name ASC;';
|
||||
|
||||
global $db;
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
|
||||
function initOnlineHistoryGraph() {
|
||||
$.get('/php/server/query_json.php', { file: 'table_online_history.json', nocache: Date.now() }, function(res) {
|
||||
$.get('php/server/query_json.php', { file: 'table_online_history.json', nocache: Date.now() }, function(res) {
|
||||
// Extracting data from the JSON response
|
||||
var timeStamps = [];
|
||||
var onlineCounts = [];
|
||||
@@ -53,4 +53,4 @@ function initOnlineHistoryGraph() {
|
||||
|
||||
</script>
|
||||
<!-- <canvas id="clientsChart" width="800" height="140" class="extratooltipcanvas no-user-select"></canvas> -->
|
||||
<canvas id="OnlineChart" style="width:100%; height: 150px; margin-bottom: 15px;"></canvas>
|
||||
<canvas id="OnlineChart" style="width:100%; height: 150px; margin-bottom: 15px;"></canvas>
|
||||
|
||||
@@ -112,7 +112,8 @@ function getServerDeviceData() {
|
||||
"devSessions" => 0,
|
||||
"devEvents" => 0,
|
||||
"devDownAlerts" => 0,
|
||||
"devPresenceHours" => 0
|
||||
"devPresenceHours" => 0,
|
||||
"devFQDN" => ""
|
||||
];
|
||||
echo json_encode($deviceData);
|
||||
return;
|
||||
|
||||
@@ -586,7 +586,8 @@ function getDevicesColumns(){
|
||||
"devSite",
|
||||
"devSSID",
|
||||
"devSourcePlugin",
|
||||
"devCustomProps"
|
||||
"devCustomProps",
|
||||
"devFQDN"
|
||||
];
|
||||
|
||||
return $columns;
|
||||
|
||||
@@ -21,7 +21,7 @@ $config_file_lines = array_values(preg_grep('/^SETPWD_password.*=/', $config_fil
|
||||
$password_line = explode("'", $config_file_lines[0]);
|
||||
$nax_Password = $password_line[1];
|
||||
|
||||
if (isset($_COOKIE[$CookieSaveLoginName]) && $nax_Password == $_COOKIE[$CookieSaveLoginName]) {
|
||||
if (isset($_COOKIE[$CookieSaveLoginName]) && $nax_Password === $_COOKIE[$CookieSaveLoginName]) {
|
||||
$isAuthenticated = true;
|
||||
}
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
|
||||
<!-- To the right -->
|
||||
<div class="pull-right no-hidden-xs">
|
||||
| <a href="https://gurubase.io/g/netalertx" class="pointer" target="_blank" title="Ask AI"><i class="fa-regular fa-comment-dots fa-flip-horizontal"></i></a>
|
||||
| <a href="https://gurubase.io/g/netalertx" class="pointer" target="_blank" title="Ask AI"><i class="fa fa-comment-dots fa-flip-horizontal"></i></a>
|
||||
| <a href="https://jokob-sk.github.io/NetAlertX/" class="pointer" target="_blank" title="Documentation"><i class="fa fa-book"></i></a>
|
||||
| <a href="https://github.com/jokob-sk/NetAlertX/issues" class="pointer" target="_blank"><i class="fa fa-bug" title="Report a bug"></i></a>
|
||||
| <a href="https://discord.com/invite/NczTUTWyRr" class="pointer" target="_blank"><i class="fa-brands fa-discord" title="Join Discord"></i></a>
|
||||
|
||||
@@ -42,6 +42,7 @@
|
||||
<script src="lib/datatables.net/js/jquery.dataTables.min.js"></script>
|
||||
<script src="lib/datatables.net-bs/js/dataTables.bootstrap.min.js"></script>
|
||||
<script src="lib/datatables.net/js/dataTables.select.min.js"></script>
|
||||
<script src="lib/popper_tooltip/popper.min.js"></script>
|
||||
|
||||
<script src="js/common.js?v=<?php include 'php/templates/version.php'; ?>"></script>
|
||||
<script src="js/modal.js?v=<?php include 'php/templates/version.php'; ?>"></script>
|
||||
@@ -104,7 +105,7 @@
|
||||
// -------------------------------------------------------------
|
||||
// Updates the backend application state/status in the header
|
||||
function updateState(){
|
||||
$.get('/php/server/query_json.php', { file: 'app_state.json', nocache: Date.now() }, function(appState) {
|
||||
$.get('php/server/query_json.php', { file: 'app_state.json', nocache: Date.now() }, function(appState) {
|
||||
|
||||
document.getElementById('state').innerHTML = appState["currentState"].replaceAll('"', '');
|
||||
|
||||
@@ -120,34 +121,8 @@
|
||||
let timeZone = "<?php echo $timeZone ?>";
|
||||
let now = new Date();
|
||||
|
||||
// Convert to the specified time zone
|
||||
let formatter = new Intl.DateTimeFormat("en-UK", {
|
||||
timeZone: timeZone,
|
||||
day: "2-digit",
|
||||
month: "short",
|
||||
year: "numeric",
|
||||
hour: "2-digit",
|
||||
minute: "2-digit",
|
||||
second: "2-digit",
|
||||
hour12: false, // Use 24-hour format
|
||||
});
|
||||
let parts = formatter.formatToParts(now);
|
||||
|
||||
// Extract date components
|
||||
let day = parts.find(p => p.type === "day").value;
|
||||
let month = parts.find(p => p.type === "month").value;
|
||||
let year = parts.find(p => p.type === "year").value;
|
||||
|
||||
// Extract time components
|
||||
let hour = parts.find(p => p.type === "hour").value;
|
||||
let minute = parts.find(p => p.type === "minute").value;
|
||||
let second = parts.find(p => p.type === "second").value;
|
||||
|
||||
// Construct the date and time in DD-MMM-YYYY HH:MM:SS format
|
||||
let formattedDateTime = `${day}-${month}-${year} ${hour}:${minute}:${second}`;
|
||||
|
||||
if (document.getElementById) {
|
||||
document.getElementById("NAX_Servertime_plc").innerHTML = '(' + formattedDateTime + ')';
|
||||
document.getElementById("NAX_Servertime_plc").innerHTML = '(' + localizeTimestamp(now) + ')';
|
||||
document.getElementById("NAX_TZ").innerHTML = timeZone;
|
||||
}
|
||||
|
||||
@@ -382,6 +357,9 @@
|
||||
<li>
|
||||
<a href="maintenance.php#tab_multiEdit" onclick="initializeTabs()"> <?= lang("Device_MultiEdit");?> </a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="maintenance.php#tab_initCheck" onclick="initializeTabs()"> <?= lang("Maintenance_InitCheck");?> </a>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
"About_Design": "Dissenyat per:",
|
||||
"About_Exit": "Sortir",
|
||||
"About_Title": "Escàner de seguretat de xarxa i marc de notificacions",
|
||||
"AppEvents_AppEventProcessed": "",
|
||||
"AppEvents_AppEventProcessed": "Processat",
|
||||
"AppEvents_DateTimeCreated": "Logged",
|
||||
"AppEvents_Extra": "Extra",
|
||||
"AppEvents_GUID": "GUID d'esdeveniments d'Aplicació",
|
||||
@@ -22,7 +22,7 @@
|
||||
"AppEvents_ObjectPlugin": "Plugin enllaçat",
|
||||
"AppEvents_ObjectPrimaryID": "ID primari",
|
||||
"AppEvents_ObjectSecondaryID": "ID secundari",
|
||||
"AppEvents_ObjectStatus": "Estat (temps del registre)",
|
||||
"AppEvents_ObjectStatus": "Registre d'estat",
|
||||
"AppEvents_ObjectStatusColumn": "Columna d'estat",
|
||||
"AppEvents_ObjectType": "Tipus d'objecte",
|
||||
"AppEvents_Plugin": "Plugin",
|
||||
@@ -211,6 +211,7 @@
|
||||
"Device_TableHead_AlertDown": "Cancel·lar alerta",
|
||||
"Device_TableHead_Connected_Devices": "Connexions",
|
||||
"Device_TableHead_CustomProps": "Props / Accions",
|
||||
"Device_TableHead_FQDN": "FQDN",
|
||||
"Device_TableHead_Favorite": "Favorit",
|
||||
"Device_TableHead_FirstSession": "Primera Sessió",
|
||||
"Device_TableHead_GUID": "GUID",
|
||||
@@ -225,7 +226,7 @@
|
||||
"Device_TableHead_Name": "Nom",
|
||||
"Device_TableHead_NetworkSite": "Network Site",
|
||||
"Device_TableHead_Owner": "Propietari",
|
||||
"Device_TableHead_Parent_MAC": "MAC del node pare",
|
||||
"Device_TableHead_Parent_MAC": "Node pare de xarxa",
|
||||
"Device_TableHead_Port": "Port",
|
||||
"Device_TableHead_PresentLastScan": "Presència",
|
||||
"Device_TableHead_RowID": "ID de fila",
|
||||
@@ -358,13 +359,18 @@
|
||||
"Maint_PurgeLog": "Registre de purga",
|
||||
"Maint_RestartServer": "Reinici del servidor",
|
||||
"Maint_Restart_Server_noti_text": "Estàs segur que vols reiniciar el servidor backend? Això pot causar incongruència a l'aplicació. Abans fes còpia de seguretat de la vostra configuració. <br/> <br/> Nota: Això pot durar uns quants minuts.",
|
||||
"Maintenance_InitCheck": "Init Check",
|
||||
"Maintenance_InitCheck_Checking": "Comprovant…",
|
||||
"Maintenance_InitCheck_QuickSetupGuide": "Assegureu-vos de seguir la guia <a href=\"https://jokob-sk.github.io/NetAlertX/INITIAL_SETUP/\" target=\"_blank\"> de configuració ràpida</a>.",
|
||||
"Maintenance_InitCheck_Success": "Aplicació inicialitzada amb èxit!",
|
||||
"Maintenance_ReCheck": "Tornar a comprovar",
|
||||
"Maintenance_Running_Version": "Versió instal·lada",
|
||||
"Maintenance_Status": "Estat",
|
||||
"Maintenance_Title": "Eines de manteniment",
|
||||
"Maintenance_Tool_DownloadConfig": "Exportació de paràmetres",
|
||||
"Maintenance_Tool_DownloadConfig_text": "Descarregueu una còpia de seguretat completa de la vostra configuració de configuració emmagatzemada al fitxer <code>app.conf</code>.",
|
||||
"Maintenance_Tool_DownloadWorkflows": "",
|
||||
"Maintenance_Tool_DownloadWorkflows_text": "",
|
||||
"Maintenance_Tool_DownloadWorkflows": "Exportació de fluxos de treball",
|
||||
"Maintenance_Tool_DownloadWorkflows_text": "Descarregueu una còpia de seguretat completa dels vostres fluxos de treball emmagatzemats en el fitxer <code>workflows.json</code>.",
|
||||
"Maintenance_Tool_ExportCSV": "CSV Exportació de dispositius",
|
||||
"Maintenance_Tool_ExportCSV_noti": "CSV Exportació",
|
||||
"Maintenance_Tool_ExportCSV_noti_text": "Estàs segur que vols generar un fitxer CSV?",
|
||||
@@ -463,7 +469,7 @@
|
||||
"NETWORK_DEVICE_TYPES_description": "Quins tipus de dispositius es poden utilitzar com a dispositius de xarxa a la vista \"xarxa\". El tipus de dispositiu ha de coincidir exactament amb la configuració <code>Tipus</code> dels detalls de dispositiu. Afegir-ho al dispositiu fent servir el botó <code>+</code>. No elimini els tipus existents, només afegir-ne nous.",
|
||||
"NETWORK_DEVICE_TYPES_name": "Tipus de dispositiu de xarxa",
|
||||
"Navigation_About": "Sobre",
|
||||
"Navigation_AppEvents": "",
|
||||
"Navigation_AppEvents": "Esdeveniments de l'Aplicació",
|
||||
"Navigation_Devices": "Dispositius",
|
||||
"Navigation_Donations": "Donacions",
|
||||
"Navigation_Events": "Esdeveniments",
|
||||
@@ -559,6 +565,8 @@
|
||||
"Presence_Shortcut_Favorites": "Favorits",
|
||||
"Presence_Shortcut_NewDevices": "Nous dispositius",
|
||||
"Presence_Title": "Detecció de dispositius",
|
||||
"REFRESH_FQDN_description": "Re-escaneja tots dispositius i refresca el seu (FQDN). Si està desactivat, nomes s'escanegen els noms coneguts per fer-ho més ràpid. En aquest cas, FQDN s'actualitza només durant descoberta inicial de dispositius.",
|
||||
"REFRESH_FQDN_name": "Refresc FQDN",
|
||||
"REPORT_DASHBOARD_URL_description": "Aquesta URL s'utilitza com a base per generar enllaços en informes HTML (per exemple: correus electrònics). Introduïu la URL completa començant per <code>http://</code> incloent el número de port (sense barra inicial <code>/</code>).",
|
||||
"REPORT_DASHBOARD_URL_name": "URL NetAlertX",
|
||||
"REPORT_ERROR": "Si us plau, introdueix dins de la caixa de text els caràcters que veu a la imatge de sota. Això és requerit per evitar enviaments automàtics",
|
||||
@@ -670,32 +678,32 @@
|
||||
"UI_REFRESH_name": "Auto-refresc UI",
|
||||
"VERSION_description": "Versió o valor timestamp per comprovar si l'aplicació va ser actualitzada.",
|
||||
"VERSION_name": "Versió o timestamp",
|
||||
"WF_Action_Add": "",
|
||||
"WF_Action_field": "",
|
||||
"WF_Action_type": "",
|
||||
"WF_Action_value": "",
|
||||
"WF_Actions": "",
|
||||
"WF_Add": "",
|
||||
"WF_Add_Condition": "",
|
||||
"WF_Add_Group": "",
|
||||
"WF_Condition_field": "",
|
||||
"WF_Condition_operator": "",
|
||||
"WF_Condition_value": "",
|
||||
"WF_Conditions": "",
|
||||
"WF_Conditions_logic_rules": "",
|
||||
"WF_Duplicate": "",
|
||||
"WF_Enabled": "",
|
||||
"WF_Export": "",
|
||||
"WF_Export_Copy": "",
|
||||
"WF_Import": "",
|
||||
"WF_Import_Copy": "",
|
||||
"WF_Name": "",
|
||||
"WF_Remove": "",
|
||||
"WF_Remove_Copy": "",
|
||||
"WF_Save": "",
|
||||
"WF_Trigger": "",
|
||||
"WF_Trigger_event_type": "",
|
||||
"WF_Trigger_type": "",
|
||||
"WF_Action_Add": "Afegir Acció",
|
||||
"WF_Action_field": "Camp",
|
||||
"WF_Action_type": "Tipus",
|
||||
"WF_Action_value": "Valor",
|
||||
"WF_Actions": "Accions",
|
||||
"WF_Add": "Afegeix fluix de treball",
|
||||
"WF_Add_Condition": "Afegeix Condició",
|
||||
"WF_Add_Group": "Afegir Grup",
|
||||
"WF_Condition_field": "Camp",
|
||||
"WF_Condition_operator": "Operador",
|
||||
"WF_Condition_value": "Valor",
|
||||
"WF_Conditions": "Condicions",
|
||||
"WF_Conditions_logic_rules": "Regles de lògica",
|
||||
"WF_Duplicate": "Flux de treball duplicat",
|
||||
"WF_Enabled": "Flux de treball activat",
|
||||
"WF_Export": "Exportar fluix de treball",
|
||||
"WF_Export_Copy": "Copiar el flux de treball següent i importar-lo on sigui necessari.",
|
||||
"WF_Import": "Importar fluix de treball",
|
||||
"WF_Import_Copy": "Enganxeu el flux de treball que heu copiat prèviament.",
|
||||
"WF_Name": "Nom del flux de treball",
|
||||
"WF_Remove": "Eliminar fluix de treball",
|
||||
"WF_Remove_Copy": "Vols eliminar aquest flux de treball?",
|
||||
"WF_Save": "Desa els fluxos de treball",
|
||||
"WF_Trigger": "Disparador(Trigger)",
|
||||
"WF_Trigger_event_type": "Tipus d'esdeveniment",
|
||||
"WF_Trigger_type": "Tipus de disparador",
|
||||
"add_icon_event_icon": "fa-square-plus",
|
||||
"add_icon_event_tooltip": "Afegir nova icona",
|
||||
"add_option_event_icon": "fa-square-plus",
|
||||
|
||||
@@ -2,26 +2,26 @@
|
||||
"API_CUSTOM_SQL_description": "",
|
||||
"API_CUSTOM_SQL_name": "",
|
||||
"API_TOKEN_description": "",
|
||||
"API_TOKEN_name": "",
|
||||
"API_display_name": "",
|
||||
"API_icon": "",
|
||||
"About_Design": "",
|
||||
"About_Exit": "",
|
||||
"About_Title": "",
|
||||
"AppEvents_AppEventProcessed": "",
|
||||
"AppEvents_DateTimeCreated": "",
|
||||
"AppEvents_Extra": "",
|
||||
"API_TOKEN_name": "API token",
|
||||
"API_display_name": "API",
|
||||
"API_icon": "<i class=\"fa fa-arrow-down-up-across-line\"></i>",
|
||||
"About_Design": "Designováno pro:",
|
||||
"About_Exit": "Odhlásit",
|
||||
"About_Title": "Scanner síťové bezpečnosti a framework pro upozornění",
|
||||
"AppEvents_AppEventProcessed": "Zpracováno",
|
||||
"AppEvents_DateTimeCreated": "Objeveno",
|
||||
"AppEvents_Extra": "Extra",
|
||||
"AppEvents_GUID": "",
|
||||
"AppEvents_Helper1": "",
|
||||
"AppEvents_Helper2": "",
|
||||
"AppEvents_Helper3": "",
|
||||
"AppEvents_ObjectForeignKey": "",
|
||||
"AppEvents_ObjectIndex": "",
|
||||
"AppEvents_ObjectForeignKey": "Cizí klíč",
|
||||
"AppEvents_ObjectIndex": "Index",
|
||||
"AppEvents_ObjectIsArchived": "",
|
||||
"AppEvents_ObjectIsNew": "",
|
||||
"AppEvents_ObjectPlugin": "",
|
||||
"AppEvents_ObjectPrimaryID": "",
|
||||
"AppEvents_ObjectSecondaryID": "",
|
||||
"AppEvents_ObjectPrimaryID": "Primární ID",
|
||||
"AppEvents_ObjectSecondaryID": "Sekundární ID",
|
||||
"AppEvents_ObjectStatus": "",
|
||||
"AppEvents_ObjectStatusColumn": "",
|
||||
"AppEvents_ObjectType": "",
|
||||
@@ -29,7 +29,7 @@
|
||||
"AppEvents_Type": "",
|
||||
"BackDevDetail_Actions_Ask_Run": "",
|
||||
"BackDevDetail_Actions_Not_Registered": "",
|
||||
"BackDevDetail_Actions_Title_Run": "",
|
||||
"BackDevDetail_Actions_Title_Run": "Spustit akci",
|
||||
"BackDevDetail_Copy_Ask": "",
|
||||
"BackDevDetail_Copy_Title": "",
|
||||
"BackDevDetail_Tools_WOL_error": "",
|
||||
@@ -211,6 +211,7 @@
|
||||
"Device_TableHead_AlertDown": "",
|
||||
"Device_TableHead_Connected_Devices": "",
|
||||
"Device_TableHead_CustomProps": "",
|
||||
"Device_TableHead_FQDN": "",
|
||||
"Device_TableHead_Favorite": "",
|
||||
"Device_TableHead_FirstSession": "",
|
||||
"Device_TableHead_GUID": "",
|
||||
@@ -288,45 +289,45 @@
|
||||
"Gen_Action": "",
|
||||
"Gen_Add": "",
|
||||
"Gen_AddDevice": "",
|
||||
"Gen_Add_All": "",
|
||||
"Gen_All_Devices": "",
|
||||
"Gen_AreYouSure": "",
|
||||
"Gen_Backup": "",
|
||||
"Gen_Cancel": "",
|
||||
"Gen_Change": "",
|
||||
"Gen_Copy": "",
|
||||
"Gen_DataUpdatedUITakesTime": "",
|
||||
"Gen_Delete": "",
|
||||
"Gen_DeleteAll": "",
|
||||
"Gen_Description": "",
|
||||
"Gen_Error": "",
|
||||
"Gen_Filter": "",
|
||||
"Gen_Generate": "",
|
||||
"Gen_LockedDB": "",
|
||||
"Gen_Offline": "",
|
||||
"Gen_Okay": "",
|
||||
"Gen_Online": "",
|
||||
"Gen_Purge": "",
|
||||
"Gen_ReadDocs": "",
|
||||
"Gen_Remove_All": "",
|
||||
"Gen_Remove_Last": "",
|
||||
"Gen_Reset": "",
|
||||
"Gen_Restore": "",
|
||||
"Gen_Run": "",
|
||||
"Gen_Save": "",
|
||||
"Gen_Saved": "",
|
||||
"Gen_Search": "",
|
||||
"Gen_Select": "",
|
||||
"Gen_SelectIcon": "",
|
||||
"Gen_SelectToPreview": "",
|
||||
"Gen_Selected_Devices": "",
|
||||
"Gen_Switch": "",
|
||||
"Gen_Upd": "",
|
||||
"Gen_Upd_Fail": "",
|
||||
"Gen_Update": "",
|
||||
"Gen_Update_Value": "",
|
||||
"Gen_ValidIcon": "",
|
||||
"Gen_Warning": "",
|
||||
"Gen_Add_All": "Přidat vše",
|
||||
"Gen_All_Devices": "Všechna zařízení",
|
||||
"Gen_AreYouSure": "Jste si jistý?",
|
||||
"Gen_Backup": "Spustit zálohování",
|
||||
"Gen_Cancel": "Zrušit",
|
||||
"Gen_Change": "Změnit",
|
||||
"Gen_Copy": "Spustit",
|
||||
"Gen_DataUpdatedUITakesTime": "OK - může zabrat chvíli aktualizovat rozhraní, pokud běží scan.",
|
||||
"Gen_Delete": "Smazat",
|
||||
"Gen_DeleteAll": "Smazat vše",
|
||||
"Gen_Description": "Popis",
|
||||
"Gen_Error": "Chyba",
|
||||
"Gen_Filter": "Filtr",
|
||||
"Gen_Generate": "Vygenerovat",
|
||||
"Gen_LockedDB": "CHYBA - Databáze je možná zamčená - Zkontrolujte F12 -> Nástroje pro vývojáře -> Konzole. nebo to zkuste později.",
|
||||
"Gen_Offline": "Offline",
|
||||
"Gen_Okay": "Ok",
|
||||
"Gen_Online": "Online",
|
||||
"Gen_Purge": "Vyčistit",
|
||||
"Gen_ReadDocs": "Přečíst více v dokumentaci.",
|
||||
"Gen_Remove_All": "Odstranit vše",
|
||||
"Gen_Remove_Last": "Odstranit poslední",
|
||||
"Gen_Reset": "Vyresetovat",
|
||||
"Gen_Restore": "Spustit obnovu",
|
||||
"Gen_Run": "Spustit",
|
||||
"Gen_Save": "Uložit",
|
||||
"Gen_Saved": "Uloženo",
|
||||
"Gen_Search": "Hledat",
|
||||
"Gen_Select": "Vybrat",
|
||||
"Gen_SelectIcon": "<i class=\"fa-solid fa-chevron-down fa-fade\"></i>",
|
||||
"Gen_SelectToPreview": "Vybrat na náhled",
|
||||
"Gen_Selected_Devices": "Vybraná zařízení:",
|
||||
"Gen_Switch": "Přepnout",
|
||||
"Gen_Upd": "Úspěšně aktualizováno",
|
||||
"Gen_Upd_Fail": "Aktualizace se nezdařila",
|
||||
"Gen_Update": "Aktualizovat",
|
||||
"Gen_Update_Value": "Aktualizovat hodnotu",
|
||||
"Gen_ValidIcon": "<i class=\"fa-solid fa-chevron-right \"></i>",
|
||||
"Gen_Warning": "Upozornění",
|
||||
"Gen_Work_In_Progress": "",
|
||||
"Gen_create_new_device": "",
|
||||
"Gen_create_new_device_info": "",
|
||||
@@ -358,6 +359,11 @@
|
||||
"Maint_PurgeLog": "",
|
||||
"Maint_RestartServer": "",
|
||||
"Maint_Restart_Server_noti_text": "",
|
||||
"Maintenance_InitCheck": "",
|
||||
"Maintenance_InitCheck_Checking": "",
|
||||
"Maintenance_InitCheck_QuickSetupGuide": "",
|
||||
"Maintenance_InitCheck_Success": "",
|
||||
"Maintenance_ReCheck": "",
|
||||
"Maintenance_Running_Version": "",
|
||||
"Maintenance_Status": "",
|
||||
"Maintenance_Title": "",
|
||||
@@ -559,6 +565,8 @@
|
||||
"Presence_Shortcut_Favorites": "",
|
||||
"Presence_Shortcut_NewDevices": "",
|
||||
"Presence_Title": "",
|
||||
"REFRESH_FQDN_description": "",
|
||||
"REFRESH_FQDN_name": "",
|
||||
"REPORT_DASHBOARD_URL_description": "",
|
||||
"REPORT_DASHBOARD_URL_name": "",
|
||||
"REPORT_ERROR": "",
|
||||
@@ -696,13 +704,13 @@
|
||||
"WF_Trigger": "",
|
||||
"WF_Trigger_event_type": "",
|
||||
"WF_Trigger_type": "",
|
||||
"add_icon_event_icon": "",
|
||||
"add_icon_event_tooltip": "",
|
||||
"add_option_event_icon": "",
|
||||
"add_option_event_tooltip": "",
|
||||
"copy_icons_event_icon": "",
|
||||
"copy_icons_event_tooltip": "",
|
||||
"devices_old": "",
|
||||
"add_icon_event_icon": "fa-square-plus",
|
||||
"add_icon_event_tooltip": "Přidat novou ikonu",
|
||||
"add_option_event_icon": "fa-square-plus",
|
||||
"add_option_event_tooltip": "Přidat novou hodnotu",
|
||||
"copy_icons_event_icon": "fa-copy",
|
||||
"copy_icons_event_tooltip": "Přepiš ikony všech zařízení za stejný typ zařízení",
|
||||
"devices_old": "Obnovuji…",
|
||||
"general_event_description": "",
|
||||
"general_event_title": "",
|
||||
"go_to_node_event_icon": "",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"API_CUSTOM_SQL_description": "Benutzerdefinierte SQL-Abfrage, welche eine JSON-Datei generiert und diese mit dem <a href=\"/php/server/query_json.php?file=table_custom_endpoint.json\" target=\"_blank\">Dateiendpunkt <code>table_custom_endpoint.json</code></a> zur Verfügung stellt.",
|
||||
"API_CUSTOM_SQL_name": "Benutzerdefinierte SQL-Abfrage",
|
||||
"API_TOKEN_description": "API-Token zur Absicherung der Kommunikation – Sie können einen generieren oder einen beliebigen Wert eingeben. Er wird im Anfrage-Header übermittelt. Wird im <code>SYNC</code>-Plugin und GraphQL-Server verwendet.",
|
||||
"API_TOKEN_description": "API-Token zur Absicherung der Kommunikation – Sie können einen neuen generieren oder einen beliebigen Wert eingeben. Er wird im Anfrage-Header übermittelt und zum Beispiel im <code>SYNC</code>-Plugin, im GraphQL-Server und in anderen API Endpunkten verwendet (siehe auch <a href=\"https://github.com/jokob-sk/NetAlertX/blob/main/docs/API.md\" target=\"_blank\">API Dokumentation)</a>..",
|
||||
"API_TOKEN_name": "API-Schlüssel",
|
||||
"API_display_name": "API",
|
||||
"API_icon": "<i class=\"fa fa-arrow-down-up-across-line\"></i>",
|
||||
@@ -17,7 +17,7 @@
|
||||
"About_Exit": "Abmelden",
|
||||
"About_Title": "Netzwerksicherheitsscanner und Benachrichtigungsframework",
|
||||
"AppEvents_AppEventProcessed": "Verarbeitet",
|
||||
"AppEvents_DateTimeCreated": "Protokolliert",
|
||||
"AppEvents_DateTimeCreated": "Entdeckt am",
|
||||
"AppEvents_Extra": "Extra",
|
||||
"AppEvents_GUID": "Anwendungsereignis-GUID",
|
||||
"AppEvents_Helper1": "Helfer 1",
|
||||
@@ -61,7 +61,7 @@
|
||||
"BackDevices_DBTools_ImportCSVError": "Die CSV-Datei konnte nicht importiert werden. Stellen Sie sicher, dass das Format korrekt ist.",
|
||||
"BackDevices_DBTools_ImportCSVMissing": "Die CSV-Datei konnte nicht in <b>/config/devices.csv</b> gefunden werden.",
|
||||
"BackDevices_DBTools_Purge": "Die ältesten Backups wurden gelöscht",
|
||||
"BackDevices_DBTools_UpdDev": "Gerät wurde erfolgreich aktualisiert",
|
||||
"BackDevices_DBTools_UpdDev": "Gerät wurde erfolgreich aktualisiert. Es kann etwas dauern bis die Übersicht neu geladen ist, wenn ein Scan aktiv ist.",
|
||||
"BackDevices_DBTools_UpdDevError": "Fehler beim Aktualisieren des Gerätes",
|
||||
"BackDevices_DBTools_Upgrade": "Datenbank wurde erfolgreich aktualisiert",
|
||||
"BackDevices_DBTools_UpgradeError": "Fehler beim Aktualisieren der Datenbank",
|
||||
@@ -76,7 +76,7 @@
|
||||
"CustProps_cant_remove": "Kann nicht entfernt werden, es wird mindestens eine Eigenschaft benötigt.",
|
||||
"DAYS_TO_KEEP_EVENTS_description": "Dies ist eine Wartungseinstellung. Spezifiziert wie viele Tage Events gespeichert bleiben. Alle älteren Events werden periodisch gelöscht. Wird auch auf die Plugins History angewendet.",
|
||||
"DAYS_TO_KEEP_EVENTS_name": "Ereignisse löschen, die älter sind als",
|
||||
"DISCOVER_PLUGINS_description": "Deaktiviere diese Option um die Initialisierung und Speicherdauer der Einstellungen zu verringern. Wenn es deaktiviert ist, können keine Plugins gefunden oder neue Plugins zu den vorhandenen hinzugefügt werden.",
|
||||
"DISCOVER_PLUGINS_description": "Deaktiviere diese Option, um Initialisierung und Speichern der Einstellungen zu beschleunigen. Wenn es deaktiviert ist, werden keine neuen Plugins gefunden und es können keine manuell hinzugefügt werden.",
|
||||
"DISCOVER_PLUGINS_name": "Entdecke Erweiterungen",
|
||||
"DevDetail_Copy_Device_Title": "Details von Gerät kopieren",
|
||||
"DevDetail_Copy_Device_Tooltip": "Details vom Gerät aus der Dropdown-Liste kopieren. Alles auf dieser Seite wird überschrieben",
|
||||
@@ -98,7 +98,7 @@
|
||||
"DevDetail_GoToNetworkNode": "Zur Netzwerkseite des angegebenen Knotens navigieren.",
|
||||
"DevDetail_Icon": "Icon",
|
||||
"DevDetail_Icon_Descr": "Geben Sie einen Font Awesome Icon-Namen ohne das Präfix „fa-“ ein oder die vollständige Klasse, z. B.: fa fa-brands fa-apple.",
|
||||
"DevDetail_Loading": "Laden ...",
|
||||
"DevDetail_Loading": "Laden …",
|
||||
"DevDetail_MainInfo_Comments": "Notiz",
|
||||
"DevDetail_MainInfo_Favorite": "Favorit",
|
||||
"DevDetail_MainInfo_Group": "Gruppe",
|
||||
@@ -223,6 +223,7 @@
|
||||
"Device_TableHead_AlertDown": "Alarm aus",
|
||||
"Device_TableHead_Connected_Devices": "Verbindungen",
|
||||
"Device_TableHead_CustomProps": "Eigenschaften / Aktionen",
|
||||
"Device_TableHead_FQDN": "",
|
||||
"Device_TableHead_Favorite": "Favorit",
|
||||
"Device_TableHead_FirstSession": "Erste Sitzung",
|
||||
"Device_TableHead_GUID": "GUID",
|
||||
@@ -262,7 +263,7 @@
|
||||
"ENCRYPTION_KEY_name": "Verschlüsselungsschlüssel",
|
||||
"Email_display_name": "Email",
|
||||
"Email_icon": "<i class=\"fa fa-at\"></i>",
|
||||
"Events_Loading": "Laden...",
|
||||
"Events_Loading": "Laden …",
|
||||
"Events_Periodselect_All": "Alle Ereignisse",
|
||||
"Events_Periodselect_LastMonth": "Letzter Monat",
|
||||
"Events_Periodselect_LastWeek": "Letzte Woche",
|
||||
@@ -295,7 +296,7 @@
|
||||
"Events_Tablelenght": "Zeige _MENU_ Einträge",
|
||||
"Events_Tablelenght_all": "Alle",
|
||||
"Events_Title": "Ereignisse",
|
||||
"GRAPHQL_PORT_description": "Die Portnummer des GraphQL-Servers.",
|
||||
"GRAPHQL_PORT_description": "Die Portnummer des GraphQL-Servers. Stellen Sie sicher, dass dieser Port von keiner anderen Anwendung oder NetAlertX Instanz verwendet wird.",
|
||||
"GRAPHQL_PORT_name": "GraphQL-Port",
|
||||
"Gen_Action": "Action",
|
||||
"Gen_Add": "Hinzufügen",
|
||||
@@ -341,7 +342,7 @@
|
||||
"Gen_Warning": "Warnung",
|
||||
"Gen_Work_In_Progress": "Keine Finalversion, feedback bitte unter: https://github.com/jokob-sk/NetAlertX/issues",
|
||||
"Gen_create_new_device": "Neues Gerät",
|
||||
"Gen_create_new_device_info": "",
|
||||
"Gen_create_new_device_info": "Geräte werden normalerweise über <a target=\"_blank\" href=\"https://github.com/jokob-sk/NetAlertX/tree/main/docs/PLUGINS.md\">Plugins</a> gefunden. In Ausnahmefällen kann es nötig sein, sie manuell hinzuzufügen. Konkrete Szenarien sind in der <a target=\"_blank\" href=\"https://github.com/jokob-sk/NetAlertX/blob/main/docs/REMOTE_NETWORKS.md\">Dokumentation über entfernte Netzwerke</a> zu finden.",
|
||||
"General_display_name": "Allgemein",
|
||||
"General_icon": "<i class=\"fa fa-gears\"></i>",
|
||||
"HRS_TO_KEEP_NEWDEV_description": "Dies ist eine Wartungseinstellung <b>DELETING devices</b>. Wenn aktiviert (<code>0</code> bedeutet deaktiviert), werden als <b>\"Neues Gerät\"</b> markierte Geräte gelöscht, wenn ihre <b>erste Sitzung</b> länger her ist als in dieser Einstellung angegeben. Verwenden Sie diese Einstellung, wenn Sie <b>Neue Geräte</b> nach <code>X</code> Stunden automatisch löschen wollen.",
|
||||
@@ -352,7 +353,7 @@
|
||||
"LOADED_PLUGINS_name": "Geladene Plugins",
|
||||
"LOG_LEVEL_description": "Diese Einstellung aktiviert die erweiterte Protokollierung. Nützlich fürs Debuggen von in die Datenbank geschriebenen Events.",
|
||||
"LOG_LEVEL_name": "Erweiterte Protokollierung",
|
||||
"Loading": "Laden...",
|
||||
"Loading": "Laden …",
|
||||
"Login_Box": "Passwort eingeben",
|
||||
"Login_Default_PWD": "Standardpasswort \"123456\" noch immer aktiv.",
|
||||
"Login_Info": "",
|
||||
@@ -383,25 +384,30 @@
|
||||
"MQTT_icon": "<i class=\"fa fa-square-rss\"></i>",
|
||||
"Maint_PurgeLog": "Protokoll bereinigen",
|
||||
"Maint_RestartServer": "Server neu starten",
|
||||
"Maint_Restart_Server_noti_text": "",
|
||||
"Maint_Restart_Server_noti_text": "Soll der Backend-Server wirklich neu gestartet werden? Das könnte Instabilitäten verursachen. Vorher ein Backup erstellen. <br/><br/>Hinweis: Das kann einige Minuten dauern.",
|
||||
"Maintenance_InitCheck": "",
|
||||
"Maintenance_InitCheck_Checking": "Prüfen …",
|
||||
"Maintenance_InitCheck_QuickSetupGuide": "",
|
||||
"Maintenance_InitCheck_Success": "Anwendung erfolgreich initialisiert!",
|
||||
"Maintenance_ReCheck": "Prüfung wiederholen",
|
||||
"Maintenance_Running_Version": "Installierte Version",
|
||||
"Maintenance_Status": "Status",
|
||||
"Maintenance_Title": "Wartungswerkzeuge",
|
||||
"Maintenance_Tool_DownloadConfig": "",
|
||||
"Maintenance_Tool_DownloadConfig_text": "",
|
||||
"Maintenance_Tool_DownloadWorkflows": "",
|
||||
"Maintenance_Tool_DownloadWorkflows_text": "",
|
||||
"Maintenance_Tool_ExportCSV": "CSV Export",
|
||||
"Maintenance_Tool_ExportCSV_noti": "CSV Export",
|
||||
"Maintenance_Tool_DownloadConfig": "Einstellungen exportieren",
|
||||
"Maintenance_Tool_DownloadConfig_text": "Download eines Voll-Backup deiner Einstellungen. Konfiguration gespeichert in <code>app.conf</code> Datei.",
|
||||
"Maintenance_Tool_DownloadWorkflows": "Workflows Export",
|
||||
"Maintenance_Tool_DownloadWorkflows_text": "Download eines Voll-Backups deiner Worksflows. Gespeichert in <code>workflows.json</code> Datei.",
|
||||
"Maintenance_Tool_ExportCSV": "Export Geräte (csv)",
|
||||
"Maintenance_Tool_ExportCSV_noti": "Geräte Export (csv)",
|
||||
"Maintenance_Tool_ExportCSV_noti_text": "Sind Sie sich sicher, dass Sie die CSV-Datei erstellen wollen?",
|
||||
"Maintenance_Tool_ExportCSV_text": "Generiere eine CSV-Datei (comma separated values) mit einer Liste aller Geräte und deren Beziehungen zwischen Netzwerkknoten und verbundenen Geräten. Dies kann auch durch das Besuchen der URL <code>your NetAlertX url/php/server/devices.php?action=ExportCSV</code> oder durch Aktivieren des <a href=\"settings.php#CSVBCKP_header\">CSV-Backups</a> ausgelöst werden.",
|
||||
"Maintenance_Tool_ImportCSV": "CSV Import",
|
||||
"Maintenance_Tool_ImportCSV_noti": "CSV Import",
|
||||
"Maintenance_Tool_ImportCSV_noti_text": "Sind Sie sich sicher, dass Sie die CSV-Datei importieren wollen? Dies wird <b>alle Geräte in der Datenbank überschreiben</b>.",
|
||||
"Maintenance_Tool_ImportCSV_text": "Machen Sie ein Backup, bevor Sie diese Funktion nutzen. Importiere eine CSV-Datei (comma separated values) mit einer Liste aller Geräte und deren Beziehungen zwischen Netzwerkknoten und verbundenen Geräten. Um dies zu tun platziere die <b>devices.csv</b> benannte CSV-Datei in deinen <b>/config</b> Ordner.",
|
||||
"Maintenance_Tool_ImportConfig_noti": "",
|
||||
"Maintenance_Tool_ImportPastedCSV": "CSV-Import (Einfügen)",
|
||||
"Maintenance_Tool_ImportPastedCSV_noti_text": "",
|
||||
"Maintenance_Tool_ImportCSV": "Geräte Import (csv)",
|
||||
"Maintenance_Tool_ImportCSV_noti": "Geräte Import (csv)",
|
||||
"Maintenance_Tool_ImportCSV_noti_text": "Sind Sie sich sicher, dass Sie die CSV-Datei importieren wollen? Dies wird alle Geräte in der Datenbank <b>überschreiben</b>.",
|
||||
"Maintenance_Tool_ImportCSV_text": "Mache ein Backup, bevor Du diese Funktion nutzt. Importiere eine CSV-Datei (comma separated values) mit einer Liste aller Geräte und deren Beziehungen zwischen Netzwerkknoten und verbundenen Geräten. Um dies zu tun platziere die <b>devices.csv</b> benannte CSV-Datei in deinen <b>/config</b> Ordner.",
|
||||
"Maintenance_Tool_ImportConfig_noti": "Einstellungen importieren (app.conf)",
|
||||
"Maintenance_Tool_ImportPastedCSV": "Geräte importieren (csv) (einfügen)",
|
||||
"Maintenance_Tool_ImportPastedCSV_noti_text": "Bist Du dir sicher, dass Du die eingefügte CSV importieren willst? Es werden alle Geräte in deiner Datenbank <b>überschrieben</b>.",
|
||||
"Maintenance_Tool_ImportPastedCSV_text": "",
|
||||
"Maintenance_Tool_ImportPastedConfig": "",
|
||||
"Maintenance_Tool_ImportPastedConfig_noti_text": "",
|
||||
@@ -479,7 +485,7 @@
|
||||
"Maintenance_lang_selector_apply": "Übernehmen",
|
||||
"Maintenance_lang_selector_empty": "Sprache wählen",
|
||||
"Maintenance_lang_selector_lable": "Sprachauswahl",
|
||||
"Maintenance_lang_selector_text": "Die Änderung findet serverseitig statt, betrifft also alle verwendeten Geräte.",
|
||||
"Maintenance_lang_selector_text": "Die Änderung findet clientseitig statt, betrifft also nur den aktuellen Browser.",
|
||||
"Maintenance_new_version": "Eine neue Version ist vefügbar. Sieh dir die <a href=\"https://github.com/jokob-sk/NetAlertX/releases\" target=\"_blank\">Versionshinweise</a> an.",
|
||||
"Maintenance_themeselector_apply": "Übernehmen",
|
||||
"Maintenance_themeselector_empty": "Skin wählen",
|
||||
@@ -591,7 +597,7 @@
|
||||
"Presence_Key_OnlinePastMiss": "",
|
||||
"Presence_Key_OnlinePastMiss_desc": "",
|
||||
"Presence_Key_OnlinePast_desc": "",
|
||||
"Presence_Loading": "Laden...",
|
||||
"Presence_Loading": "Laden …",
|
||||
"Presence_Shortcut_AllDevices": "Meine Geräte",
|
||||
"Presence_Shortcut_Archived": "Archiviert",
|
||||
"Presence_Shortcut_Connected": "Verbunden",
|
||||
@@ -600,6 +606,8 @@
|
||||
"Presence_Shortcut_Favorites": "Favoriten",
|
||||
"Presence_Shortcut_NewDevices": "Neue Geräte",
|
||||
"Presence_Title": "Anwesenheit pro Gerät",
|
||||
"REFRESH_FQDN_description": "",
|
||||
"REFRESH_FQDN_name": "",
|
||||
"REPORT_APPRISE_description": "Enable sending notifications via <a target=\"_blank\" href=\"https://hub.docker.com/r/caronc/apprise\">Apprise</a>.",
|
||||
"REPORT_APPRISE_name": "Enable Apprise",
|
||||
"REPORT_DASHBOARD_URL_description": "Diese URL wird als Basis fürs Erstellen von Links in E-Mails genutzt. Geben Sie die gesamte URL startend mit <code>http://</code> inklusive der genutzten Portnummer ein (keinen nachfolgenden Schrägstrich <code>/</code> nutzen).",
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
"About_Exit": "Sign out",
|
||||
"About_Title": "Network security scanner & notification framework",
|
||||
"AppEvents_AppEventProcessed": "Processed",
|
||||
"AppEvents_DateTimeCreated": "Logged",
|
||||
"AppEvents_DateTimeCreated": "Discovered On",
|
||||
"AppEvents_Extra": "Extra",
|
||||
"AppEvents_GUID": "Application Event GUID",
|
||||
"AppEvents_Helper1": "Helper 1",
|
||||
@@ -86,7 +86,7 @@
|
||||
"DevDetail_GoToNetworkNode": "Navigate to the Network page of the given node.",
|
||||
"DevDetail_Icon": "Icon",
|
||||
"DevDetail_Icon_Descr": "Enter a font awesome icon name without the fa- prefix or with complete class, e.g.: fa fa-brands fa-apple.",
|
||||
"DevDetail_Loading": "Loading...",
|
||||
"DevDetail_Loading": "Loading…",
|
||||
"DevDetail_MainInfo_Comments": "Comments",
|
||||
"DevDetail_MainInfo_Favorite": "Favorite",
|
||||
"DevDetail_MainInfo_Group": "Group",
|
||||
@@ -177,7 +177,7 @@
|
||||
"DevDetail_Tools_WOL": "Send WoL command to ",
|
||||
"DevDetail_Tools_WOL_noti": "Wake-on-LAN",
|
||||
"DevDetail_Tools_WOL_noti_text": "The Wake-on-LAN command is sent to the broadcast address. If the target is not in the subnet/VLAN of NetAlertX, the target device will not respond.",
|
||||
"DevDetail_Type_hover": "The Type of the device. If you select any of the pre-defined network devices (e.g.: AP, Firewall, Router, Switch...) they will show up in the Network tree configuration as possible parent network nodes.",
|
||||
"DevDetail_Type_hover": "The Type of the device. If you select any of the pre-defined network devices (e.g.: AP, Firewall, Router, Switch…) they will show up in the Network tree configuration as possible parent network nodes.",
|
||||
"DevDetail_Vendor_hover": "Vendor should be auto-detected. You can overwrite or add your custom value.",
|
||||
"DevDetail_WOL_Title": "<i class=\"fa fa-power-off\"></i> Wake-on-LAN",
|
||||
"DevDetail_button_AddIcon": "Add new Icon",
|
||||
@@ -194,7 +194,7 @@
|
||||
"DevDetail_button_Save": "Save",
|
||||
"DeviceEdit_ValidMacIp": "Enter a valid <b>Mac</b> and <b>IP</b> address.",
|
||||
"Device_MultiEdit": "Multi-edit",
|
||||
"Device_MultiEdit_Backup": "Careful, entering wrong values below will break your setup. Please backup your database or Devices configuration first (<a href=\"php/server/devices.php?action=ExportCSV\">click to download <i class=\"fa-solid fa-download fa-bounce\"></i></a>). Read how to recover Devices from this file in the <a href=\"https://github.com/jokob-sk/NetAlertX/blob/main/docs/BACKUPS.md#scenario-2-corrupted-database\" target=\"_blank\">Backups documentation</a>.",
|
||||
"Device_MultiEdit_Backup": "Careful, entering wrong values below will break your setup. Please backup your database or Devices configuration first (<a href=\"php/server/devices.php?action=ExportCSV\">click to download <i class=\"fa-solid fa-download fa-bounce\"></i></a>). Read how to recover Devices from this file in the <a href=\"https://github.com/jokob-sk/NetAlertX/blob/main/docs/BACKUPS.md#scenario-2-corrupted-database\" target=\"_blank\">Backups documentation</a>. In order to apply your changes click the <b>Save<i class=\"fa-solid fa-save\"></i></b> icon on each field you want to update.",
|
||||
"Device_MultiEdit_Fields": "Edit fields:",
|
||||
"Device_MultiEdit_MassActions": "Mass actions:",
|
||||
"Device_MultiEdit_Tooltip": "Careful. Clicking this will apply the value on the left to all devices selected above.",
|
||||
@@ -211,6 +211,7 @@
|
||||
"Device_TableHead_AlertDown": "Alert Down",
|
||||
"Device_TableHead_Connected_Devices": "Connections",
|
||||
"Device_TableHead_CustomProps": "Props / Actions",
|
||||
"Device_TableHead_FQDN": "FQDN",
|
||||
"Device_TableHead_Favorite": "Favorite",
|
||||
"Device_TableHead_FirstSession": "First Session",
|
||||
"Device_TableHead_GUID": "GUID",
|
||||
@@ -250,7 +251,7 @@
|
||||
"ENCRYPTION_KEY_name": "Encryption key",
|
||||
"Email_display_name": "Email",
|
||||
"Email_icon": "<i class=\"fa fa-at\"></i>",
|
||||
"Events_Loading": "Loading...",
|
||||
"Events_Loading": "Loading…",
|
||||
"Events_Periodselect_All": "All Info",
|
||||
"Events_Periodselect_LastMonth": "Last Month",
|
||||
"Events_Periodselect_LastWeek": "Last Week",
|
||||
@@ -334,13 +335,13 @@
|
||||
"General_icon": "<i class=\"fa fa-gears\"></i>",
|
||||
"HRS_TO_KEEP_NEWDEV_description": "This is a maintenance setting <b>DELETING devices</b>. If enabled (<code>0</code> is disabled), devices marked as <b>New Device</b> will be deleted if their <b>First Session</b> time was older than the specified hours in this setting. Use this setting if you want to auto-delete <b>New Devices</b> after <code>X</code> hours.",
|
||||
"HRS_TO_KEEP_NEWDEV_name": "Delete new devices after",
|
||||
"HRS_TO_KEEP_OFFDEV_description": "This is a maintenance setting <b>DELETING devices</b>. If enabled (<code>0</code> is disabled), devices that are <b>Offline</b> and their <b>Last Offline</b> date time is older than the specified hours in this setting, will be deleted. Use this setting if you want to auto-delete <b>Offline Devices</b> after <code>X</code> hours being offline.",
|
||||
"HRS_TO_KEEP_OFFDEV_description": "This is a maintenance setting <b>DELETING devices</b>. If enabled (<code>0</code> is disabled), devices that are <b>Offline</b> and their <b>Last Connection</b> date time is older than the specified hours in this setting, will be deleted. Use this setting if you want to auto-delete <b>Offline Devices</b> after <code>X</code> hours being offline.",
|
||||
"HRS_TO_KEEP_OFFDEV_name": "Delete offline devices after",
|
||||
"LOADED_PLUGINS_description": "Which Plugins to load. Adding plugins might slow the application. Read more about which plugins need to be enabled, types, or scanning options in the <a target=\"_blank\" href=\"https://github.com/jokob-sk/NetAlertX/tree/main/docs/PLUGINS.md\">plugins docs</a>. Unloaded plugins will lose your settings. Only <code>disabled</code> plugins can be unloaded.",
|
||||
"LOADED_PLUGINS_name": "Loaded plugins",
|
||||
"LOG_LEVEL_description": "This setting will enable more verbose logging. Useful for debugging events writing into the database.",
|
||||
"LOG_LEVEL_name": "Print additional logging",
|
||||
"Loading": "Loading...",
|
||||
"Loading": "Loading…",
|
||||
"Login_Box": "Enter your password",
|
||||
"Login_Default_PWD": "Default password \"123456\" is still active.",
|
||||
"Login_Info": "Passwords are set via the Set Password plugin. Check the <a target=\"_blank\" href=\"https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/set_password\">SETPWD docs</a> if you have issues logging in.",
|
||||
@@ -358,6 +359,11 @@
|
||||
"Maint_PurgeLog": "Purge log",
|
||||
"Maint_RestartServer": "Restart server",
|
||||
"Maint_Restart_Server_noti_text": "Are you sure you want to restart the backend server? This may casue app inconsistency. Backup your setup first. <br/> <br/> Note: This may take a few minutes.",
|
||||
"Maintenance_InitCheck": "Init Check",
|
||||
"Maintenance_InitCheck_Checking": "Checking…",
|
||||
"Maintenance_InitCheck_QuickSetupGuide": "Make sure you followed the <a href=\"https://jokob-sk.github.io/NetAlertX/INITIAL_SETUP/\" target=\"_blank\">quick setup guide</a>.",
|
||||
"Maintenance_InitCheck_Success": "Application initialized succesfully!",
|
||||
"Maintenance_ReCheck": "Retry Check",
|
||||
"Maintenance_Running_Version": "Installed version",
|
||||
"Maintenance_Status": "Status",
|
||||
"Maintenance_Title": "Maintenance tools",
|
||||
@@ -440,7 +446,7 @@
|
||||
"Maintenance_Tools_Tab_UISettings": "UI Settings",
|
||||
"Maintenance_arp_status": "Scan Status",
|
||||
"Maintenance_arp_status_off": "is currently disabled",
|
||||
"Maintenance_arp_status_on": "scan(s) currently running",
|
||||
"Maintenance_arp_status_on": "scanning in progress",
|
||||
"Maintenance_built_on": "Built on",
|
||||
"Maintenance_current_version": "You are up-to-date. Check out what <a href=\"https://github.com/jokob-sk/NetAlertX/issues/138\" target=\"_blank\">I am working on</a>.",
|
||||
"Maintenance_database_backup": "DB Backups",
|
||||
@@ -550,7 +556,7 @@
|
||||
"Presence_Key_OnlinePastMiss": "Past online (miss-match)",
|
||||
"Presence_Key_OnlinePastMiss_desc": "Device online in the past, but currently offline, but the start session might be missing or has conflicting data. (might be a bug - please submit a PR if you know how to fix it - I'm a bit lost in code here)",
|
||||
"Presence_Key_OnlinePast_desc": "Device online in the past, but currently offline.",
|
||||
"Presence_Loading": "Loading...",
|
||||
"Presence_Loading": "Loading…",
|
||||
"Presence_Shortcut_AllDevices": "My Devices",
|
||||
"Presence_Shortcut_Archived": "Archived",
|
||||
"Presence_Shortcut_Connected": "Connected",
|
||||
@@ -559,6 +565,8 @@
|
||||
"Presence_Shortcut_Favorites": "Favorites",
|
||||
"Presence_Shortcut_NewDevices": "New Devices",
|
||||
"Presence_Title": "Presence by Device",
|
||||
"REFRESH_FQDN_description": "Rescans all devices and refreshes their Fully Qualified Domain Name (FQDN). If disabled, only devices without a known name are scanned to improve performance. In this case, FQDN is updated only during initial device discovery.",
|
||||
"REFRESH_FQDN_name": "Refresh FQDN",
|
||||
"REPORT_DASHBOARD_URL_description": "This URL is used as the base for generating links in HTML reports (e.g.: emails). Enter full URL starting with <code>http://</code> including the port number (no trailing slash <code>/</code>).",
|
||||
"REPORT_DASHBOARD_URL_name": "NetAlertX URL",
|
||||
"REPORT_ERROR": "The page you are looking for is temporarily unavailable, please try again after a few seconds",
|
||||
@@ -702,7 +710,7 @@
|
||||
"add_option_event_tooltip": "Add new value",
|
||||
"copy_icons_event_icon": "fa-copy",
|
||||
"copy_icons_event_tooltip": "Overwrite icons of all devices with the same device type",
|
||||
"devices_old": "Refreshing...",
|
||||
"devices_old": "Refreshing…",
|
||||
"general_event_description": "The event you have triggered might take a while until background processes finish. The execution ended once the below execution queue empties (Check the <a href='/maintenance.php#tab_Logging'>error log</a> if you encounter issues). <br/> <br/> Execution queue:",
|
||||
"general_event_title": "Executing an ad-hoc event",
|
||||
"go_to_node_event_icon": "fa-square-up-right",
|
||||
@@ -727,7 +735,7 @@
|
||||
"settings_imported_label": "Settings imported",
|
||||
"settings_missing": "Not all settings loaded! High load on the database or app startup sequence. Click the 🔄 reload button in the top.",
|
||||
"settings_missing_block": "Error: Settings not loaded correctly. Click the reload button 🔄 at the top, alternatively, check the browser log for details (F12).",
|
||||
"settings_old": "Importing settings and re-initializing...",
|
||||
"settings_old": "Importing settings and re-initializing…",
|
||||
"settings_other_scanners": "Other, non-device scanner plugins that are currently enabled.",
|
||||
"settings_other_scanners_icon": "fa-solid fa-recycle",
|
||||
"settings_other_scanners_label": "Other scanners",
|
||||
@@ -736,7 +744,7 @@
|
||||
"settings_publishers_info": "Load more Publishers with the <a href=\"/settings.php#LOADED_PLUGINS\">LOADED_PLUGINS</a> setting",
|
||||
"settings_publishers_label": "Publishers",
|
||||
"settings_readonly": "Can't READ or WRITE <code>app.conf</code>. Try restarting the container and read the <a href=\"https://github.com/jokob-sk/NetAlertX/blob/main/docs/FILE_PERMISSIONS.md\" target=\"_blank\">file permissions documentation</a>",
|
||||
"settings_saved": "<br/>Settings saved. <br/> Reloading... <br/><i class=\"ion ion-ios-loop-strong fa-spin fa-2x fa-fw\"></i> <br/>",
|
||||
"settings_saved": "<br/>Settings saved. <br/> Reloading… <br/><i class=\"ion ion-ios-loop-strong fa-spin fa-2x fa-fw\"></i> <br/>",
|
||||
"settings_system_icon": "fa-solid fa-gear",
|
||||
"settings_system_label": "System",
|
||||
"settings_update_item_warning": "Update the value below. Be careful to follow the previous format. <b>Validation is not performed.</b>",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"API_CUSTOM_SQL_description": "Puede especificar una consulta SQL personalizada que generará un archivo JSON y luego lo expondrá a través del <a href=\"/php/server/query_json.php?file=table_custom_endpoint.json\" target=\"_blank\">archivo <code>table_custom_endpoint.json</code ></a>.",
|
||||
"API_CUSTOM_SQL_name": "Endpoint personalizado",
|
||||
"API_TOKEN_description": "Token de API para asegurar la comunicación, puede generar uno o introducir cualquier valor. Se envía en el encabezado de solicitud. Se utiliza en el plugin <code>SYNC</code> del servidor GraphQL.",
|
||||
"API_TOKEN_description": "Token de API para comunicación segura. Genere uno o introduzca cualquier valor. Se envía en el encabezado de la solicitud y se usa en el complemento <code>SYNC</code>, el servidor GraphQL y otros puntos de conexión de la API. Puede usar los puntos de conexión de la API para crear integraciones personalizadas, como se describe en la <a href=\"https://github.com/jokob-sk/NetAlertX/blob/main/docs/API.md\" target=\"_blank\">documentación de la API</a>.",
|
||||
"API_TOKEN_name": "Token de la API",
|
||||
"API_display_name": "API",
|
||||
"API_icon": "<i class=\"fa fa-arrow-down-up-across-line\"></i>",
|
||||
@@ -16,7 +16,7 @@
|
||||
"About_Design": "Diseñado para:",
|
||||
"About_Exit": "Salir",
|
||||
"About_Title": "Escáner de seguridad de la red y marco de notificaciones",
|
||||
"AppEvents_AppEventProcessed": "",
|
||||
"AppEvents_AppEventProcessed": "Procesado",
|
||||
"AppEvents_DateTimeCreated": "Registrado",
|
||||
"AppEvents_Extra": "Extra",
|
||||
"AppEvents_GUID": "GUID del evento de aplicación",
|
||||
@@ -30,7 +30,7 @@
|
||||
"AppEvents_ObjectPlugin": "Complemento vinculado",
|
||||
"AppEvents_ObjectPrimaryID": "ID principal",
|
||||
"AppEvents_ObjectSecondaryID": "ID secundario",
|
||||
"AppEvents_ObjectStatus": "Estado (en el momento del registro)",
|
||||
"AppEvents_ObjectStatus": "Estado registrado",
|
||||
"AppEvents_ObjectStatusColumn": "Columna de estado",
|
||||
"AppEvents_ObjectType": "Tipo de objeto",
|
||||
"AppEvents_Plugin": "Plugin",
|
||||
@@ -59,7 +59,7 @@
|
||||
"BackDevices_DBTools_ImportCSVError": "El archivo CSV no pudo ser importado. Asegúrate de que el formato es correcto.",
|
||||
"BackDevices_DBTools_ImportCSVMissing": "El archivo CSV no se pudo encontrar en <b>/config/devices.csv.</b>",
|
||||
"BackDevices_DBTools_Purge": "Las copias de seguridad más antiguas fueron eliminadas",
|
||||
"BackDevices_DBTools_UpdDev": "Dispositivo actualizado con éxito",
|
||||
"BackDevices_DBTools_UpdDev": "Dispositivo actualizado con éxito. Es posible que la lista de dispositivos principales necesite algún tiempo para recargarse si hay un escaneo en progreso.",
|
||||
"BackDevices_DBTools_UpdDevError": "Error al actualizar el dispositivo",
|
||||
"BackDevices_DBTools_Upgrade": "Base de datos actualizada correctamente",
|
||||
"BackDevices_DBTools_UpgradeError": "Falló la actualización de la base de datos",
|
||||
@@ -71,15 +71,15 @@
|
||||
"BackDevices_darkmode_enabled": "Darkmode Activado",
|
||||
"CLEAR_NEW_FLAG_description": "Si está habilitado (<code>0</code> está desactivado), los dispositivos marcados como <b>Nuevo dispositivo</b> se desmarcarán si el límite de tiempo (especificado en horas) excede su tiempo de <b>primera sesión</b>.",
|
||||
"CLEAR_NEW_FLAG_name": "Eliminar la nueva bandera",
|
||||
"CustProps_cant_remove": "",
|
||||
"CustProps_cant_remove": "No se puede eliminar, al menos una propiedad es requerida.",
|
||||
"DAYS_TO_KEEP_EVENTS_description": "Esta es una configuración de mantenimiento. Esto especifica el número de días de entradas de eventos que se guardarán. Todos los eventos anteriores se eliminarán periódicamente.",
|
||||
"DAYS_TO_KEEP_EVENTS_name": "Eliminar eventos anteriores a",
|
||||
"DISCOVER_PLUGINS_description": "Desactive esta opción para acelerar la inicialización y el ahorro de ajustes. Cuando está desactivado, los plugins no se descubren y no puede añadir nuevos plugins a la configuración <code>LOADED_PLUGINS</code>.",
|
||||
"DISCOVER_PLUGINS_name": "Descubrir plugins",
|
||||
"DevDetail_Copy_Device_Title": "Copiar detalles del dispositivo",
|
||||
"DevDetail_Copy_Device_Tooltip": "Copiar detalles del dispositivo de la lista desplegable. Todo en esta página se sobrescribirá",
|
||||
"DevDetail_CustomProperties_Title": "",
|
||||
"DevDetail_CustomProps_reset_info": "",
|
||||
"DevDetail_CustomProperties_Title": "Propiedades personalizadas",
|
||||
"DevDetail_CustomProps_reset_info": "Esto eliminará sus propiedades personalizadas en este dispositivo y las reiniciará a sus valores por defecto.",
|
||||
"DevDetail_DisplayFields_Title": "Mostrar",
|
||||
"DevDetail_EveandAl_AlertAllEvents": "Notificaciones de eventos",
|
||||
"DevDetail_EveandAl_AlertDown": "Alerta de caída",
|
||||
@@ -196,7 +196,7 @@
|
||||
"DevDetail_button_Delete": "Eliminar dispositivo",
|
||||
"DevDetail_button_DeleteEvents": "Eliminar eventos",
|
||||
"DevDetail_button_DeleteEvents_Warning": "¿Desea eliminar todos los eventos de este dispositivo?<br><br>(se eliminarán el <b>Historial de eventos</b> y las <b>Sesiones</b>, y puede ayudar en el caso de notificaciones constantes)",
|
||||
"DevDetail_button_Delete_ask": "",
|
||||
"DevDetail_button_Delete_ask": "¿Está seguro que desea eliminar este dispositivo? También puede archivarla.",
|
||||
"DevDetail_button_OverwriteIcons": "Sobreescribir iconos",
|
||||
"DevDetail_button_OverwriteIcons_Tooltip": "Sobreescribir los iconos de todos los dispositivos con el mismo tipo",
|
||||
"DevDetail_button_OverwriteIcons_Warning": "¿Sobreescribir todos los iconos de todos los dispositivos con el mismo tipo que el dispositivo actual?",
|
||||
@@ -220,7 +220,8 @@
|
||||
"Device_Shortcut_OnlineChart": "Presencia del dispositivo a lo largo del tiempo",
|
||||
"Device_TableHead_AlertDown": "Alerta desactivada",
|
||||
"Device_TableHead_Connected_Devices": "Conexiones",
|
||||
"Device_TableHead_CustomProps": "",
|
||||
"Device_TableHead_CustomProps": "Propiedades / Acciones",
|
||||
"Device_TableHead_FQDN": "",
|
||||
"Device_TableHead_Favorite": "Favorito",
|
||||
"Device_TableHead_FirstSession": "1ra. sesión",
|
||||
"Device_TableHead_GUID": "GUID",
|
||||
@@ -235,7 +236,7 @@
|
||||
"Device_TableHead_Name": "Nombre",
|
||||
"Device_TableHead_NetworkSite": "Lugar de la red",
|
||||
"Device_TableHead_Owner": "Propietario",
|
||||
"Device_TableHead_Parent_MAC": "Nodo principal de la MAC",
|
||||
"Device_TableHead_Parent_MAC": "Nodo principal de la red",
|
||||
"Device_TableHead_Port": "Puerto",
|
||||
"Device_TableHead_PresentLastScan": "Historial",
|
||||
"Device_TableHead_RowID": "ID de fila",
|
||||
@@ -253,11 +254,11 @@
|
||||
"Device_Tablelenght": "Mostrar _MENU_ entradas",
|
||||
"Device_Tablelenght_all": "Todos",
|
||||
"Device_Title": "Dispositivos",
|
||||
"Devices_Filters": "",
|
||||
"Devices_Filters": "Filtros",
|
||||
"ENABLE_PLUGINS_description": "Habilita la funcionalidad de los <a target=\"_blank\" href=\"https://github.com/jokob-sk/NetAlertX/tree/main/docs/PLUGINS.md\">complementos</a>. Cargar los complementos requiere más recursos de hardware, así que quizás quieras desactivarlo en hardware poco potente.",
|
||||
"ENABLE_PLUGINS_name": "Habilitar complementos",
|
||||
"ENCRYPTION_KEY_description": "",
|
||||
"ENCRYPTION_KEY_name": "",
|
||||
"ENCRYPTION_KEY_description": "Llave de cifrado de datos.",
|
||||
"ENCRYPTION_KEY_name": "Llave de cifrado",
|
||||
"Email_display_name": "Email",
|
||||
"Email_icon": "<i class=\"fa fa-at\"></i>",
|
||||
"Events_Loading": "Cargando...",
|
||||
@@ -281,7 +282,7 @@
|
||||
"Events_TableHead_Disconnection": "Desconexión",
|
||||
"Events_TableHead_Duration": "Duración",
|
||||
"Events_TableHead_DurationOrder": "Orden de duración",
|
||||
"Events_TableHead_EventType": "Tipo de evento",
|
||||
"Events_TableHead_EventType": "Tipo de Evento",
|
||||
"Events_TableHead_IP": "Dirección IP",
|
||||
"Events_TableHead_IPOrder": "Orden de IP",
|
||||
"Events_TableHead_Order": "Ordenar",
|
||||
@@ -293,7 +294,7 @@
|
||||
"Events_Tablelenght": "Mostrando entradas del MENÚ",
|
||||
"Events_Tablelenght_all": "Todos",
|
||||
"Events_Title": "Eventos",
|
||||
"GRAPHQL_PORT_description": "El número de puerto del servidor GraphQL.",
|
||||
"GRAPHQL_PORT_description": "El número de puerto del servidor GraphQL. Asegúrese de que el puerto sea único en todas sus aplicaciones en este host y en las instancias de NetAlertX.",
|
||||
"GRAPHQL_PORT_name": "Puerto GraphQL",
|
||||
"Gen_Action": "Acción",
|
||||
"Gen_Add": "Añadir",
|
||||
@@ -320,7 +321,7 @@
|
||||
"Gen_ReadDocs": "Lee más en los documentos.",
|
||||
"Gen_Remove_All": "Quitar todo",
|
||||
"Gen_Remove_Last": "Quitar el último",
|
||||
"Gen_Reset": "",
|
||||
"Gen_Reset": "Reiniciar",
|
||||
"Gen_Restore": "Ejecutar restauración",
|
||||
"Gen_Run": "Ejecutar",
|
||||
"Gen_Save": "Guardar",
|
||||
@@ -335,7 +336,7 @@
|
||||
"Gen_Upd_Fail": "Fallo al actualizar",
|
||||
"Gen_Update": "Actualizar",
|
||||
"Gen_Update_Value": "Actualizar valor",
|
||||
"Gen_ValidIcon": "",
|
||||
"Gen_ValidIcon": "<i class=\"fa-solid fa-chevron-right \"></i>",
|
||||
"Gen_Warning": "Advertencia",
|
||||
"Gen_Work_In_Progress": "Trabajo en curso, un buen momento para hacer comentarios en https://github.com/jokob-sk/NetAlertX/issues",
|
||||
"Gen_create_new_device": "Nuevo dispositivo",
|
||||
@@ -382,28 +383,33 @@
|
||||
"Maint_PurgeLog": "Purgar los registros",
|
||||
"Maint_RestartServer": "Restablecer el servidor",
|
||||
"Maint_Restart_Server_noti_text": "¿Estás seguro de que desea reiniciar el servidor backend? Esto puede causar inconsistencia en la aplicación. Primero haga una copia de seguridad de su configuración.<br/> <br/> Nota: Esto puede tardar unos minutos.",
|
||||
"Maintenance_InitCheck": "",
|
||||
"Maintenance_InitCheck_Checking": "",
|
||||
"Maintenance_InitCheck_QuickSetupGuide": "",
|
||||
"Maintenance_InitCheck_Success": "",
|
||||
"Maintenance_ReCheck": "",
|
||||
"Maintenance_Running_Version": "Versión instalada",
|
||||
"Maintenance_Status": "Situación",
|
||||
"Maintenance_Title": "Herramientas de mantenimiento",
|
||||
"Maintenance_Tool_DownloadConfig": "",
|
||||
"Maintenance_Tool_DownloadConfig_text": "",
|
||||
"Maintenance_Tool_DownloadWorkflows": "",
|
||||
"Maintenance_Tool_DownloadWorkflows_text": "",
|
||||
"Maintenance_Tool_ExportCSV": "Exportación CSV",
|
||||
"Maintenance_Tool_ExportCSV_noti": "Exportación CSV",
|
||||
"Maintenance_Tool_DownloadConfig": "Exportación de configuraciones",
|
||||
"Maintenance_Tool_DownloadConfig_text": "Descargue una copia de seguridad completa de su configuración de ajustes almacenada en el archivo <code>app.conf</code>.",
|
||||
"Maintenance_Tool_DownloadWorkflows": "Exportación de flujos de trabajo",
|
||||
"Maintenance_Tool_DownloadWorkflows_text": "Descargue una copia de seguridad completa de sus flujos de trabajo almacenados en el archivo <code>workflows.json</code>.",
|
||||
"Maintenance_Tool_ExportCSV": "Exportación de dispositivos (CSV)",
|
||||
"Maintenance_Tool_ExportCSV_noti": "Exportación de dispositivos (CSV)",
|
||||
"Maintenance_Tool_ExportCSV_noti_text": "¿Está seguro de que quiere generar un archivo CSV?",
|
||||
"Maintenance_Tool_ExportCSV_text": "Genere un archivo CSV (valor separado por comas) que contenga la lista de Dispositivos incluyendo las relaciones de red entre los Nodos de red y los dispositivos conectados. También puedes activarlo accediendo a esta URL <code>your NetAlertX url/php/server/devices.php?action=ExportCSV</code> o activando el plugin <a href=\"settings.php#CSVBCKP_header\">Copia de seguridad CSV</a>.",
|
||||
"Maintenance_Tool_ImportCSV": "Importación CSV",
|
||||
"Maintenance_Tool_ImportCSV_noti": "Importación CSV",
|
||||
"Maintenance_Tool_ExportCSV_text": "Genere un archivo CSV (valor separado por comas) que contenga la lista de Dispositivos incluyendo las relaciones de red entre los Nodos de red y los dispositivos conectados. También puedes activarlo accediendo a esta URL <code>your_NetAlertX_url/php/server/devices.php?action=ExportCSV</code> o activando el plugin <a href=\"settings.php#CSVBCKP_header\">Copia de seguridad CSV</a>.",
|
||||
"Maintenance_Tool_ImportCSV": "Importación de dispositivos (CSV)",
|
||||
"Maintenance_Tool_ImportCSV_noti": "Importación de dispositivos (CSV)",
|
||||
"Maintenance_Tool_ImportCSV_noti_text": "¿Estás seguro de que quieres importar el archivo CSV? Esto <b>sobrescribirá</b> completamente los dispositivos en su base de datos.",
|
||||
"Maintenance_Tool_ImportCSV_text": "Antes de usar esta función, haga una copia de seguridad. Importe un archivo CSV (valor separado por comas) que contiene la lista de dispositivos, incluidas las relaciones de red entre nodos de red y dispositivos conectados. Para hacer eso, coloque el archivo CSV llamado <b> devices.csv </b> en su carpeta <b>/config </b>.",
|
||||
"Maintenance_Tool_ImportConfig_noti": "",
|
||||
"Maintenance_Tool_ImportPastedCSV": "Importar CSV (Pegar)",
|
||||
"Maintenance_Tool_ImportConfig_noti": "Importar ajustes (app.conf)",
|
||||
"Maintenance_Tool_ImportPastedCSV": "Importar dispositivos (CSV) (Pegar)",
|
||||
"Maintenance_Tool_ImportPastedCSV_noti_text": "¿Seguro que desea importar el CSV pegado? Esto <b>sobrescribirá</b> completamente los dispositivos en su base de datos.",
|
||||
"Maintenance_Tool_ImportPastedCSV_text": "Antes de usar esta función, por favor haga una copia de seguridad. Importar un archivo CSV (valor separado por comas) que contiene la lista de Dispositivos incluyendo las relaciones de red entre los Nodos de red y los dispositivos conectados.",
|
||||
"Maintenance_Tool_ImportPastedConfig": "",
|
||||
"Maintenance_Tool_ImportPastedConfig_noti_text": "",
|
||||
"Maintenance_Tool_ImportPastedConfig_text": "",
|
||||
"Maintenance_Tool_ImportPastedConfig": "Importar ajustes (pegar)",
|
||||
"Maintenance_Tool_ImportPastedConfig_noti_text": "¿Seguro que quieres importar la configuración pegada? Esto <b>sobrescribirá</b> por completo el archivo <code>app.conf</code>.",
|
||||
"Maintenance_Tool_ImportPastedConfig_text": "Importa el archivo <code>app.conf</code> que contiene toda la configuración de la aplicación. Es recomendable descargar primero el archivo <code>app.conf</code> actual con la <b>Exportación de configuración</b>.",
|
||||
"Maintenance_Tool_arpscansw": "Activar arp-scan (on/off)",
|
||||
"Maintenance_Tool_arpscansw_noti": "Activar arp-scan on or off",
|
||||
"Maintenance_Tool_arpscansw_noti_text": "Cuando el escaneo se ha apagado, permanece apagado hasta que se active nuevamente.",
|
||||
@@ -484,7 +490,7 @@
|
||||
"Maintenance_themeselector_lable": "Seleccionar tema",
|
||||
"Maintenance_themeselector_text": "El cambio se produce en el lado del servidor, por lo que afecta a todos los dispositivos en uso.",
|
||||
"Maintenance_version": "Actualizaciones de la aplicación",
|
||||
"NETWORK_DEVICE_TYPES_description": "Qué tipos de dispositivos pueden usarse como dispositivos de red en la vista Red. El tipo de dispositivo debe coincidir exactamente con la configuración <code> Tipo </code> en un dispositivo específico en los Detalles del dispositivo. No elimine los tipos existentes, solo agregue nuevos.",
|
||||
"NETWORK_DEVICE_TYPES_description": "Qué tipos de dispositivos se pueden usar como dispositivos de red en la vista de red. El tipo de dispositivo debe coincidir exactamente con la configuración de <code>Tipo</code> de un dispositivo específico en los detalles del dispositivo. Añádalo al dispositivo mediante el botón <code>+</code>. No elimine los tipos existentes, solo añada los nuevos.",
|
||||
"NETWORK_DEVICE_TYPES_name": "Tipos de dispositivos de red",
|
||||
"NTFY_HOST_description": "URL de host NTFY que comienza con <code>http://</code> o <code>https://</code>. Puede usar la instancia alojada en <a target=\"_blank\" href=\"https://ntfy.sh/\">https://ntfy.sh</a> simplemente ingresando <code>https://ntfy. sh</código>.",
|
||||
"NTFY_HOST_name": "URL del host NTFY",
|
||||
@@ -497,7 +503,7 @@
|
||||
"NTFY_display_name": "NTFY",
|
||||
"NTFY_icon": "<i class=\"fa fa-terminal\"></i>",
|
||||
"Navigation_About": "Acerca de",
|
||||
"Navigation_AppEvents": "",
|
||||
"Navigation_AppEvents": "Eventos de la aplicación",
|
||||
"Navigation_Devices": "Dispositivos",
|
||||
"Navigation_Donations": "Donaciones",
|
||||
"Navigation_Events": "Eventos",
|
||||
@@ -598,6 +604,8 @@
|
||||
"Presence_Shortcut_Favorites": "Favorito(s)",
|
||||
"Presence_Shortcut_NewDevices": "Nuevo(s)",
|
||||
"Presence_Title": "Historial por dispositivo",
|
||||
"REFRESH_FQDN_description": "",
|
||||
"REFRESH_FQDN_name": "",
|
||||
"REPORT_APPRISE_description": "Habilitar el envío de notificaciones a través de <a target=\"_blank\" href=\"https://hub.docker.com/r/caronc/apprise\">Apprise</a>.",
|
||||
"REPORT_APPRISE_name": "Habilitar Apprise",
|
||||
"REPORT_DASHBOARD_URL_description": "Esta URL se utiliza como base para generar enlaces en los correos electrónicos. Ingrese la URL completa que comienza con <code>http://</code>, incluido el número de puerto (sin barra inclinada al final <code>/</code>).",
|
||||
@@ -746,32 +754,32 @@
|
||||
"WEBHOOK_SIZE_name": "Tamaño máximo de carga útil",
|
||||
"WEBHOOK_URL_description": "URL de destino comienza con <code>http://</code> o <code>https://</code>.",
|
||||
"WEBHOOK_URL_name": "URL de destino",
|
||||
"WF_Action_Add": "",
|
||||
"WF_Action_field": "",
|
||||
"WF_Action_type": "",
|
||||
"WF_Action_value": "",
|
||||
"WF_Actions": "",
|
||||
"WF_Add": "",
|
||||
"WF_Add_Condition": "",
|
||||
"WF_Add_Group": "",
|
||||
"WF_Condition_field": "",
|
||||
"WF_Condition_operator": "",
|
||||
"WF_Condition_value": "",
|
||||
"WF_Conditions": "",
|
||||
"WF_Conditions_logic_rules": "",
|
||||
"WF_Duplicate": "",
|
||||
"WF_Enabled": "",
|
||||
"WF_Export": "",
|
||||
"WF_Export_Copy": "",
|
||||
"WF_Import": "",
|
||||
"WF_Import_Copy": "",
|
||||
"WF_Name": "",
|
||||
"WF_Remove": "",
|
||||
"WF_Remove_Copy": "",
|
||||
"WF_Save": "",
|
||||
"WF_Trigger": "",
|
||||
"WF_Trigger_event_type": "",
|
||||
"WF_Trigger_type": "",
|
||||
"WF_Action_Add": "Agregar acción",
|
||||
"WF_Action_field": "Campo",
|
||||
"WF_Action_type": "Tipo",
|
||||
"WF_Action_value": "Valor",
|
||||
"WF_Actions": "Acciones",
|
||||
"WF_Add": "Agregar flujo de trabajo",
|
||||
"WF_Add_Condition": "Agregar condición",
|
||||
"WF_Add_Group": "Agregar grupo",
|
||||
"WF_Condition_field": "Campo",
|
||||
"WF_Condition_operator": "Operador",
|
||||
"WF_Condition_value": "Valor",
|
||||
"WF_Conditions": "Condiciones",
|
||||
"WF_Conditions_logic_rules": "Reglas lógicas",
|
||||
"WF_Duplicate": "Duplicar flujo de trabajo",
|
||||
"WF_Enabled": "Flujo de trabajo habilitado",
|
||||
"WF_Export": "Exportar flujo de trabajo",
|
||||
"WF_Export_Copy": "Copiar el flujo de trabajo de abajo e importarlo donde necesite.",
|
||||
"WF_Import": "Importar flujo de trabajo",
|
||||
"WF_Import_Copy": "Pegar en el flujo de trabajo que copió previamente.",
|
||||
"WF_Name": "Nombre del flujo de trabajo",
|
||||
"WF_Remove": "Eliminar flujo de trabajo",
|
||||
"WF_Remove_Copy": "¿Desea eliminar este flujo de trabajo?",
|
||||
"WF_Save": "Guardar flujos de trabajo",
|
||||
"WF_Trigger": "Disparador",
|
||||
"WF_Trigger_event_type": "Tipo de evento",
|
||||
"WF_Trigger_type": "TIpo de disparador",
|
||||
"Webhooks_display_name": "Webhooks",
|
||||
"Webhooks_icon": "<i class=\"fa fa-circle-nodes\"></i>",
|
||||
"Webhooks_settings_group": "<i class=\"fa fa-circle-nodes\"></i> Webhooks",
|
||||
@@ -786,7 +794,7 @@
|
||||
"general_event_title": "Ejecutar un evento ad-hoc",
|
||||
"go_to_node_event_icon": "fa-square-up-right",
|
||||
"go_to_node_event_tooltip": "Vaya a la página de Red del nodo indicado",
|
||||
"new_version_available": "",
|
||||
"new_version_available": "Una nueva versión está disponible.",
|
||||
"report_guid": "Guía de las notificaciones:",
|
||||
"report_guid_missing": "No se ha encontrado la notificación vinculada. Hay un pequeño retraso entre las notificaciones enviadas recientemente y su disponibilidad. Actualiza tu página y la caché después de unos segundos. También es posible que la notificación seleccionada se haya eliminado durante el mantenimiento, tal y como se especifica en la configuración <code>de DBCLNP_NOTIFI_HIST</code>. <br/> <br/>En su lugar, se muestra la notificación más reciente. La notificación que falta tiene el siguiente GUID:",
|
||||
"report_select_format": "Selecciona el formato:",
|
||||
@@ -815,7 +823,7 @@
|
||||
"settings_publishers_info": "Cargue más editor@s con el ajuste <a href=\"/settings.php#LOADED_PLUGINS\">LOADED_PLUGINS</a>",
|
||||
"settings_publishers_label": "Editores",
|
||||
"settings_readonly": "No se puede LEER ni ESCRIBIR <code>app.conf</code>. Intente reiniciar el contenedor y lea la <a href=\"https://github.com/jokob-sk/NetAlertX/blob/main/docs/FILE_PERMISSIONS.md\" target=\"_blank\">documentación de permisos de archivo</a>",
|
||||
"settings_saved": "<br/>Ajustes guardados. <br/><br/> Recargando... <br/><i class=\"ion ion-ios-loop-strong fa-spin fa-2x fa-fw\"></i> <br/>",
|
||||
"settings_saved": "<br/>Ajustes guardados. <br/> Recargando... <br/><i class=\"ion ion-ios-loop-strong fa-spin fa-2x fa-fw\"></i> <br/>",
|
||||
"settings_system_icon": "fa-solid fa-gear",
|
||||
"settings_system_label": "Sistema",
|
||||
"settings_update_item_warning": "Actualice el valor a continuación. Tenga cuidado de seguir el formato anterior. <b>O la validación no se realiza.</b>",
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
"About_Exit": "Se déconnecter",
|
||||
"About_Title": "Analyse de la sécurité du réseau et cadre de notification",
|
||||
"AppEvents_AppEventProcessed": "Traité(s)",
|
||||
"AppEvents_DateTimeCreated": "Connecté",
|
||||
"AppEvents_DateTimeCreated": "Découvert le",
|
||||
"AppEvents_Extra": "Extra",
|
||||
"AppEvents_GUID": "GUID d’événements de l'application",
|
||||
"AppEvents_Helper1": "Assistant 1",
|
||||
@@ -194,7 +194,7 @@
|
||||
"DevDetail_button_Save": "Enregistrer",
|
||||
"DeviceEdit_ValidMacIp": "Renseigner une adresse <b>Mac</b> et une adresse <b>IP</b> valides.",
|
||||
"Device_MultiEdit": "Édition multiple",
|
||||
"Device_MultiEdit_Backup": "Attention, renseigner des valeurs non cohérentes ci-dessous peut bloquer votre paramétrage. Veillez à faire une sauvegarde de votre base de données ou de la configuration de vos appareils en premier lieu (<a href=\"php/server/devices.php?action=ExportCSV\">clisuer ici pour la télécharger <i class=\"fa-solid fa-download fa-bounce\"></i></a>). Renseignez-vous sur comment remettre les appareils depuis ce fichier via la <a href=\"https://github.com/jokob-sk/NetAlertX/blob/main/docs/BACKUPS.md#scenario-2-corrupted-database\" target=\"_blank\">documentation des sauvegardes</a>.",
|
||||
"Device_MultiEdit_Backup": "Attention, renseigner des valeurs non cohérentes ci-dessous peut bloquer votre paramétrage. Veillez à faire une sauvegarde de votre base de données ou de la configuration de vos appareils en premier lieu (<a href=\"php/server/devices.php?action=ExportCSV\">clisuer ici pour la télécharger <i class=\"fa-solid fa-download fa-bounce\"></i></a>). Renseignez-vous sur comment remettre les appareils depuis ce fichier via la <a href=\"https://github.com/jokob-sk/NetAlertX/blob/main/docs/BACKUPS.md#scenario-2-corrupted-database\" target=\"_blank\">documentation des sauvegardes</a>. Afin d'enregistrer les changements, cliquer sur l'icône <b>Sauvegarder<i class=\"fa-solid fa-save\"></i></b> sur chaque champ que vous voulez mettre à jour.",
|
||||
"Device_MultiEdit_Fields": "Champs modifiables :",
|
||||
"Device_MultiEdit_MassActions": "Actions en masse :",
|
||||
"Device_MultiEdit_Tooltip": "Attention. Ceci va appliquer la valeur de gauche à tous les appareils sélectionnés au-dessus.",
|
||||
@@ -211,6 +211,7 @@
|
||||
"Device_TableHead_AlertDown": "Alerter si En panne",
|
||||
"Device_TableHead_Connected_Devices": "Connexions",
|
||||
"Device_TableHead_CustomProps": "Champs / Actions",
|
||||
"Device_TableHead_FQDN": "Nom de domaine FQDN",
|
||||
"Device_TableHead_Favorite": "Favori",
|
||||
"Device_TableHead_FirstSession": "Première session",
|
||||
"Device_TableHead_GUID": "GUID",
|
||||
@@ -334,13 +335,13 @@
|
||||
"General_icon": "<i class=\"fa fa-gears\"></i>",
|
||||
"HRS_TO_KEEP_NEWDEV_description": "Paramètre de maintenance. S'il est activé (<code>0</code> s'il est désactivé), les appareils marqués comme <b>Nouvel appareil</b> seront supprimés si leur durée depuis la <b>première session</b> est plus ancienne que le nombre d'heures paramétré. Utilisez ce paramétrage si vous voulez supprimer automatiquement les <b>Nouveaux appareils</b> après <code>X</code> heures.",
|
||||
"HRS_TO_KEEP_NEWDEV_name": "Supprimer les nouveaux appareils après",
|
||||
"HRS_TO_KEEP_OFFDEV_description": "Il s'agit d'un paramètre de maintenance <b>SUPPRIMER des appareils</b>. Si cette option est activée (<code>0</code> est désactivé), les appareils qui sont <b>Hors ligne</b> et dont la <b>dernière heure hors ligne</b> est plus ancienne que les heures spécifiées dans ce paramètre. Utilisez ce paramètre si vous souhaitez supprimer automatiquement <b>Appareils hors ligne</b> après <code>X</code> heures de déconnexion.",
|
||||
"HRS_TO_KEEP_OFFDEV_description": "Il s'agit d'un paramètre de maintenance <b>SUPPRIMER des appareils</b>. Si cette option est activée (<code>0</code> est désactivé), les appareils qui sont <b>Hors ligne</b> et dont la <b>dernière connexion</b> est plus ancienne que les heures spécifiées dans ce paramètre. Utilisez ce paramètre si vous souhaitez supprimer automatiquement <b>Appareils hors ligne</b> après <code>X</code> heures de déconnexion.",
|
||||
"HRS_TO_KEEP_OFFDEV_name": "Supprimez les appareils hors ligne après",
|
||||
"LOADED_PLUGINS_description": "Affiche les plugins chargés. Ajouter des plugins peut ralentir l'application. Obtenez plus d'informations dur quels plugins dont à activer, ou les options de scan dans la <a target=\"_blank\" href=\"https://github.com/jokob-sk/NetAlertX/tree/main/docs/PLUGINS.md\">documentation des plugins</a>. Décharger des plugins leur fait perdre leurs paramètres. Seuls les plugins <code>désactivés</code> peuvent être déchargés.",
|
||||
"LOADED_PLUGINS_name": "Plugins chargés",
|
||||
"LOG_LEVEL_description": "Ce paramètre active une journalisation dans les logs plus verbeuse. Cela est utile pour identifier les événements écrivant dans la base de données.",
|
||||
"LOG_LEVEL_name": "Afficher des journaux de log additionnels",
|
||||
"Loading": "Chargement...",
|
||||
"Loading": "Chargement…",
|
||||
"Login_Box": "Saisir votre mot de passe",
|
||||
"Login_Default_PWD": "Le mot de passe par défaut \"123456\" est encore actif.",
|
||||
"Login_Info": "Les mots de passe sont définis via le plugin Set Password. Vérifiez la <a target=\"_blank\" href=\"https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/set_password\">documentation de SETPWD</a> si vous rencontrez des difficultés à vous identifier.",
|
||||
@@ -358,6 +359,11 @@
|
||||
"Maint_PurgeLog": "Nettoyer les logs",
|
||||
"Maint_RestartServer": "Relancer le serveur",
|
||||
"Maint_Restart_Server_noti_text": "Êtes-vous sûr de vouloir relancer le serveur back-end ? Cela peut causer des incohérences avec l'application. Sauvegarder vos paramètres en premier lieu. <br/> <br/> Remarque : cela peut prendre quelques minutes.",
|
||||
"Maintenance_InitCheck": "Vérification initiale",
|
||||
"Maintenance_InitCheck_Checking": "Vérification…",
|
||||
"Maintenance_InitCheck_QuickSetupGuide": "Assurez-vous de suivre le <a href=\"https://jokob-sk.github.io/NetAlertX/INITIAL_SETUP/\" target=\"_blank\">guide de démarrage rapide</a>.",
|
||||
"Maintenance_InitCheck_Success": "Application initialisée avec succès !",
|
||||
"Maintenance_ReCheck": "Relancer la vérification",
|
||||
"Maintenance_Running_Version": "Version installée",
|
||||
"Maintenance_Status": "État",
|
||||
"Maintenance_Title": "Outils de maintenance",
|
||||
@@ -440,7 +446,7 @@
|
||||
"Maintenance_Tools_Tab_UISettings": "Paramètres de l'interface",
|
||||
"Maintenance_arp_status": "État du scan",
|
||||
"Maintenance_arp_status_off": "est actuellement désactivé",
|
||||
"Maintenance_arp_status_on": "scan(s) actuellement en cours",
|
||||
"Maintenance_arp_status_on": "scan en cours",
|
||||
"Maintenance_built_on": "Construit sur",
|
||||
"Maintenance_current_version": "Vous êtes à jour. Découvrez sur quoi <a href=\"https://github.com/jokob-sk/NetAlertX/issues/138\" target=\"_blank\">je travaille</a>.",
|
||||
"Maintenance_database_backup": "Sauvegardes de base de données",
|
||||
@@ -559,6 +565,8 @@
|
||||
"Presence_Shortcut_Favorites": "Favoris",
|
||||
"Presence_Shortcut_NewDevices": "Nouveaux appareils",
|
||||
"Presence_Title": "Présence par appareil",
|
||||
"REFRESH_FQDN_description": "Rescanne tous les appareils et met à jour leur nom de domaine complètement qualifié (FQDN). Si désactivé, seul les appareils sans nom connu sont scannés, pour améliorer les performances. Dans ce cas, les noms de domaine FQDN sont mis à jour uniquement durant la découverte initiale des appareils.",
|
||||
"REFRESH_FQDN_name": "Rafraîchir les noms de domaine FQDN",
|
||||
"REPORT_DASHBOARD_URL_description": "Cette URL est utilisée comme base pour générer les liens des rapports HTML (par ex. les courriels). Renseignez l'adresse complète, commençant par <code>http://</code> et incluznt le numero de port (sans slash <code>/</code> à la fin).",
|
||||
"REPORT_DASHBOARD_URL_name": "URL de NetAlertX",
|
||||
"REPORT_ERROR": "La page que vous cherchez est temporairement indisponible. Merci de réessayer dans quelques secondes",
|
||||
@@ -702,7 +710,7 @@
|
||||
"add_option_event_tooltip": "Ajouter une nouvelle valeur",
|
||||
"copy_icons_event_icon": "fa-copy",
|
||||
"copy_icons_event_tooltip": "Remplace les icônes de tous les appareils du même type",
|
||||
"devices_old": "Rafraichissement...",
|
||||
"devices_old": "Rafraichissement…",
|
||||
"general_event_description": "L'événement que vous avez lancé peut prendre du temps avant que les tâches de fond ne soit terminées. La durée d'exécution finira une fois que la file d'exécution ci-dessous sera vide (consulter les <a href='/maintenance.php#tab_Logging'>journaux d'erreur</a> si vous rencontrez des erreurs). <br/> <br/> File d'exécution :",
|
||||
"general_event_title": "Lancement d'un événement sur mesure",
|
||||
"go_to_node_event_icon": "fa-square-up-right",
|
||||
@@ -727,7 +735,7 @@
|
||||
"settings_imported_label": "Paramètres importés",
|
||||
"settings_missing": "Tous les paramètres n'ont pas été chargés ! La base de données est trop sollicitée, ou bien la séquence de démarrage de l'application est trop lourde. Cliquez sur le bouton de rafraîchissement 🔄 en haut.",
|
||||
"settings_missing_block": "Erreur : les paramètres ne sont pas correctement chargés. Cliquer sur le bouton de rafraîchissement 🔄 en haut ; sinon, vous pouvez vérifier les journaux du navigateur pour plus de détails (F12).",
|
||||
"settings_old": "Importation des paramètres et réinitialisation...",
|
||||
"settings_old": "Importation des paramètres et réinitialisation…",
|
||||
"settings_other_scanners": "Autres plugins activés, hors scanners d'appareils.",
|
||||
"settings_other_scanners_icon": "fa-solid fa-recycle",
|
||||
"settings_other_scanners_label": "Autres scanners",
|
||||
@@ -742,4 +750,4 @@
|
||||
"settings_update_item_warning": "Mettre à jour la valeur ci-dessous. Veillez à bien suivre le même format qu'auparavant. <b>Il n'y a pas de pas de contrôle.</b>",
|
||||
"test_event_icon": "fa-vial-circle-check",
|
||||
"test_event_tooltip": "Enregistrer d'abord vos modifications avant de tester vôtre paramétrage."
|
||||
}
|
||||
}
|
||||
34
front/php/templates/language/it_it.json
Normal file → Executable file
@@ -9,7 +9,7 @@
|
||||
"About_Exit": "Esci",
|
||||
"About_Title": "Scanner di sicurezza di rete e framework di notifica",
|
||||
"AppEvents_AppEventProcessed": "Elaborato",
|
||||
"AppEvents_DateTimeCreated": "Loggato",
|
||||
"AppEvents_DateTimeCreated": "Scoperto il",
|
||||
"AppEvents_Extra": "Extra",
|
||||
"AppEvents_GUID": "GUID evento applicazione",
|
||||
"AppEvents_Helper1": "Aiutante 1",
|
||||
@@ -86,7 +86,7 @@
|
||||
"DevDetail_GoToNetworkNode": "Passa alla pagina Rete del nodo specificato.",
|
||||
"DevDetail_Icon": "Icona",
|
||||
"DevDetail_Icon_Descr": "Inserisci il nome di un'icona Font Awesome senza il prefisso fa- o con la classe completa, es.: fa fa-brands fa-apple.",
|
||||
"DevDetail_Loading": "Caricamento...",
|
||||
"DevDetail_Loading": "Caricamento…",
|
||||
"DevDetail_MainInfo_Comments": "Commenti",
|
||||
"DevDetail_MainInfo_Favorite": "Preferito",
|
||||
"DevDetail_MainInfo_Group": "Gruppo",
|
||||
@@ -177,7 +177,7 @@
|
||||
"DevDetail_Tools_WOL": "Invia comando WoL a ",
|
||||
"DevDetail_Tools_WOL_noti": "Wake-on-LAN",
|
||||
"DevDetail_Tools_WOL_noti_text": "Il comando Wake-on-LAN viene inviato all'indirizzo di broadcast. Se la destinazione non si trova nella sottorete/VLAN di NetAlertX, il dispositivo di destinazione non risponderà.",
|
||||
"DevDetail_Type_hover": "Il tipo del dispositivo. Se selezioni uno dei dispositivi di rete predefiniti (ad esempio: AP, Firewall, Router, Switch...) verranno visualizzati nella struttura di rete come possibili nodi della rete principale.",
|
||||
"DevDetail_Type_hover": "Il tipo del dispositivo. Se selezioni uno dei dispositivi di rete predefiniti (ad esempio: AP, Firewall, Router, Switch…) verranno visualizzati nella struttura di rete come possibili nodi della rete principale.",
|
||||
"DevDetail_Vendor_hover": "Il produttore dovrebbe essere rilevato automaticamente. Puoi sovrascrivere o aggiungere un valore personalizzato.",
|
||||
"DevDetail_WOL_Title": "<i class=\"fa fa-power-off\"></i> Wake-on-LAN",
|
||||
"DevDetail_button_AddIcon": "Aggiungi nuova icona",
|
||||
@@ -194,7 +194,7 @@
|
||||
"DevDetail_button_Save": "Salva",
|
||||
"DeviceEdit_ValidMacIp": "Inserisci un indirizzo <b>Mac</b> e un indirizzo <b>IP</b> validi.",
|
||||
"Device_MultiEdit": "Modifica multipla",
|
||||
"Device_MultiEdit_Backup": "Attento, l'inserimento di valori errati di seguito interromperà la configurazione. Effettua prima il backup del database o della configurazione dei dispositivi (<a href=\"php/server/devices.php?action=ExportCSV\">fai clic per scaricare <i class=\"fa-solid fa-download fa-bounce\"></i> </a>). Leggi come ripristinare i dispositivi da questo file nella <a href=\"https://github.com/jokob-sk/NetAlertX/blob/main/docs/BACKUPS.md#scenario-2-corrupted-database\" target=\" _blank\">Documentazione di backup</a>.",
|
||||
"Device_MultiEdit_Backup": "Attento, l'inserimento di valori errati di seguito interromperà la configurazione. Effettua prima il backup del database o della configurazione dei dispositivi (<a href=\"php/server/devices.php?action=ExportCSV\">fai clic per scaricare <i class=\"fa-solid fa-download fa-bounce\"></i> </a>). Leggi come ripristinare i dispositivi da questo file nella <a href=\"https://github.com/jokob-sk/NetAlertX/blob/main/docs/BACKUPS.md#scenario-2-corrupted-database\" target=\" _blank\">Documentazione di backup</a>. Per applicare le modifiche, fai clic sull'icona <b>Salva<i class=\"fa-solid fa-save\"></i></b> su ogni campo che desideri aggiornare.",
|
||||
"Device_MultiEdit_Fields": "Modifica campi:",
|
||||
"Device_MultiEdit_MassActions": "Azioni di massa:",
|
||||
"Device_MultiEdit_Tooltip": "Attento. Facendo clic verrà applicato il valore sulla sinistra a tutti i dispositivi selezionati sopra.",
|
||||
@@ -211,6 +211,7 @@
|
||||
"Device_TableHead_AlertDown": "Avviso disconnessione",
|
||||
"Device_TableHead_Connected_Devices": "Connessioni",
|
||||
"Device_TableHead_CustomProps": "Proprietà/Azioni",
|
||||
"Device_TableHead_FQDN": "FQDN",
|
||||
"Device_TableHead_Favorite": "Preferito",
|
||||
"Device_TableHead_FirstSession": "Prima sessione",
|
||||
"Device_TableHead_GUID": "GUID",
|
||||
@@ -250,7 +251,7 @@
|
||||
"ENCRYPTION_KEY_name": "Chiave di crittografia",
|
||||
"Email_display_name": "E-mail",
|
||||
"Email_icon": "<i class=\"fa fa-at\"></i>",
|
||||
"Events_Loading": "Caricamento...",
|
||||
"Events_Loading": "Caricamento…",
|
||||
"Events_Periodselect_All": "Tutte le info",
|
||||
"Events_Periodselect_LastMonth": "Ultimo mese",
|
||||
"Events_Periodselect_LastWeek": "Ultima settimana",
|
||||
@@ -334,13 +335,13 @@
|
||||
"General_icon": "<i class=\"fa fa-gears\"></i>",
|
||||
"HRS_TO_KEEP_NEWDEV_description": "Questa è un'impostazione di manutenzione <b>ELIMINAZIONE dispositivi</b>. Se abilitata (<code>0</code> è disabilitata), tutti i dispositivi marcati con <b>Nuovo dispositivo</b> verranno eliminati se l'orario della <b>Prima sessione</b> è precedente all'orario di questa impostazione. Usa questa impostazione se vuoi eliminare automaticamente i <b>Nuovi dispositivi</b> dopo <code>X</code> ore.",
|
||||
"HRS_TO_KEEP_NEWDEV_name": "Elimina nuovi dispositivi dopo",
|
||||
"HRS_TO_KEEP_OFFDEV_description": "Questa è un'impostazione di manutenzione <b>ELIMINAZIONE dispositivi</b>. Se abilitata (<code>0</code> è disabilitata), i dispositivi che sono <b>Offline</b> e la loro data e ora <b>Ultima offline</b> sono più vecchi delle ore specificate in questa impostazione saranno eliminati. Usa questa impostazione se vuoi eliminare automaticamente <b>Dispositivi offline</b> dopo <code>X</code> ore trascorse offline.",
|
||||
"HRS_TO_KEEP_OFFDEV_description": "Questa è un'impostazione di manutenzione <b>ELIMINAZIONE dispositivi</b>. Se abilitata (<code>0</code> è disabilitata), i dispositivi che sono <b>Offline</b> e la loro data e ora <b>Ultima connessione</b> sono più vecchi delle ore specificate in questa impostazione saranno eliminati. Usa questa impostazione se vuoi eliminare automaticamente <b>Dispositivi offline</b> dopo <code>X</code> ore trascorse offline.",
|
||||
"HRS_TO_KEEP_OFFDEV_name": "Elimina dispositivi offline dopo",
|
||||
"LOADED_PLUGINS_description": "Quali Plugin caricare. L'aggiunta di plugin potrebbe rallentare l'applicazione. Leggi di più su quali plugin necessitano di essere abilitati, tipi e opzioni di scansione nella <a target=\"_blank\" href=\"https://github.com/jokob-sk/NetAlertX/tree/main/docs/PLUGINS.md\">documentazione plugin</a>. I plugin disinstallati perdono la loro configurazione. Solo i plugin <code>disabilitati</code> possono essere disinstallati.",
|
||||
"LOADED_PLUGINS_name": "Plugin caricati",
|
||||
"LOG_LEVEL_description": "Questa impostazione abilita un log più dettagliato. Utile per il debug degli eventi salvati nel database.",
|
||||
"LOG_LEVEL_name": "Stampa log aggiuntivo",
|
||||
"Loading": "Caricamento...",
|
||||
"Loading": "Caricamento…",
|
||||
"Login_Box": "Inserisci la tua password",
|
||||
"Login_Default_PWD": "La password predefinita \"123456\" è ancora attiva.",
|
||||
"Login_Info": "Le password vengono impostate tramite il plugin Set Password. Controlla la <a target=\"_blank\" href=\"https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/set_password\">documentazione SETPWD</a> se riscontri problemi di accesso.",
|
||||
@@ -358,6 +359,11 @@
|
||||
"Maint_PurgeLog": "Elimina log",
|
||||
"Maint_RestartServer": "Riavvia server",
|
||||
"Maint_Restart_Server_noti_text": "Sei sicuro di voler riavviare il server backend? Questo potrebbe causare incoerenze dell'app. Prima esegui il backup della tua configurazione. <br/> <br/> Nota: l'operazione potrebbe richiedere alcuni minuti.",
|
||||
"Maintenance_InitCheck": "Controllo iniziale",
|
||||
"Maintenance_InitCheck_Checking": "Controllo in corso…",
|
||||
"Maintenance_InitCheck_QuickSetupGuide": "Assicurati di aver seguito la <a href=\"https://jokob-sk.github.io/NetAlertX/INITIAL_SETUP/\" target=\"_blank\">guida di configurazione rapida</a>.",
|
||||
"Maintenance_InitCheck_Success": "Applicazione inizializzata con successo!",
|
||||
"Maintenance_ReCheck": "Riprova controllo",
|
||||
"Maintenance_Running_Version": "Versione installata",
|
||||
"Maintenance_Status": "Stato",
|
||||
"Maintenance_Title": "Strumenti di manutenzione",
|
||||
@@ -440,7 +446,7 @@
|
||||
"Maintenance_Tools_Tab_UISettings": "Impostazioni UI",
|
||||
"Maintenance_arp_status": "Stato scansione",
|
||||
"Maintenance_arp_status_off": "è attualmente disabilitato",
|
||||
"Maintenance_arp_status_on": "scansioni attualmente in esecuzione",
|
||||
"Maintenance_arp_status_on": "scansione in corso",
|
||||
"Maintenance_built_on": "Rilasciato il",
|
||||
"Maintenance_current_version": "Sei aggiornato. Scopri <a href=\"https://github.com/jokob-sk/NetAlertX/issues/138\" target=\"_blank\">a cosa sto lavorando</a>.",
|
||||
"Maintenance_database_backup": "Backup DB",
|
||||
@@ -550,7 +556,7 @@
|
||||
"Presence_Key_OnlinePastMiss": "Online in passato (non corrispondente)",
|
||||
"Presence_Key_OnlinePastMiss_desc": "Dispositivo online in passato, ma attualmente offline, ma la sessione di avvio potrebbe essere mancante o presentare dati in conflitto. (potrebbe trattarsi di un bug: invia una PR se sai come risolverlo, sono un po' perso nel codice qui)",
|
||||
"Presence_Key_OnlinePast_desc": "Dispositivo online in passato, ma attualmente offline.",
|
||||
"Presence_Loading": "Caricamento...",
|
||||
"Presence_Loading": "Caricamento…",
|
||||
"Presence_Shortcut_AllDevices": "Miei dispositivi",
|
||||
"Presence_Shortcut_Archived": "Archiviati",
|
||||
"Presence_Shortcut_Connected": "Connessi",
|
||||
@@ -559,6 +565,8 @@
|
||||
"Presence_Shortcut_Favorites": "Preferiti",
|
||||
"Presence_Shortcut_NewDevices": "Nuovi dispositivi",
|
||||
"Presence_Title": "Presenza per dispositivo",
|
||||
"REFRESH_FQDN_description": "Esegue nuovamente la scansione di tutti i dispositivi e aggiorna il loro nome di dominio completo (FQDN). Se disabilitato, vengono scansionati solo i dispositivi senza nome noto per migliorare le prestazioni. In questo caso, l'FQDN viene aggiornato solo durante la rilevazione iniziale del dispositivo.",
|
||||
"REFRESH_FQDN_name": "Aggiorna FQDN",
|
||||
"REPORT_DASHBOARD_URL_description": "Questo URL viene utilizzato come base per generare collegamenti nei report HTML (ad esempio: e-mail). Inserisci l'URL completo che inizia con <code>http://</code> incluso il numero di porta (nessuna barra finale <code>/</code>).",
|
||||
"REPORT_DASHBOARD_URL_name": "URL NetAlertX",
|
||||
"REPORT_ERROR": "La pagina che stai cercando è momentaneamente non disponibile, riprova tra qualche secondo",
|
||||
@@ -702,7 +710,7 @@
|
||||
"add_option_event_tooltip": "Aggiungi nuovo valore",
|
||||
"copy_icons_event_icon": "fa-copy",
|
||||
"copy_icons_event_tooltip": "Sovrascrivi le icone di tutti i dispositivi con lo stesso tipo di dispositivo",
|
||||
"devices_old": "Aggiornamento...",
|
||||
"devices_old": "Aggiornamento…",
|
||||
"general_event_description": "L'evento che hai attivato potrebbe richiedere del tempo prima che i processi in background vengano completati. L'esecuzione è terminata una volta che la coda di esecuzione sottostante si è svuotata (controlla il <a href='/maintenance.php#tab_Logging'>log degli errori</a> se riscontri problemi). <br/> <br/> Coda di esecuzione:",
|
||||
"general_event_title": "Esecuzione di un evento ad-hoc",
|
||||
"go_to_node_event_icon": "fa-square-up-right",
|
||||
@@ -727,7 +735,7 @@
|
||||
"settings_imported_label": "Impostazioni importate",
|
||||
"settings_missing": "Non tutte le impostazioni sono state caricate! Carico elevato sul database o sulla sequenza di avvio dell'app. Fai clic sul pulsante 🔄 ricarica in alto.",
|
||||
"settings_missing_block": "Errore: impostazioni non caricate correttamente. Fai clic sul pulsante di ricarica 🔄 in alto, in alternativa, controlla il registro del browser per i dettagli (F12).",
|
||||
"settings_old": "Importazione impostazioni e riavvio in corso...",
|
||||
"settings_old": "Importazione impostazioni e riavvio in corso…",
|
||||
"settings_other_scanners": "Altri plugin, non scanner per dispositivi, che sono attualmente abilitati.",
|
||||
"settings_other_scanners_icon": "fa-solid fa-recycle",
|
||||
"settings_other_scanners_label": "Altri scanner",
|
||||
@@ -736,10 +744,10 @@
|
||||
"settings_publishers_info": "Carica più editori con l'impostazione <a href=\"/settings.php#LOADED_PLUGINS\">LOADED_PLUGINS</a>",
|
||||
"settings_publishers_label": "Editori",
|
||||
"settings_readonly": "Impossibile LEGGERE o SCRIVERE <code>app.conf</code>. Prova a riavviare il contenitore e leggi la <a href=\"https://github.com/jokob-sk/NetAlertX/blob/main/docs/FILE_PERMISSIONS.md\" target=\"_blank\">documentazione sulle autorizzazioni dei file</a>",
|
||||
"settings_saved": "<br/>Impostazioni salvate. <br/> Aggiornamento in corso... <br/> <i class=\"ion ion-ios-loop-strong fa-spin fa-2x fa-fw\"></i> <br/>",
|
||||
"settings_saved": "<br/>Impostazioni salvate. <br/> Aggiornamento in corso… <br/> <i class=\"ion ion-ios-loop-strong fa-spin fa-2x fa-fw\"></i> <br/>",
|
||||
"settings_system_icon": "fa-solid fa-gear",
|
||||
"settings_system_label": "Sistema",
|
||||
"settings_update_item_warning": "Aggiorna il valore qui sotto. Fai attenzione a seguire il formato precedente. <b>La convalida non viene eseguita.</b>",
|
||||
"test_event_icon": "fa-vial-circle-check",
|
||||
"test_event_tooltip": "Salva le modifiche prima di provare le nuove impostazioni."
|
||||
}
|
||||
}
|
||||
@@ -211,6 +211,7 @@
|
||||
"Device_TableHead_AlertDown": "",
|
||||
"Device_TableHead_Connected_Devices": "Tilkoblinger",
|
||||
"Device_TableHead_CustomProps": "",
|
||||
"Device_TableHead_FQDN": "",
|
||||
"Device_TableHead_Favorite": "Favoritt",
|
||||
"Device_TableHead_FirstSession": "Første Økt",
|
||||
"Device_TableHead_GUID": "GUID",
|
||||
@@ -358,6 +359,11 @@
|
||||
"Maint_PurgeLog": "",
|
||||
"Maint_RestartServer": "",
|
||||
"Maint_Restart_Server_noti_text": "",
|
||||
"Maintenance_InitCheck": "",
|
||||
"Maintenance_InitCheck_Checking": "",
|
||||
"Maintenance_InitCheck_QuickSetupGuide": "",
|
||||
"Maintenance_InitCheck_Success": "",
|
||||
"Maintenance_ReCheck": "",
|
||||
"Maintenance_Running_Version": "Installert versjon",
|
||||
"Maintenance_Status": "Status",
|
||||
"Maintenance_Title": "Vedlikeholdsverktøy",
|
||||
@@ -559,6 +565,8 @@
|
||||
"Presence_Shortcut_Favorites": "Favoritter",
|
||||
"Presence_Shortcut_NewDevices": "Nye enheter",
|
||||
"Presence_Title": "Tilstedeværelse etter enhet",
|
||||
"REFRESH_FQDN_description": "",
|
||||
"REFRESH_FQDN_name": "",
|
||||
"REPORT_DASHBOARD_URL_description": "Denne URL-en brukes som base for å generere lenker i HTML-rapporter (f.eks.: E -post). Skriv inn full URL som starter med <code>http://</code> inkludert portnummeret (ingen etterfølgende slash <code>/</code>).",
|
||||
"REPORT_DASHBOARD_URL_name": "NetAlertX URL",
|
||||
"REPORT_ERROR": "Siden du leter etter er midlertidig utilgjengelig, prøv igjen etter noen sekunder",
|
||||
|
||||
@@ -211,6 +211,7 @@
|
||||
"Device_TableHead_AlertDown": "",
|
||||
"Device_TableHead_Connected_Devices": "Połączenia",
|
||||
"Device_TableHead_CustomProps": "",
|
||||
"Device_TableHead_FQDN": "",
|
||||
"Device_TableHead_Favorite": "Ulubione",
|
||||
"Device_TableHead_FirstSession": "Pierwsza Sesja",
|
||||
"Device_TableHead_GUID": "GUID",
|
||||
@@ -358,6 +359,11 @@
|
||||
"Maint_PurgeLog": "Wyczyść Logi",
|
||||
"Maint_RestartServer": "Zrestartuj serwer",
|
||||
"Maint_Restart_Server_noti_text": "Jesteś pewien, że chcesz zrestartować serwer backend? Może spowodować to niespujności w aplikacji. Najpierw utwórz backup konfiguracji. <br/> <br/> Uwaga: Może to zająć kilkla minut.",
|
||||
"Maintenance_InitCheck": "",
|
||||
"Maintenance_InitCheck_Checking": "",
|
||||
"Maintenance_InitCheck_QuickSetupGuide": "",
|
||||
"Maintenance_InitCheck_Success": "",
|
||||
"Maintenance_ReCheck": "",
|
||||
"Maintenance_Running_Version": "Zainstalowana wersja",
|
||||
"Maintenance_Status": "Status",
|
||||
"Maintenance_Title": "Narzędzia konserwacyjne",
|
||||
@@ -559,6 +565,8 @@
|
||||
"Presence_Shortcut_Favorites": "Ulubione",
|
||||
"Presence_Shortcut_NewDevices": "Nowe Urządzenia",
|
||||
"Presence_Title": "Obecność Urządzenia",
|
||||
"REFRESH_FQDN_description": "",
|
||||
"REFRESH_FQDN_name": "",
|
||||
"REPORT_DASHBOARD_URL_description": "Link jest używany jako podstawa do generowania linków dla zgłoszeń HTML (np. e-maile). Wprowadź pełen adres zaczynając od <code>http://</code> oraz dodając numer portu (bez zakańczania ukośnikiem <code>/</code>).",
|
||||
"REPORT_DASHBOARD_URL_name": "Link NetAlertX",
|
||||
"REPORT_ERROR": "Strona której szukasz jest tymczasowo niedostępna, spróbuj ponownie za kilka sekund",
|
||||
|
||||
@@ -211,6 +211,7 @@
|
||||
"Device_TableHead_AlertDown": "Alerta em baixo",
|
||||
"Device_TableHead_Connected_Devices": "Conexões",
|
||||
"Device_TableHead_CustomProps": "",
|
||||
"Device_TableHead_FQDN": "",
|
||||
"Device_TableHead_Favorite": "Favorito",
|
||||
"Device_TableHead_FirstSession": "Primeira sessão",
|
||||
"Device_TableHead_GUID": "GUID",
|
||||
@@ -358,6 +359,11 @@
|
||||
"Maint_PurgeLog": "Limpar o registo",
|
||||
"Maint_RestartServer": "Reiniciar o servidor",
|
||||
"Maint_Restart_Server_noti_text": "Tem certeza de que deseja reiniciar o servidor backend? Isso pode causar inconsistência no aplicativo. Faça backup da sua configuração primeiro. <br/> <br/> Nota: Isso pode levar alguns minutos.",
|
||||
"Maintenance_InitCheck": "",
|
||||
"Maintenance_InitCheck_Checking": "",
|
||||
"Maintenance_InitCheck_QuickSetupGuide": "",
|
||||
"Maintenance_InitCheck_Success": "",
|
||||
"Maintenance_ReCheck": "",
|
||||
"Maintenance_Running_Version": "Versão instalada",
|
||||
"Maintenance_Status": "Situação",
|
||||
"Maintenance_Title": "Ferramentas de manutenção",
|
||||
@@ -559,6 +565,8 @@
|
||||
"Presence_Shortcut_Favorites": "",
|
||||
"Presence_Shortcut_NewDevices": "",
|
||||
"Presence_Title": "",
|
||||
"REFRESH_FQDN_description": "",
|
||||
"REFRESH_FQDN_name": "",
|
||||
"REPORT_DASHBOARD_URL_description": "",
|
||||
"REPORT_DASHBOARD_URL_name": "",
|
||||
"REPORT_ERROR": "",
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
"About_Exit": "Зарегистрироваться",
|
||||
"About_Title": "Сетевой сканер и система уведомлений",
|
||||
"AppEvents_AppEventProcessed": "Обработанный",
|
||||
"AppEvents_DateTimeCreated": "Журнал",
|
||||
"AppEvents_DateTimeCreated": "Обнаружено",
|
||||
"AppEvents_Extra": "Дополнительно",
|
||||
"AppEvents_GUID": "GUID события приложения",
|
||||
"AppEvents_Helper1": "Помощник 1",
|
||||
@@ -86,7 +86,7 @@
|
||||
"DevDetail_GoToNetworkNode": "Перейти на страницу Сеть данного узла.",
|
||||
"DevDetail_Icon": "Значок",
|
||||
"DevDetail_Icon_Descr": "Введите имя значка Font Awesome без префикса fa- или с полным классом, например: fa fa-brands fa-apple.",
|
||||
"DevDetail_Loading": "Загрузка...",
|
||||
"DevDetail_Loading": "Загрузка…",
|
||||
"DevDetail_MainInfo_Comments": "Комментарии",
|
||||
"DevDetail_MainInfo_Favorite": "Избранное",
|
||||
"DevDetail_MainInfo_Group": "Группа",
|
||||
@@ -194,7 +194,7 @@
|
||||
"DevDetail_button_Save": "Сохранить",
|
||||
"DeviceEdit_ValidMacIp": "Введите действительный <b>Mac</b> и <b>IP</b> адрес.",
|
||||
"Device_MultiEdit": "Мультиредакт",
|
||||
"Device_MultiEdit_Backup": "Будьте осторожны: ввод неправильных значений ниже приведет к поломке вашей настройки. Сначала сделайте резервную копию базы данных или конфигурации устройств (<a href=\"php/server/devices.php?action=ExportCSV\">нажмите для загрузки <i class=\"fa-solid fa-download fa-bounce\"></i></a>). О том, как восстановить Устройства из этого файла, читайте в разделе <a href=\"https://github.com/jokob-sk/NetAlertX/blob/main/docs/BACKUPS.md#scenario-2-corrupted-database\" target=\"_blank\">Документация о резервном копировании</a>.",
|
||||
"Device_MultiEdit_Backup": "Будьте осторожны: ввод неправильных значений ниже приведет к поломке вашей настройки. Сначала сделайте резервную копию базы данных или конфигурации устройств (<a href=\"php/server/devices.php?action=ExportCSV\">нажмите для загрузки <i class=\"fa-solid fa-download fa-bounce\"></i></a>). О том, как восстановить Устройства из этого файла, читайте в разделе <a href=\"https://github.com/jokob-sk/NetAlertX/blob/main/docs/BACKUPS.md#scenario-2-corrupted-database\" target=\"_blank\">Документация о резервном копировании</a>. Чтобы применить свои изменения, нажмите на значок <b> Сохранить <i class = \"fa-solid fa-save\"> </i> </b> в каждом поле, которое вы хотите обновить.",
|
||||
"Device_MultiEdit_Fields": "Редактировать поля:",
|
||||
"Device_MultiEdit_MassActions": "Массовые действия:",
|
||||
"Device_MultiEdit_Tooltip": "Осторожно. При нажатии на эту кнопку значение слева будет применено ко всем устройствам, выбранным выше.",
|
||||
@@ -211,6 +211,7 @@
|
||||
"Device_TableHead_AlertDown": "Оповещение о сост. ВЫКЛ",
|
||||
"Device_TableHead_Connected_Devices": "Соединения",
|
||||
"Device_TableHead_CustomProps": "Свойства / Действия",
|
||||
"Device_TableHead_FQDN": "FQDN",
|
||||
"Device_TableHead_Favorite": "Избранное",
|
||||
"Device_TableHead_FirstSession": "Первый сеанс",
|
||||
"Device_TableHead_GUID": "GUID",
|
||||
@@ -250,7 +251,7 @@
|
||||
"ENCRYPTION_KEY_name": "Ключ шифрования",
|
||||
"Email_display_name": "Эл. почта",
|
||||
"Email_icon": "<i class=\"fa fa-at\"></i>",
|
||||
"Events_Loading": "Загрузка...",
|
||||
"Events_Loading": "Загрузка…",
|
||||
"Events_Periodselect_All": "Вся информация",
|
||||
"Events_Periodselect_LastMonth": "Последний месяц",
|
||||
"Events_Periodselect_LastWeek": "Последняя неделя",
|
||||
@@ -334,13 +335,13 @@
|
||||
"General_icon": "<i class=\"fa fa-gears\"></i>",
|
||||
"HRS_TO_KEEP_NEWDEV_description": "Это настройка обслуживания <b>УДАЛЕНИЕ устройств</b>. Если этот параметр включен (<code>0</code> отключен), устройства, помеченные как <b>Новое устройство</b>, будут удалены, если время их <b>Первого сеанса</b> было старше указанных в этой настройке часов. Используйте этот параметр, если вы хотите автоматически удалять <b>Новые устройства</b> через <code>X</code> часов.",
|
||||
"HRS_TO_KEEP_NEWDEV_name": "Удалить новые устройства после",
|
||||
"HRS_TO_KEEP_OFFDEV_description": "Это настройка обслуживания <b>УДАЛЕНИЕ устройств</b>. Если этот параметр включен (<code>0</code> отключен), устройства, которые находятся <b>в Offline</b> и их дата и время <b>последнего Offline</b> старше, чем часы, указанные в этом параметре. Используйте этот параметр, если вы хотите автоматически удалять <b>Offline устройства</b> после <code>X</code> часов отсутствия в сети.",
|
||||
"HRS_TO_KEEP_OFFDEV_description": "Это настройка обслуживания <b>УДАЛЕНИЕ устройств</b>. Если этот параметр включен (<code>0</code> отключен), устройства, которые находятся <b>в Offline</b> и их дата и время <b>последнего подключения</b> старше, чем часы, указанные в этом параметре. Используйте этот параметр, если вы хотите автоматически удалять <b>Offline устройства</b> после <code>X</code> часов отсутствия в сети.",
|
||||
"HRS_TO_KEEP_OFFDEV_name": "Удалить устройства Offline после",
|
||||
"LOADED_PLUGINS_description": "Какие плагины загружать. Добавление плагинов может замедлить работу приложения. Подробнее о том, какие плагины необходимо включить, их типах или параметрах сканирования, читайте в <a target=\"_blank\" href=\"https://github.com/jokob-sk/NetAlertX/tree/main/docs/PLUGINS.md \">Документация по плагинам</a>. Выгруженные плагины потеряют ваши настройки. Можно выгрузить только <code>отключенные</code> плагины.",
|
||||
"LOADED_PLUGINS_name": "Загруженные плагины",
|
||||
"LOG_LEVEL_description": "Этот параметр включит более подробное ведение журнала. Полезно для отладки записи событий в базу данных.",
|
||||
"LOG_LEVEL_name": "Распечатать дополнительный журнал",
|
||||
"Loading": "Загрузка...",
|
||||
"Loading": "Загрузка…",
|
||||
"Login_Box": "Введите пароль",
|
||||
"Login_Default_PWD": "Пароль по умолчанию «123456» все еще активен.",
|
||||
"Login_Info": "Пароли устанавливаются через плагин Set Password. Если у вас возникли проблемы со входом в систему, проверьте <a target=\"_blank\" href=\"https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/set_password\">SEPWD документацию</a>.",
|
||||
@@ -358,6 +359,11 @@
|
||||
"Maint_PurgeLog": "Очистить журнал",
|
||||
"Maint_RestartServer": "Перезапустить сервер",
|
||||
"Maint_Restart_Server_noti_text": "Вы уверены, что хотите перезапустить внутренний сервер? Это может привести к несогласованности работы приложения. Сначала создайте резервную копию настроек. <br/> <br/> Примечание: Это может занять несколько минут.",
|
||||
"Maintenance_InitCheck": "Инициализация проверки",
|
||||
"Maintenance_InitCheck_Checking": "Проверяется…",
|
||||
"Maintenance_InitCheck_QuickSetupGuide": "Убедитесь, что вы следовали быстрому руководству по настройке <a href=\"https://jokob-sk.github.io/NetAlertX/INITIAL_SETUP/\" target=\"_blank\"></a>.",
|
||||
"Maintenance_InitCheck_Success": "Приложение инициализировано успешно!",
|
||||
"Maintenance_ReCheck": "Повторить проверку",
|
||||
"Maintenance_Running_Version": "Установленная версия",
|
||||
"Maintenance_Status": "Статус",
|
||||
"Maintenance_Title": "Инструменты обслуживания",
|
||||
@@ -440,7 +446,7 @@
|
||||
"Maintenance_Tools_Tab_UISettings": "Интерфейс",
|
||||
"Maintenance_arp_status": "Состояние сканирования",
|
||||
"Maintenance_arp_status_off": "в настоящее время отключен",
|
||||
"Maintenance_arp_status_on": "сканирование, выполняется в данный момент",
|
||||
"Maintenance_arp_status_on": "выполняется сканирование",
|
||||
"Maintenance_built_on": "Сборка от",
|
||||
"Maintenance_current_version": "Вы в курсе событий. Узнайте, над чем <a href=\"https://github.com/jokob-sk/NetAlertX/issues/138\" target=\"_blank\">я работаю</a>.",
|
||||
"Maintenance_database_backup": "Резервные копии БД",
|
||||
@@ -550,7 +556,7 @@
|
||||
"Presence_Key_OnlinePastMiss": "В прошлом в сети (несовпадение)",
|
||||
"Presence_Key_OnlinePastMiss_desc": "Устройство в прошлом было подключено к сети, но сейчас находится в автономном режиме, однако стартовый сеанс может отсутствовать или иметь противоречивые данные. (Возможно, это ошибка — отправьте PR, если знаете, как это исправить — здесь я немного запутался в коде)",
|
||||
"Presence_Key_OnlinePast_desc": "Устройство раньше было в сети, но в настоящее время не в сети.",
|
||||
"Presence_Loading": "Загрузка...",
|
||||
"Presence_Loading": "Загрузка…",
|
||||
"Presence_Shortcut_AllDevices": "Мои устройства",
|
||||
"Presence_Shortcut_Archived": "Архив",
|
||||
"Presence_Shortcut_Connected": "Подключенные",
|
||||
@@ -559,6 +565,8 @@
|
||||
"Presence_Shortcut_Favorites": "Избранные",
|
||||
"Presence_Shortcut_NewDevices": "Новые устройства",
|
||||
"Presence_Title": "Присутствие по устройству",
|
||||
"REFRESH_FQDN_description": "Повторное сканирование всех устройств и обновление их полного доменного имени (FQDN). Если эта функция отключена, то для повышения производительности сканируются только устройства без известного имени. В этом случае FQDN обновляется только при первоначальном обнаружении устройства.",
|
||||
"REFRESH_FQDN_name": "Обновить FQDN",
|
||||
"REPORT_DASHBOARD_URL_description": "Этот URL-адрес используется в качестве основы для создания ссылок в отчетах HTML (например, в электронных письмах). Введите полный URL-адрес, начинающийся с <code>http://</code>, включая номер порта (без косой черты <code>/</code>).",
|
||||
"REPORT_DASHBOARD_URL_name": "NetAlertX URL",
|
||||
"REPORT_ERROR": "Страница, которую вы ищете, временно недоступна, повторите попытку через несколько секунд",
|
||||
@@ -702,7 +710,7 @@
|
||||
"add_option_event_tooltip": "Добавить новое значение",
|
||||
"copy_icons_event_icon": "fa-copy",
|
||||
"copy_icons_event_tooltip": "Заменить иконки всех устройств с одним и тем же типом устройства",
|
||||
"devices_old": "Актуализируется...",
|
||||
"devices_old": "Актуализируется…",
|
||||
"general_event_description": "Событие, которое вы инициировали, может занять некоторое время, прежде чем фоновые процессы завершатся. Выполнение завершится, как только очередь выполнения, указанная ниже, опустеет (Проверьте <a href='/maintenance.php#tab_Logging'>журнал ошибок</a> при возникновении проблем). <br/> <br/>· · Очередь выполнения:",
|
||||
"general_event_title": "Выполнение специального события",
|
||||
"go_to_node_event_icon": "fa-square-up-right",
|
||||
@@ -727,7 +735,7 @@
|
||||
"settings_imported_label": "Настройки импортированы",
|
||||
"settings_missing": "Не все настройки загружены! Высокая нагрузка на базу данных или последовательность запуска приложения. Нажмите кнопку 🔄 перезагрузить вверху.",
|
||||
"settings_missing_block": "Ошибка: Настройки загружены неправильно. Нажмите кнопку перезагрузки 🔄 вверху или проверьте журнал браузера для получения подробной информации (F12).",
|
||||
"settings_old": "Импорт настроек и повторная инициализация...",
|
||||
"settings_old": "Импорт настроек и повторная инициализация…",
|
||||
"settings_other_scanners": "Другие плагины сканера, не относящиеся к устройствам, которые в настоящее время включены.",
|
||||
"settings_other_scanners_icon": "fa-solid fa-recycle",
|
||||
"settings_other_scanners_label": "Другие сканеры",
|
||||
@@ -742,4 +750,4 @@
|
||||
"settings_update_item_warning": "Обновить значение ниже. Будьте осторожны, следуя предыдущему формату. <b>Проверка не выполняется.</b>",
|
||||
"test_event_icon": "fa-vial-circle-check",
|
||||
"test_event_tooltip": "Сначала сохраните изменения, прежде чем проверять настройки."
|
||||
}
|
||||
}
|
||||
@@ -1,440 +1,446 @@
|
||||
{
|
||||
"API_CUSTOM_SQL_description": "",
|
||||
"API_CUSTOM_SQL_name": "",
|
||||
"API_TOKEN_description": "",
|
||||
"API_TOKEN_name": "",
|
||||
"API_display_name": "",
|
||||
"API_icon": "",
|
||||
"About_Design": "",
|
||||
"API_CUSTOM_SQL_description": "Özel bir SQL sorgusu belirleyebilir ve bu sorgu ile bir JSON dosyası oluşturabilir, ardından bu dosyayı <a href=\"/php/server/query_json.php?file=table_custom_endpoint.json\" target=\"_blank\"><code>table_custom_endpoint.json</code> dosya uç noktası</a> üzerinden erişime açabilirsiniz.",
|
||||
"API_CUSTOM_SQL_name": "Kişiselleştirilmiş endpoint",
|
||||
"API_TOKEN_description": "Güvenli iletişim için API token'ı. Bir tane oluşturun veya herhangi bir değer girin. Bu token, istek başlığında gönderilir ve <code>SYNC</code> eklentisi, GraphQL sunucusu ve diğer API uç noktalarında kullanılır. API uç noktalarını, <a href=\"https://github.com/jokob-sk/NetAlertX/blob/main/docs/API.md\" target=\"_blank\">API belgelerinde</a> açıklanan şekilde özel entegrasyonlar oluşturmak için kullanabilirsiniz.",
|
||||
"API_TOKEN_name": "API token",
|
||||
"API_display_name": "API",
|
||||
"API_icon": "<i class=\"fa fa-arrow-down-up-across-line\"></i>",
|
||||
"About_Design": "Tasarım Amacı:",
|
||||
"About_Exit": "Oturum kapat",
|
||||
"About_Title": "",
|
||||
"AppEvents_AppEventProcessed": "",
|
||||
"AppEvents_DateTimeCreated": "",
|
||||
"About_Title": "Ağ güvenlik tarayıcısı & bildirim çerçevesi",
|
||||
"AppEvents_AppEventProcessed": "İşlendi",
|
||||
"AppEvents_DateTimeCreated": "Giriş yapıldı",
|
||||
"AppEvents_Extra": "Ekstra",
|
||||
"AppEvents_GUID": "",
|
||||
"AppEvents_GUID": "Uygulama Olayı GUID'si",
|
||||
"AppEvents_Helper1": "Yardımcı 1",
|
||||
"AppEvents_Helper2": "Yardımcı 2",
|
||||
"AppEvents_Helper3": "Yardımcı 3",
|
||||
"AppEvents_ObjectForeignKey": "",
|
||||
"AppEvents_ObjectIndex": "",
|
||||
"AppEvents_ObjectIsArchived": "",
|
||||
"AppEvents_ObjectIsNew": "",
|
||||
"AppEvents_ObjectPlugin": "",
|
||||
"AppEvents_ObjectPrimaryID": "",
|
||||
"AppEvents_ObjectSecondaryID": "",
|
||||
"AppEvents_ObjectStatus": "",
|
||||
"AppEvents_ObjectStatusColumn": "",
|
||||
"AppEvents_ObjectType": "",
|
||||
"AppEvents_Plugin": "",
|
||||
"AppEvents_Type": "",
|
||||
"BackDevDetail_Actions_Ask_Run": "Komutları çalıştırmak istiyor musunuz?",
|
||||
"BackDevDetail_Actions_Not_Registered": "",
|
||||
"BackDevDetail_Actions_Title_Run": "Komutu çalıştır",
|
||||
"BackDevDetail_Copy_Ask": "",
|
||||
"AppEvents_ObjectForeignKey": "Yabancı Anahtar",
|
||||
"AppEvents_ObjectIndex": "Dizin",
|
||||
"AppEvents_ObjectIsArchived": "Arşivlendi (kayıt zamanı itibariyle)",
|
||||
"AppEvents_ObjectIsNew": "Yeni (kayıt zamanında)",
|
||||
"AppEvents_ObjectPlugin": "Bağlantılı Eklenti",
|
||||
"AppEvents_ObjectPrimaryID": "Birincil ID",
|
||||
"AppEvents_ObjectSecondaryID": "İkincil ID",
|
||||
"AppEvents_ObjectStatus": "Kaydedilmiş Durum",
|
||||
"AppEvents_ObjectStatusColumn": "Durum sütunu",
|
||||
"AppEvents_ObjectType": "Nesne Tipi",
|
||||
"AppEvents_Plugin": "Eklenti",
|
||||
"AppEvents_Type": "Tür",
|
||||
"BackDevDetail_Actions_Ask_Run": "İşlemi gerçekleştirmek istiyor musunuz?",
|
||||
"BackDevDetail_Actions_Not_Registered": "Eylem kaydedilmedi: ",
|
||||
"BackDevDetail_Actions_Title_Run": "Eylemi çalıştır",
|
||||
"BackDevDetail_Copy_Ask": "Açılır menüden cihazın detaylarını kopyala (Bu sayfadaki her şeyin üzerine yazılacak)?",
|
||||
"BackDevDetail_Copy_Title": "Ayrıntıları kopyala",
|
||||
"BackDevDetail_Tools_WOL_error": "Komut çalıştırılmadı.",
|
||||
"BackDevDetail_Tools_WOL_okay": "Komut çalıştırıldı.",
|
||||
"BackDevices_Arpscan_disabled": "",
|
||||
"BackDevices_Arpscan_enabled": "",
|
||||
"BackDevices_Backup_CopError": "",
|
||||
"BackDevices_Backup_Failed": "",
|
||||
"BackDevices_Backup_okay": "",
|
||||
"BackDevices_Arpscan_disabled": "Arp-Scan Devre Dışı",
|
||||
"BackDevices_Arpscan_enabled": "Arp-Scan Etkin",
|
||||
"BackDevices_Backup_CopError": "Orijinal veritabanı kaydedilemedi.",
|
||||
"BackDevices_Backup_Failed": "Yedekleme kısmi olarak başarılı bir şekilde çalıştırıldı. Arşiv oluşturulamadı ya da boş.",
|
||||
"BackDevices_Backup_okay": "Yedekleme, yeni arşiv ile başarılı bir şekilde gerçekleştirildi",
|
||||
"BackDevices_DBTools_DelDevError_a": "Cihaz silinirken hata oluştu",
|
||||
"BackDevices_DBTools_DelDevError_b": "Cihazlar silinirken hata oluştu",
|
||||
"BackDevices_DBTools_DelDev_a": "Cihaz silindi",
|
||||
"BackDevices_DBTools_DelDev_b": "Cihazlar silindi",
|
||||
"BackDevices_DBTools_DelEvents": "",
|
||||
"BackDevices_DBTools_DelEventsError": "",
|
||||
"BackDevices_DBTools_ImportCSV": "",
|
||||
"BackDevices_DBTools_ImportCSVError": "",
|
||||
"BackDevices_DBTools_ImportCSVMissing": "",
|
||||
"BackDevices_DBTools_Purge": "",
|
||||
"BackDevices_DBTools_UpdDev": "Cihaz başarılı bir şekilde güncellendi",
|
||||
"BackDevices_DBTools_DelEvents": "Eventler (olay kayıtları) silinmiş durumda",
|
||||
"BackDevices_DBTools_DelEventsError": "Eventler (olay kayıtları) silerken hata oluştu",
|
||||
"BackDevices_DBTools_ImportCSV": "CSV dosyasındaki aygıtlar başarıyla içe aktarıldı.",
|
||||
"BackDevices_DBTools_ImportCSVError": "CSV dosyası içe aktarılamadı. Formatın doğru olduğundan emin olun.",
|
||||
"BackDevices_DBTools_ImportCSVMissing": "CSV dosyası <b>/config/devices.csv</b> altında bulunamadı",
|
||||
"BackDevices_DBTools_Purge": "Geriye dönük yedekler kaldırıldı",
|
||||
"BackDevices_DBTools_UpdDev": "Cihaz başarılı bir şekilde güncellendi. Ana aygıtlar listesi, bir tarama işlemi devam ediyorsa yeniden yüklenmesi için biraz zaman alabilir.",
|
||||
"BackDevices_DBTools_UpdDevError": "Cihaz güncellenirken hata oluştu",
|
||||
"BackDevices_DBTools_Upgrade": "Veritabanı başarılı bir şekilde güncellendi",
|
||||
"BackDevices_DBTools_UpgradeError": "Veritabanı güncellenemedi",
|
||||
"BackDevices_Device_UpdDevError": "Cihazlar güncellenirken hata oluştu, daha sonra tekrar deneyiz. Veritabanı, devam eden bir komut nedeniyle kilitli olabilir.",
|
||||
"BackDevices_Restore_CopError": "",
|
||||
"BackDevices_Restore_Failed": "",
|
||||
"BackDevices_Restore_okay": "",
|
||||
"BackDevices_darkmode_disabled": "",
|
||||
"BackDevices_darkmode_enabled": "",
|
||||
"CLEAR_NEW_FLAG_description": "",
|
||||
"CLEAR_NEW_FLAG_name": "",
|
||||
"CustProps_cant_remove": "",
|
||||
"DAYS_TO_KEEP_EVENTS_description": "",
|
||||
"DAYS_TO_KEEP_EVENTS_name": "",
|
||||
"DISCOVER_PLUGINS_description": "",
|
||||
"DISCOVER_PLUGINS_name": "",
|
||||
"DevDetail_Copy_Device_Title": "",
|
||||
"DevDetail_Copy_Device_Tooltip": "",
|
||||
"DevDetail_CustomProperties_Title": "",
|
||||
"DevDetail_CustomProps_reset_info": "",
|
||||
"DevDetail_DisplayFields_Title": "",
|
||||
"DevDetail_EveandAl_AlertAllEvents": "",
|
||||
"DevDetail_EveandAl_AlertDown": "",
|
||||
"DevDetail_EveandAl_Archived": "",
|
||||
"BackDevices_Restore_CopError": "Orijinal veritabanı kaydedilemedi.",
|
||||
"BackDevices_Restore_Failed": "Geri yükleme başarısız oldu. Lütfen yedeği manuel olarak geri yükleyin.",
|
||||
"BackDevices_Restore_okay": "Geri yükleme başarılı bir şekilde gerçekleştirildi.",
|
||||
"BackDevices_darkmode_disabled": "Karanlık mod devre dışı bırakıldı",
|
||||
"BackDevices_darkmode_enabled": "Karanlık mod etkinleştirildi",
|
||||
"CLEAR_NEW_FLAG_description": "Eğer etkinleştirilmişse (<code>0</code> devre dışı bırakılmıştır), <b>Yeni Cihaz</b> olarak işaretlenen cihazlar, belirlenen saat cinsinden süre sınırı, <b>İlk Oturum</b> zamanlarını aşarsa işaretlenmemiş hale gelir.",
|
||||
"CLEAR_NEW_FLAG_name": "Yeni bayrağını kaldır",
|
||||
"CustProps_cant_remove": "Kaldırılamaz, en az bir özellik gereklidir.",
|
||||
"DAYS_TO_KEEP_EVENTS_description": "Bu bir bakım ayarıdır. Bu, saklanacak olay girişlerinin gün cinsinden sayısını belirtir. Daha eski tüm olaylar periyodik olarak silinecektir. Ayrıca Eklenti Olay Geçmişi üzerinde de geçerlidir.",
|
||||
"DAYS_TO_KEEP_EVENTS_name": "Şu tarihten eski olayları sil",
|
||||
"DISCOVER_PLUGINS_description": "Bu seçeneği devre dışı bırakmak, başlatma süresini ve ayarların kaydedilmesini hızlandırır. Devre dışı bırakıldığında, eklentiler keşfedilmez ve <code>LOADED_PLUGINS</code> ayarına yeni eklentiler eklenemez.",
|
||||
"DISCOVER_PLUGINS_name": "Eklentileri keşfet",
|
||||
"DevDetail_Copy_Device_Title": "Cihazdan detayları kopyala",
|
||||
"DevDetail_Copy_Device_Tooltip": "Aşağıdaki açılır listeden cihazın detaylarını kopyalayın. Bu sayfadaki her şey üzerine yazılacaktır",
|
||||
"DevDetail_CustomProperties_Title": "Özelleştirilmiş Özellikler",
|
||||
"DevDetail_CustomProps_reset_info": "Bu, bu cihazdaki özelleştirilmiş özelliklerinizi kaldıracak ve varsayılan değere sıfırlayacaktır.",
|
||||
"DevDetail_DisplayFields_Title": "Görüntüle",
|
||||
"DevDetail_EveandAl_AlertAllEvents": "Alarm Olayları",
|
||||
"DevDetail_EveandAl_AlertDown": "Alarm Düşüşü",
|
||||
"DevDetail_EveandAl_Archived": "Arşivlenmiş",
|
||||
"DevDetail_EveandAl_NewDevice": "Yeni Cihaz",
|
||||
"DevDetail_EveandAl_NewDevice_Tooltip": "",
|
||||
"DevDetail_EveandAl_RandomMAC": "",
|
||||
"DevDetail_EveandAl_ScanCycle": "",
|
||||
"DevDetail_EveandAl_ScanCycle_a": "",
|
||||
"DevDetail_EveandAl_ScanCycle_z": "",
|
||||
"DevDetail_EveandAl_Skip": "",
|
||||
"DevDetail_EveandAl_Title": "",
|
||||
"DevDetail_Events_CheckBox": "",
|
||||
"DevDetail_GoToNetworkNode": "",
|
||||
"DevDetail_Icon": "",
|
||||
"DevDetail_Icon_Descr": "",
|
||||
"DevDetail_EveandAl_NewDevice_Tooltip": "Cihaz için Yeni durumunu gösterecek ve Yeni Cihazlar filtresi aktif olduğunda listelere dahil edecektir. Bildirimleri etkilemez.",
|
||||
"DevDetail_EveandAl_RandomMAC": "Rastgele MAC",
|
||||
"DevDetail_EveandAl_ScanCycle": "Cihazı tara",
|
||||
"DevDetail_EveandAl_ScanCycle_a": "Cihaz Tarama",
|
||||
"DevDetail_EveandAl_ScanCycle_z": "Cihazı Sakın Etme",
|
||||
"DevDetail_EveandAl_Skip": "Tekrarlanan bildirimleri atla",
|
||||
"DevDetail_EveandAl_Title": "Bildirim konfigürasyonu",
|
||||
"DevDetail_Events_CheckBox": "Bağlantı Olaylarını Gizle",
|
||||
"DevDetail_GoToNetworkNode": "Verilen düğümün Ağ sayfasına gidin.",
|
||||
"DevDetail_Icon": "İkon",
|
||||
"DevDetail_Icon_Descr": "fa- öneki olmadan veya tam sınıfa sahip bir font awesome simge adı girin, örneğin: fa fa-brands fa-apple.",
|
||||
"DevDetail_Loading": "YÜkleniyor...",
|
||||
"DevDetail_MainInfo_Comments": "Yorumlar",
|
||||
"DevDetail_MainInfo_Favorite": "",
|
||||
"DevDetail_MainInfo_Favorite": "Favori",
|
||||
"DevDetail_MainInfo_Group": "Grup",
|
||||
"DevDetail_MainInfo_Location": "Konum",
|
||||
"DevDetail_MainInfo_Name": "İsim",
|
||||
"DevDetail_MainInfo_Network": "",
|
||||
"DevDetail_MainInfo_Network_Port": "",
|
||||
"DevDetail_MainInfo_Network_Site": "",
|
||||
"DevDetail_MainInfo_Network_Title": "",
|
||||
"DevDetail_MainInfo_Network": "<i class=\"fa fa-server\"></i> Makine (MAC)",
|
||||
"DevDetail_MainInfo_Network_Port": "<i class=\"fa fa-ethernet\"></i> Port",
|
||||
"DevDetail_MainInfo_Network_Site": "Alan",
|
||||
"DevDetail_MainInfo_Network_Title": "Network",
|
||||
"DevDetail_MainInfo_Owner": "Sahip",
|
||||
"DevDetail_MainInfo_SSID": "",
|
||||
"DevDetail_MainInfo_Title": "",
|
||||
"DevDetail_MainInfo_Type": "",
|
||||
"DevDetail_MainInfo_Vendor": "",
|
||||
"DevDetail_MainInfo_mac": "",
|
||||
"DevDetail_Network_Node_hover": "",
|
||||
"DevDetail_Network_Port_hover": "",
|
||||
"DevDetail_Nmap_Scans": "",
|
||||
"DevDetail_Nmap_Scans_desc": "",
|
||||
"DevDetail_Nmap_buttonDefault": "",
|
||||
"DevDetail_Nmap_buttonDefault_text": "",
|
||||
"DevDetail_MainInfo_SSID": "SSID",
|
||||
"DevDetail_MainInfo_Title": "Genel Bilgiler",
|
||||
"DevDetail_MainInfo_Type": "Tür",
|
||||
"DevDetail_MainInfo_Vendor": "Üretici",
|
||||
"DevDetail_MainInfo_mac": "MAC",
|
||||
"DevDetail_Network_Node_hover": "Cihazın bağlı olduğu üst ağ cihazını seçerek Ağ ağacının doldurulmasını sağlayın.",
|
||||
"DevDetail_Network_Port_hover": "Bu cihazın, üst ağ cihazı üzerindeki bağlı olduğu port. Boş bırakılırsa, Ağ ağacında bir Wi-Fi simgesi görüntülenir.",
|
||||
"DevDetail_Nmap_Scans": "Manuel Nmap Taramaları",
|
||||
"DevDetail_Nmap_Scans_desc": "Buradan manuel NMAP taramaları gerçekleştirebilirsiniz. Ayrıca, Services & Ports (NMAP) eklentisi aracılığıyla düzenli otomatik NMAP taramaları da planlayabilirsiniz. Daha fazla bilgi için <a href='/settings.php' target='_blank'>Ayarlar</a> sayfasına göz atın",
|
||||
"DevDetail_Nmap_buttonDefault": "Standart Tarama",
|
||||
"DevDetail_Nmap_buttonDefault_text": "Standart Tarama: Nmap, her bir protokol için en yaygın 1.000 portu tarayarak TCP’nin %93’ünü ve UDP’nin %49’unu tespit eder. (yaklaşık 5 saniyelik süreyle)",
|
||||
"DevDetail_Nmap_buttonDetail": "Detaylı Tarama",
|
||||
"DevDetail_Nmap_buttonDetail_text": "",
|
||||
"DevDetail_Nmap_buttonDetail_text": "Detaylı Tarama: Varsayılan taramaya ek olarak, OS tespiti, sürüm tespiti, betik taraması ve traceroute özellikleri etkinleştirilmiştir. (30 saniye veya daha uzun sürebilir)",
|
||||
"DevDetail_Nmap_buttonFast": "Hızlı Tarama",
|
||||
"DevDetail_Nmap_buttonFast_text": "",
|
||||
"DevDetail_Nmap_buttonSkipDiscovery": "",
|
||||
"DevDetail_Nmap_buttonSkipDiscovery_text": "",
|
||||
"DevDetail_Nmap_buttonFast_text": "Hızlı Tarama: Varsayılan taramadan daha az portu (100) tarar (birkaç saniye sürer)",
|
||||
"DevDetail_Nmap_buttonSkipDiscovery": "Ağ cihazı keşfini atla",
|
||||
"DevDetail_Nmap_buttonSkipDiscovery_text": "Ağ cihazı keşfini atla (-Pn seçeneği): Host keşfi yapılmadan varsayılan tarama",
|
||||
"DevDetail_Nmap_resultsLink": "Tarama başlattıktan sonra bu sayfadan çıkabilirsiniz. Sonuçlara <code>app_front.log</code> dosyasından da ulaşılabilir.",
|
||||
"DevDetail_Owner_hover": "",
|
||||
"DevDetail_Owner_hover": "Cihazın sahibi kimdir? Serbest metin kutusu.",
|
||||
"DevDetail_Periodselect_All": "Tüm Bilgi",
|
||||
"DevDetail_Periodselect_LastMonth": "Geçen Ay",
|
||||
"DevDetail_Periodselect_LastWeek": "Geçen Hafta",
|
||||
"DevDetail_Periodselect_LastYear": "Geçen Yıl",
|
||||
"DevDetail_Periodselect_today": "Bugün",
|
||||
"DevDetail_Run_Actions_Title": "<i class=\"fa fa-play\"></i>Komutu cihazda çalıştır",
|
||||
"DevDetail_Run_Actions_Tooltip": "",
|
||||
"DevDetail_Run_Actions_Tooltip": "Mevcut cihaz üzerinde açılır menüden bir işlem çalıştırın.",
|
||||
"DevDetail_SessionInfo_FirstSession": "İlk Oturum",
|
||||
"DevDetail_SessionInfo_LastIP": "Son IP",
|
||||
"DevDetail_SessionInfo_LastSession": "",
|
||||
"DevDetail_SessionInfo_StaticIP": "",
|
||||
"DevDetail_SessionInfo_LastSession": "Son Çevrimdışı",
|
||||
"DevDetail_SessionInfo_StaticIP": "Statik IP",
|
||||
"DevDetail_SessionInfo_Status": "Durum",
|
||||
"DevDetail_SessionInfo_Title": "Oturum Bİlgisi",
|
||||
"DevDetail_SessionTable_Additionalinfo": "Ek bilgi",
|
||||
"DevDetail_SessionTable_Connection": "Bağlantı",
|
||||
"DevDetail_SessionTable_Disconnection": "",
|
||||
"DevDetail_SessionTable_Disconnection": "Bağlantıyı Kes",
|
||||
"DevDetail_SessionTable_Duration": "Süre",
|
||||
"DevDetail_SessionTable_IP": "IP",
|
||||
"DevDetail_SessionTable_Order": "Sıra",
|
||||
"DevDetail_Shortcut_CurrentStatus": "Mevcut Durum",
|
||||
"DevDetail_Shortcut_DownAlerts": "",
|
||||
"DevDetail_Shortcut_Presence": "",
|
||||
"DevDetail_Shortcut_DownAlerts": "Kapalı Alarmlar",
|
||||
"DevDetail_Shortcut_Presence": "Mevcudiyet",
|
||||
"DevDetail_Shortcut_Sessions": "Oturumlar",
|
||||
"DevDetail_Tab_Details": "Detaylar",
|
||||
"DevDetail_Tab_Events": "",
|
||||
"DevDetail_Tab_Events": "Etkinlikler",
|
||||
"DevDetail_Tab_EventsTableDate": "Tarih",
|
||||
"DevDetail_Tab_EventsTableEvent": "",
|
||||
"DevDetail_Tab_EventsTableEvent": "Etkinlik Türü",
|
||||
"DevDetail_Tab_EventsTableIP": "IP",
|
||||
"DevDetail_Tab_EventsTableInfo": "Ek bilgi",
|
||||
"DevDetail_Tab_Nmap": "",
|
||||
"DevDetail_Tab_NmapEmpty": "",
|
||||
"DevDetail_Tab_Nmap": "<i class=\"fa fa-ethernet\"></i> Nmap",
|
||||
"DevDetail_Tab_NmapEmpty": "Bu cihazda Nmap ile herhangi bir port tespit edilmedi.",
|
||||
"DevDetail_Tab_NmapTableExtra": "Ekstra",
|
||||
"DevDetail_Tab_NmapTableHeader": "Planlanmış tarama sonuçları",
|
||||
"DevDetail_Tab_NmapTableIndex": "",
|
||||
"DevDetail_Tab_NmapTablePort": "",
|
||||
"DevDetail_Tab_NmapTableService": "",
|
||||
"DevDetail_Tab_NmapTableState": "",
|
||||
"DevDetail_Tab_NmapTableText": "",
|
||||
"DevDetail_Tab_NmapTableIndex": "İndeks",
|
||||
"DevDetail_Tab_NmapTablePort": "Port",
|
||||
"DevDetail_Tab_NmapTableService": "Servis",
|
||||
"DevDetail_Tab_NmapTableState": "Status",
|
||||
"DevDetail_Tab_NmapTableText": "Bir takvim oluşturun <a href=\"/settings.php#NMAP_ACTIVE\">Ayarlar</a> bölümünde",
|
||||
"DevDetail_Tab_NmapTableTime": "Zaman",
|
||||
"DevDetail_Tab_Plugins": "",
|
||||
"DevDetail_Tab_Presence": "",
|
||||
"DevDetail_Tab_Plugins": "Eklentiler",
|
||||
"DevDetail_Tab_Presence": "Mevcudiyet",
|
||||
"DevDetail_Tab_Sessions": "Oturumlar",
|
||||
"DevDetail_Tab_Tools": "",
|
||||
"DevDetail_Tab_Tools_Internet_Info_Description": "",
|
||||
"DevDetail_Tab_Tools": "Araçlar",
|
||||
"DevDetail_Tab_Tools_Internet_Info_Description": "İnternet Bilgisi aracı, IP adresi, şehir, ülke, alan kodu ve saat dilimi gibi internet bağlantısı hakkında bilgi görüntüler.",
|
||||
"DevDetail_Tab_Tools_Internet_Info_Error": "Bir hata oluştu",
|
||||
"DevDetail_Tab_Tools_Internet_Info_Start": "",
|
||||
"DevDetail_Tab_Tools_Internet_Info_Title": "",
|
||||
"DevDetail_Tab_Tools_Nslookup_Description": "",
|
||||
"DevDetail_Tab_Tools_Nslookup_Error": "Hata: Geçersiz IP adresi.",
|
||||
"DevDetail_Tab_Tools_Nslookup_Start": "",
|
||||
"DevDetail_Tab_Tools_Nslookup_Title": "",
|
||||
"DevDetail_Tab_Tools_Speedtest_Description": "",
|
||||
"DevDetail_Tab_Tools_Speedtest_Start": "",
|
||||
"DevDetail_Tab_Tools_Speedtest_Title": "",
|
||||
"DevDetail_Tab_Tools_Traceroute_Description": "",
|
||||
"DevDetail_Tab_Tools_Internet_Info_Start": "İnternet Bilgisi Başlat",
|
||||
"DevDetail_Tab_Tools_Internet_Info_Title": "İnternet Bilgisi",
|
||||
"DevDetail_Tab_Tools_Nslookup_Description": "Nslookup, Alan Adı Sistemi'ni (DNS) sorgulamak için kullanılan bir komut satırı aracıdır. DNS, www.google.com gibi alan adlarını, 172.217.0.142 gibi IP adreslerine çeviren bir sistemdir.",
|
||||
"DevDetail_Tab_Tools_Nslookup_Error": "Hata: Geçersiz IP adresi",
|
||||
"DevDetail_Tab_Tools_Nslookup_Start": "Nslookup Başlat",
|
||||
"DevDetail_Tab_Tools_Nslookup_Title": "Nslookup",
|
||||
"DevDetail_Tab_Tools_Speedtest_Description": "Speedtest aracı, internet bağlantısının indirme hızı, yükleme hızı ve gecikme süresini ölçer.",
|
||||
"DevDetail_Tab_Tools_Speedtest_Start": "Speedtest Başlat",
|
||||
"DevDetail_Tab_Tools_Speedtest_Title": "Çevrimiçi Speedtest",
|
||||
"DevDetail_Tab_Tools_Traceroute_Description": "Traceroute, veri paketlerinin bir host'tan diğerine gittiği yolu izlemek için kullanılan bir ağ tanılama komutudur.Bu komut, İnternet Kontrol Mesajı Protokolü (ICMP) kullanarak, rotadaki ara düğümlere paketler gönderir; her bir ara düğüm, ICMP zaman aşımı (TTL zaman aşımı) paketleri ile yanıt verir.Traceroute komutunun çıktısı, rotadaki her bir ara düğümün IP adresini görüntüler.Traceroute komutu, ağ sorunlarını teşhis etmek için kullanılabilir, örneğin gecikmeler, paket kaybı ve engellenmiş rotalar gibi.Ayrıca, bir ağdaki ara düğümün konumunu belirlemek için de kullanılabilir.",
|
||||
"DevDetail_Tab_Tools_Traceroute_Error": "Hata: Geçersiz IP adresi",
|
||||
"DevDetail_Tab_Tools_Traceroute_Start": "",
|
||||
"DevDetail_Tab_Tools_Traceroute_Title": "",
|
||||
"DevDetail_Tools_WOL": "",
|
||||
"DevDetail_Tools_WOL_noti": "",
|
||||
"DevDetail_Tools_WOL_noti_text": "",
|
||||
"DevDetail_Type_hover": "",
|
||||
"DevDetail_Vendor_hover": "",
|
||||
"DevDetail_WOL_Title": "",
|
||||
"DevDetail_Tab_Tools_Traceroute_Start": "Traceroute Başlat",
|
||||
"DevDetail_Tab_Tools_Traceroute_Title": "Traceroute",
|
||||
"DevDetail_Tools_WOL": "WoL komutunu gönder ",
|
||||
"DevDetail_Tools_WOL_noti": "Wake-on-LAN",
|
||||
"DevDetail_Tools_WOL_noti_text": "Wake-on-LAN komutu yayın adresine gönderilir. Eğer hedef, NetAlertX'in alt ağında/VLAN'ında değilse, hedef cihaz yanıt vermez.",
|
||||
"DevDetail_Type_hover": "Cihazın Türü. Eğer önceden tanımlanmış ağ cihazlarından herhangiini (örneğin: AP, Firewall, Router, Switch...) seçerseniz, bu cihazlar Ağ ağacı yapılandırmasında olası üst ağ düğümleri olarak görüntülenir.",
|
||||
"DevDetail_Vendor_hover": "Satıcı otomatik olarak tespit edilmelidir. Kendi özel değerini yazabilir veya üzerine yazabilirsiniz.",
|
||||
"DevDetail_WOL_Title": "<i class=\"fa fa-power-off\"></i> Wake-on-LAN",
|
||||
"DevDetail_button_AddIcon": "Yeni İkon Ekle",
|
||||
"DevDetail_button_AddIcon_Help": "",
|
||||
"DevDetail_button_AddIcon_Tooltip": "",
|
||||
"DevDetail_button_AddIcon_Help": "Bir SVG HTML etiketi veya Font Awesome HTML etiketi simgesi yapıştırın. Detaylar için <a href=\"https://github.com/jokob-sk/NetAlertX/blob/main/docs/ICONS.md\" target=\"_blank\">Simge dökümantasyonunu</a> okuyun.",
|
||||
"DevDetail_button_AddIcon_Tooltip": "Bu cihaza, açılır menüde henüz mevcut olmayan yeni bir simge ekleyin.",
|
||||
"DevDetail_button_Delete": "Cihazı Sil",
|
||||
"DevDetail_button_DeleteEvents": "",
|
||||
"DevDetail_button_DeleteEvents_Warning": "",
|
||||
"DevDetail_button_Delete_ask": "",
|
||||
"DevDetail_button_OverwriteIcons": "",
|
||||
"DevDetail_button_OverwriteIcons_Tooltip": "",
|
||||
"DevDetail_button_OverwriteIcons_Warning": "",
|
||||
"DevDetail_button_DeleteEvents": "Etkinlikleri Sil",
|
||||
"DevDetail_button_DeleteEvents_Warning": "Bu cihazın tüm Etkinliklerini silmek istediğinizden emin misiniz?<br><br>(Bu işlem, <b>Etkinlik geçmişi</b> ve <b>Oturumları</b> temizler, ayrıca sürekli (kalıcı) bildirimlerin giderilmesine yardımcı olabilir.)",
|
||||
"DevDetail_button_Delete_ask": "Bu cihazı silmek istediğinizden emin misiniz? Bunun yerine arşivlemeyi de seçebilirsiniz.",
|
||||
"DevDetail_button_OverwriteIcons": "Simgeleri Üzerine Yaz",
|
||||
"DevDetail_button_OverwriteIcons_Tooltip": "Aynı cihaz türüne sahip tüm cihazların simgelerini üzerine yazın",
|
||||
"DevDetail_button_OverwriteIcons_Warning": "Mevcut cihaz türüyle aynı cihaz türüne sahip tüm cihazların simgelerini üzerine yazmak istediğinizden emin misiniz?",
|
||||
"DevDetail_button_Reset": "Değişiklikleri Sıfırla",
|
||||
"DevDetail_button_Save": "Kaydet",
|
||||
"DeviceEdit_ValidMacIp": "",
|
||||
"Device_MultiEdit": "",
|
||||
"Device_MultiEdit_Backup": "",
|
||||
"Device_MultiEdit_Fields": "",
|
||||
"DeviceEdit_ValidMacIp": "Geçerli bir <b>Mac</b> ve <b>IP</b> adresi girin.",
|
||||
"Device_MultiEdit": "Çoklu Düzenleme",
|
||||
"Device_MultiEdit_Backup": "Dikkat, aşağıya yanlış değerler girmeniz yapılandırmanızı bozabilir. Lütfen önce veritabanınızı veya Cihazlar yapılandırmanızı yedekleyin (<a href=\"php/server/devices.php?action=ExportCSV\">İndirmeniz için tıklayın <i class=\"fa-solid fa-download fa-bounce\"></i></a>). Bu dosyadan Cihazları nasıl geri yükleyeceğinizi öğrenmek için <a href=\"https://github.com/jokob-sk/NetAlertX/blob/main/docs/BACKUPS.md#scenario-2-corrupted-database\" target=\"_blank\">Yedekleme dökümantasyonunu</a> okuyun.",
|
||||
"Device_MultiEdit_Fields": "Alanları Düzenle:",
|
||||
"Device_MultiEdit_MassActions": "Toplu komutlar:",
|
||||
"Device_MultiEdit_Tooltip": "",
|
||||
"Device_Searchbox": "",
|
||||
"Device_MultiEdit_Tooltip": "Dikkat. Buna tıklamak, soldaki değeri yukarıda seçilen tüm cihazlara uygulayacaktır.",
|
||||
"Device_Searchbox": "Arama",
|
||||
"Device_Shortcut_AllDevices": "Cihazlarım",
|
||||
"Device_Shortcut_Archived": "",
|
||||
"Device_Shortcut_Archived": "Arşivlenmiş",
|
||||
"Device_Shortcut_Connected": "Bağlandı",
|
||||
"Device_Shortcut_Devices": "Cihazlar",
|
||||
"Device_Shortcut_DownAlerts": "",
|
||||
"Device_Shortcut_DownOnly": "",
|
||||
"Device_Shortcut_DownAlerts": "Çalışmıyor & Çevrimdışı",
|
||||
"Device_Shortcut_DownOnly": "Çalışmıyor",
|
||||
"Device_Shortcut_Favorites": "Favoriler",
|
||||
"Device_Shortcut_NewDevices": "Yeni Cİhazlar",
|
||||
"Device_Shortcut_OnlineChart": "",
|
||||
"Device_TableHead_AlertDown": "",
|
||||
"Device_Shortcut_OnlineChart": "Cihaz Durumu",
|
||||
"Device_TableHead_AlertDown": "Çalışmama Alarmı",
|
||||
"Device_TableHead_Connected_Devices": "Bağlantılar",
|
||||
"Device_TableHead_CustomProps": "",
|
||||
"Device_TableHead_Favorite": "",
|
||||
"Device_TableHead_CustomProps": "Özellikler / Eylemler",
|
||||
"Device_TableHead_FQDN": "",
|
||||
"Device_TableHead_Favorite": "Favori",
|
||||
"Device_TableHead_FirstSession": "İlk Oturum",
|
||||
"Device_TableHead_GUID": "",
|
||||
"Device_TableHead_GUID": "GUID",
|
||||
"Device_TableHead_Group": "Grup",
|
||||
"Device_TableHead_Icon": "",
|
||||
"Device_TableHead_LastIP": "",
|
||||
"Device_TableHead_LastIPOrder": "",
|
||||
"Device_TableHead_LastSession": "",
|
||||
"Device_TableHead_Icon": "İkon",
|
||||
"Device_TableHead_LastIP": "Son IP",
|
||||
"Device_TableHead_LastIPOrder": "Son IP Sırası",
|
||||
"Device_TableHead_LastSession": "Son Çevrimdışı Zamanı",
|
||||
"Device_TableHead_Location": "Konum",
|
||||
"Device_TableHead_MAC": "",
|
||||
"Device_TableHead_MAC_full": "",
|
||||
"Device_TableHead_MAC": "Rastgele MAC",
|
||||
"Device_TableHead_MAC_full": "Tam MAC",
|
||||
"Device_TableHead_Name": "İsim",
|
||||
"Device_TableHead_NetworkSite": "",
|
||||
"Device_TableHead_Owner": "",
|
||||
"Device_TableHead_Parent_MAC": "",
|
||||
"Device_TableHead_Port": "",
|
||||
"Device_TableHead_PresentLastScan": "",
|
||||
"Device_TableHead_RowID": "",
|
||||
"Device_TableHead_Rowid": "",
|
||||
"Device_TableHead_SSID": "",
|
||||
"Device_TableHead_SourcePlugin": "",
|
||||
"Device_TableHead_NetworkSite": "Ağ Alanı",
|
||||
"Device_TableHead_Owner": "Kurucu",
|
||||
"Device_TableHead_Parent_MAC": "Üst ağ düğümü",
|
||||
"Device_TableHead_Port": "Port",
|
||||
"Device_TableHead_PresentLastScan": "Varlık",
|
||||
"Device_TableHead_RowID": "Satır ID",
|
||||
"Device_TableHead_Rowid": "Satır ID",
|
||||
"Device_TableHead_SSID": "SSID",
|
||||
"Device_TableHead_SourcePlugin": "Kaynak Eklentisi Modülü",
|
||||
"Device_TableHead_Status": "Durum",
|
||||
"Device_TableHead_SyncHubNodeName": "",
|
||||
"Device_TableHead_Type": "",
|
||||
"Device_TableHead_Vendor": "",
|
||||
"Device_TableHead_SyncHubNodeName": "Senkronizasyon Node",
|
||||
"Device_TableHead_Type": "Tür",
|
||||
"Device_TableHead_Vendor": "Üretici",
|
||||
"Device_Table_Not_Network_Device": "Ağ cihazı olarak ayarlanmadı",
|
||||
"Device_Table_info": "",
|
||||
"Device_Table_info": "Showing _START_ to _END_ of _TOTAL_ entries",
|
||||
"Device_Table_nav_next": "Sonraki",
|
||||
"Device_Table_nav_prev": "Önceki",
|
||||
"Device_Tablelenght": "",
|
||||
"Device_Tablelenght_all": "",
|
||||
"Device_Tablelenght": "Show _MENU_ entries",
|
||||
"Device_Tablelenght_all": "Hepsi",
|
||||
"Device_Title": "Cihazlar",
|
||||
"Devices_Filters": "",
|
||||
"ENABLE_PLUGINS_description": "",
|
||||
"ENABLE_PLUGINS_name": "",
|
||||
"ENCRYPTION_KEY_description": "",
|
||||
"ENCRYPTION_KEY_name": "",
|
||||
"Devices_Filters": "Filtreler",
|
||||
"ENABLE_PLUGINS_description": "<a target=\"_blank\" href=\"https://github.com/jokob-sk/NetAlertX/tree/main/docs/PLUGINS.md\">Eklentiler</a> işlevini etkinleştirir. Eklentilerin yüklenmesi daha fazla donanım kaynağı gerektirir, bu nedenle düşük güçteki sistemlerde devre dışı bırakmak isteyebilirsiniz.",
|
||||
"ENABLE_PLUGINS_name": "Eklentileri Etkinleştir",
|
||||
"ENCRYPTION_KEY_description": "Veri encryption şifresi.",
|
||||
"ENCRYPTION_KEY_name": "Encryption şifresi",
|
||||
"Email_display_name": "Eposta",
|
||||
"Email_icon": "<i class=\"fa fa-at\"></i>",
|
||||
"Events_Loading": "Yükleniyor...",
|
||||
"Events_Periodselect_All": "",
|
||||
"Events_Periodselect_All": "Tüm Bilgiler",
|
||||
"Events_Periodselect_LastMonth": "Geçen Ay",
|
||||
"Events_Periodselect_LastWeek": "Geçen Hafta",
|
||||
"Events_Periodselect_LastYear": "Geçen Yıl",
|
||||
"Events_Periodselect_today": "Bugün",
|
||||
"Events_Searchbox": "",
|
||||
"Events_Shortcut_AllEvents": "",
|
||||
"Events_Shortcut_DownAlerts": "",
|
||||
"Events_Shortcut_Events": "",
|
||||
"Events_Shortcut_MissSessions": "",
|
||||
"Events_Searchbox": "Arama",
|
||||
"Events_Shortcut_AllEvents": "Tüm Olaylar",
|
||||
"Events_Shortcut_DownAlerts": "Kapanma Alarmı",
|
||||
"Events_Shortcut_Events": "Olaylar",
|
||||
"Events_Shortcut_MissSessions": "Eksik Oturumlar",
|
||||
"Events_Shortcut_NewDevices": "Yeni Cİhazlar",
|
||||
"Events_Shortcut_Sessions": "Oturumlar",
|
||||
"Events_Shortcut_VoidSessions": "",
|
||||
"Events_Shortcut_VoidSessions": "Geçersiz Oturumlar",
|
||||
"Events_TableHead_AdditionalInfo": "Ek Bilgi",
|
||||
"Events_TableHead_Connection": "Bağlantı",
|
||||
"Events_TableHead_Date": "Tarih",
|
||||
"Events_TableHead_Device": "Cihaz",
|
||||
"Events_TableHead_Disconnection": "",
|
||||
"Events_TableHead_Disconnection": "Bağlantı Kesildi",
|
||||
"Events_TableHead_Duration": "Süre",
|
||||
"Events_TableHead_DurationOrder": "",
|
||||
"Events_TableHead_EventType": "",
|
||||
"Events_TableHead_IP": "",
|
||||
"Events_TableHead_IPOrder": "",
|
||||
"Events_TableHead_DurationOrder": "Süre Düzeni",
|
||||
"Events_TableHead_EventType": "Olay Türü",
|
||||
"Events_TableHead_IP": "IP",
|
||||
"Events_TableHead_IPOrder": "IP Sırası",
|
||||
"Events_TableHead_Order": "Sıra",
|
||||
"Events_TableHead_Owner": "",
|
||||
"Events_TableHead_PendingAlert": "",
|
||||
"Events_Table_info": "",
|
||||
"Events_Table_nav_next": "",
|
||||
"Events_TableHead_Owner": "Kurucu",
|
||||
"Events_TableHead_PendingAlert": "Bekleyen Alarm",
|
||||
"Events_Table_info": "Showing _START_ to _END_ of _TOTAL_ entries",
|
||||
"Events_Table_nav_next": "Sonraki",
|
||||
"Events_Table_nav_prev": "Önceki",
|
||||
"Events_Tablelenght": "",
|
||||
"Events_Tablelenght_all": "",
|
||||
"Events_Title": "",
|
||||
"GRAPHQL_PORT_description": "",
|
||||
"GRAPHQL_PORT_name": "",
|
||||
"Events_Tablelenght": "Show _MENU_ entries",
|
||||
"Events_Tablelenght_all": "Hepsi",
|
||||
"Events_Title": "Olaylar",
|
||||
"GRAPHQL_PORT_description": "GraphQL sunucusunun port numarası. Portun, bu anahtardaki tüm uygulamalar ve NetAlertX örnekleri arasında benzersiz olduğundan emin olun.",
|
||||
"GRAPHQL_PORT_name": "GraphQL port",
|
||||
"Gen_Action": "Komut",
|
||||
"Gen_Add": "Ekle",
|
||||
"Gen_AddDevice": "",
|
||||
"Gen_AddDevice": "Cihaz Ekle",
|
||||
"Gen_Add_All": "Tümünü ekle",
|
||||
"Gen_All_Devices": "Tüm Cihazlar",
|
||||
"Gen_AreYouSure": "Emin misiniz?",
|
||||
"Gen_Backup": "",
|
||||
"Gen_Backup": "Yedeklemeyi Çalıştır",
|
||||
"Gen_Cancel": "İptal",
|
||||
"Gen_Change": "",
|
||||
"Gen_Change": "Değiştir",
|
||||
"Gen_Copy": "Çalıştır",
|
||||
"Gen_DataUpdatedUITakesTime": "TAMAM - Eğer bir tarama çalışıyorsa arayüzün güncellenmesi biraz zaman alabilir",
|
||||
"Gen_DataUpdatedUITakesTime": "TAMAM - Eğer bir tarama çalışıyorsa arayüzün güncellenmesi biraz zaman alabilir.",
|
||||
"Gen_Delete": "Sil",
|
||||
"Gen_DeleteAll": "Tümünü sil",
|
||||
"Gen_Description": "",
|
||||
"Gen_Description": "Açıklama",
|
||||
"Gen_Error": "Hata",
|
||||
"Gen_Filter": "Filtre",
|
||||
"Gen_Generate": "",
|
||||
"Gen_LockedDB": "",
|
||||
"Gen_Generate": "Oluştur",
|
||||
"Gen_LockedDB": "HATA - Veritabanı kilitlenmiş olabilir - F12 Geliştirici araçlarını -> Konsol kısmını kontrol edin veya daha sonra tekrar deneyin.",
|
||||
"Gen_Offline": "Çevrimdışı",
|
||||
"Gen_Okay": "Tamam",
|
||||
"Gen_Online": "",
|
||||
"Gen_Online": "Çevrimiçi",
|
||||
"Gen_Purge": "Çıkar",
|
||||
"Gen_ReadDocs": "",
|
||||
"Gen_ReadDocs": "Dokümanlarda daha fazla bilgiye ulaşın.",
|
||||
"Gen_Remove_All": "Tümünü kaldır",
|
||||
"Gen_Remove_Last": "",
|
||||
"Gen_Reset": "",
|
||||
"Gen_Restore": "",
|
||||
"Gen_Remove_Last": "Sonuncuyu Kaldır",
|
||||
"Gen_Reset": "Sıfırla",
|
||||
"Gen_Restore": "Geri Yükleme Yap",
|
||||
"Gen_Run": "Çalıştır",
|
||||
"Gen_Save": "Kaydet",
|
||||
"Gen_Saved": "Kaydedildi",
|
||||
"Gen_Search": "",
|
||||
"Gen_Select": "",
|
||||
"Gen_SelectIcon": "",
|
||||
"Gen_SelectToPreview": "",
|
||||
"Gen_Search": "Arama",
|
||||
"Gen_Select": "Seç",
|
||||
"Gen_SelectIcon": "<i class=\"fa-solid fa-chevron-down fa-fade\"></i>",
|
||||
"Gen_SelectToPreview": "Önizleme yapmak için seçin",
|
||||
"Gen_Selected_Devices": "Seçilmiş Cihazlar:",
|
||||
"Gen_Switch": "",
|
||||
"Gen_Switch": "Switch",
|
||||
"Gen_Upd": "Başarılı bir şekilde güncellendi",
|
||||
"Gen_Upd_Fail": "",
|
||||
"Gen_Update": "",
|
||||
"Gen_Update_Value": "",
|
||||
"Gen_ValidIcon": "",
|
||||
"Gen_Upd_Fail": "Güncelleme işlemi başarısız oldu",
|
||||
"Gen_Update": "Güncelleme",
|
||||
"Gen_Update_Value": "Değeri Güncelle",
|
||||
"Gen_ValidIcon": "<i class=\"fa-solid fa-chevron-right \"></i>",
|
||||
"Gen_Warning": "Uyarı",
|
||||
"Gen_Work_In_Progress": "",
|
||||
"Gen_create_new_device": "",
|
||||
"Gen_create_new_device_info": "",
|
||||
"Gen_Work_In_Progress": "Çalışma devam ediyor, geri bildirimde bulunmak için iyi bir zaman: https://github.com/jokob-sk/NetAlertX/issues",
|
||||
"Gen_create_new_device": "Yeni cihaz",
|
||||
"Gen_create_new_device_info": "Cihazlar genellikle <a target=\"_blank\" href=\"https://github.com/jokob-sk/NetAlertX/tree/main/docs/PLUGINS.md\">eklentiler</a> kullanılarak keşfedilir. Ancak, bazı durumlarda cihazları manuel olarak eklemeniz gerekebilir. Belirli senaryoları incelemek için <a target=\"_blank\" href=\"https://github.com/jokob-sk/NetAlertX/blob/main/docs/REMOTE_NETWORKS.md\">Uzak Ağlar belgelerini</a> kontrol edin.",
|
||||
"General_display_name": "Genel",
|
||||
"General_icon": "<i class=\"fa fa-gears\"></i>",
|
||||
"HRS_TO_KEEP_NEWDEV_description": "",
|
||||
"HRS_TO_KEEP_NEWDEV_name": "",
|
||||
"HRS_TO_KEEP_OFFDEV_description": "",
|
||||
"HRS_TO_KEEP_OFFDEV_name": "",
|
||||
"LOADED_PLUGINS_description": "",
|
||||
"LOADED_PLUGINS_name": "",
|
||||
"LOG_LEVEL_description": "",
|
||||
"LOG_LEVEL_name": "",
|
||||
"HRS_TO_KEEP_NEWDEV_description": "Bu bir bakım ayarıdır <b>Cihazları SİLME</b>. Etkinleştirildiğinde (<code>0</code> devre dışıdır), <b>Yeni Cihaz</b> olarak işaretlenen cihazlar, <b>İlk Oturum</b> zamanı belirtilen saatten daha eskiyse silinecektir. Bu ayarı, <code>X</code> saat sonra <b>Yeni Cihazlar</b>ı otomatik olarak silmek için kullanabilirsiniz.",
|
||||
"HRS_TO_KEEP_NEWDEV_name": "Yeni Cihazları Silmeden Önce",
|
||||
"HRS_TO_KEEP_OFFDEV_description": "Bu bir bakım ayarıdır <b>Cihazları SİLME</b>. Etkinleştirildiğinde (<code>0</code> devre dışıdır), <b>Çevrimdışı</b> olan ve <b>Son Çevrimdışı</b> tarihi belirtilen saatten daha eski olan cihazlar silinecektir. Bu ayarı, <code>X</code> saat çevrimdışı olduktan sonra <b>Çevrimdışı Cihazlar</b>ı otomatik olarak silmek için kullanabilirsiniz.",
|
||||
"HRS_TO_KEEP_OFFDEV_name": "Çevrimdışı Cihazları Silmeden Önce",
|
||||
"LOADED_PLUGINS_description": "Hangi Eklentilerin Yükleneceği. Eklenti eklemek, uygulamanın hızını yavaşlatabilir. Hangi eklentilerin etkinleştirilmesi gerektiği, türler veya tarama seçenekleri hakkında daha fazla bilgi için <a target=\"_blank\" href=\"https://github.com/jokob-sk/NetAlertX/tree/main/docs/PLUGINS.md\">eklentiler belgelerini</a> okuyun. Yüklenmeyen eklentiler, ayarlarınızı kaybedecektir. Sadece <code>devre dışı bırakılmış</code> eklentiler yüklenebilir.",
|
||||
"LOADED_PLUGINS_name": "Yüklenen Eklentiler",
|
||||
"LOG_LEVEL_description": "Bu ayar, daha ayrıntılı günlüklemeyi etkinleştirecektir. Veritabanına yazılan olayları hata ayıklamak için faydalıdır.",
|
||||
"LOG_LEVEL_name": "Ekstra günlükleme yazdır",
|
||||
"Loading": "Yükleniyor...",
|
||||
"Login_Box": "Şifrenizi giriniz",
|
||||
"Login_Default_PWD": "Varsayılan şifre \"123456\" hâlâ aktif.",
|
||||
"Login_Info": "",
|
||||
"Login_Info": "Parolalar, Set Password eklentisi aracılığıyla ayarlanır. Giriş yapmakta sorun yaşıyorsanız, <a target=\"_blank\" href=\"https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/set_password\">SETPWD belgelerini</a> kontrol edin.",
|
||||
"Login_Psw-box": "Şİfre",
|
||||
"Login_Psw_alert": "",
|
||||
"Login_Psw_folder": "",
|
||||
"Login_Psw_alert": "Parola Uyarısı!",
|
||||
"Login_Psw_folder": "Konfigürasyon klasöründe.",
|
||||
"Login_Psw_new": "yeni_sifre",
|
||||
"Login_Psw_run": "",
|
||||
"Login_Psw_run": "Şifreyi değiştirmek için şu komutu çalıştırın:",
|
||||
"Login_Remember": "Hatırla",
|
||||
"Login_Remember_small": "(7 gün geçerli)",
|
||||
"Login_Submit": "Oturum aç",
|
||||
"Login_Toggle_Alert_headline": "",
|
||||
"Login_Toggle_Info": "",
|
||||
"Login_Toggle_Info_headline": "",
|
||||
"Maint_PurgeLog": "",
|
||||
"Maint_RestartServer": "",
|
||||
"Maint_Restart_Server_noti_text": "",
|
||||
"Login_Toggle_Alert_headline": "Şifre Uyarısı!",
|
||||
"Login_Toggle_Info": "Şifre Bilgisi",
|
||||
"Login_Toggle_Info_headline": "Şifre Bilgisi",
|
||||
"Maint_PurgeLog": "Kayıtları Sil",
|
||||
"Maint_RestartServer": "Sunucuyu Yeniden Başlat",
|
||||
"Maint_Restart_Server_noti_text": "Arka uç sunucusunu yeniden başlatmak istediğinizden emin misiniz? Bu, uygulama tutarsızlıklarına yol açabilir. Önce yapılandırmanızı yedekleyin. <br/> <br/> Not: Bu işlem birkaç dakika sürebilir.",
|
||||
"Maintenance_InitCheck": "",
|
||||
"Maintenance_InitCheck_Checking": "",
|
||||
"Maintenance_InitCheck_QuickSetupGuide": "",
|
||||
"Maintenance_InitCheck_Success": "",
|
||||
"Maintenance_ReCheck": "",
|
||||
"Maintenance_Running_Version": "Yüklenmiş sürüm",
|
||||
"Maintenance_Status": "Durum",
|
||||
"Maintenance_Title": "",
|
||||
"Maintenance_Tool_DownloadConfig": "",
|
||||
"Maintenance_Tool_DownloadConfig_text": "",
|
||||
"Maintenance_Tool_DownloadWorkflows": "",
|
||||
"Maintenance_Tool_DownloadWorkflows_text": "",
|
||||
"Maintenance_Tool_ExportCSV": "",
|
||||
"Maintenance_Tool_ExportCSV_noti": "",
|
||||
"Maintenance_Title": "Bakım Araçları",
|
||||
"Maintenance_Tool_DownloadConfig": "Ayarları Dışa Aktar",
|
||||
"Maintenance_Tool_DownloadConfig_text": "<code>app.conf</code> dosyasında saklanan Ayar yapılandırmanızın tam yedeğini indirin.",
|
||||
"Maintenance_Tool_DownloadWorkflows": "İş Akışlarını Dışa Aktar",
|
||||
"Maintenance_Tool_DownloadWorkflows_text": "<code>workflows.json</code> dosyasında saklanan İş Akışlarınızın tam yedeğini indirin.",
|
||||
"Maintenance_Tool_ExportCSV": "Cihazları Dışa Aktar (csv)",
|
||||
"Maintenance_Tool_ExportCSV_noti": "Cihazları Dışa Aktar (csv)",
|
||||
"Maintenance_Tool_ExportCSV_noti_text": "Bir CSV dosyası oluşturmak istediğinize emin misiniz?",
|
||||
"Maintenance_Tool_ExportCSV_text": "",
|
||||
"Maintenance_Tool_ImportCSV": "",
|
||||
"Maintenance_Tool_ImportCSV_noti": "",
|
||||
"Maintenance_Tool_ImportCSV_noti_text": "",
|
||||
"Maintenance_Tool_ImportCSV_text": "",
|
||||
"Maintenance_Tool_ImportConfig_noti": "",
|
||||
"Maintenance_Tool_ImportPastedCSV": "",
|
||||
"Maintenance_Tool_ImportPastedCSV_noti_text": "",
|
||||
"Maintenance_Tool_ImportPastedCSV_text": "",
|
||||
"Maintenance_Tool_ImportPastedConfig": "",
|
||||
"Maintenance_Tool_ImportPastedConfig_noti_text": "",
|
||||
"Maintenance_Tool_ImportPastedConfig_text": "",
|
||||
"Maintenance_Tool_arpscansw": "",
|
||||
"Maintenance_Tool_arpscansw_noti": "",
|
||||
"Maintenance_Tool_arpscansw_noti_text": "",
|
||||
"Maintenance_Tool_arpscansw_text": "",
|
||||
"Maintenance_Tool_backup": "",
|
||||
"Maintenance_Tool_backup_noti": "",
|
||||
"Maintenance_Tool_backup_noti_text": "",
|
||||
"Maintenance_Tool_backup_text": "",
|
||||
"Maintenance_Tool_check_visible": "",
|
||||
"Maintenance_Tool_darkmode": "",
|
||||
"Maintenance_Tool_darkmode_noti": "",
|
||||
"Maintenance_Tool_darkmode_noti_text": "",
|
||||
"Maintenance_Tool_darkmode_text": "",
|
||||
"Maintenance_Tool_del_ActHistory": "",
|
||||
"Maintenance_Tool_del_ActHistory_noti": "",
|
||||
"Maintenance_Tool_del_ActHistory_noti_text": "",
|
||||
"Maintenance_Tool_del_ActHistory_text": "",
|
||||
"Maintenance_Tool_ExportCSV_text": "Ağa bağlı cihazlar ve Ağ Düğümleri arasındaki ağ ilişkilerini içeren Cihazlar listesini içeren bir CSV (virgülle ayrılmış değerler) dosyası oluşturun. Bunu ayrıca şu URL'yi ziyaret ederek tetikleyebilirsiniz: <code>your_NetAlertX_url/php/server/devices.php?action=ExportCSV</code> veya <a href=\"settings.php#CSVBCKP_header\">CSV Yedekleme</a> eklentisini etkinleştirerek de yapabilirsiniz.",
|
||||
"Maintenance_Tool_ImportCSV": "Cihazları İçe Aktar (csv)",
|
||||
"Maintenance_Tool_ImportCSV_noti": "Cihazları İçe Aktar (csv)",
|
||||
"Maintenance_Tool_ImportCSV_noti_text": "CSV dosyasını içe aktarmak istediğinizden emin misiniz? Bu işlem, veritabanınızdaki cihazları tamamen <b>üstünede yazar</b> olacaktır.",
|
||||
"Maintenance_Tool_ImportCSV_text": "Bu fonksiyonu kullanmadan önce lütfen bir yedek alın. Ağa bağlı cihazlar ve Ağ Düğümleri arasındaki ağ ilişkilerini içeren Cihazlar listesini içeren bir CSV (virgülle ayrılmış değerler) dosyasını içe aktarın. Bunu yapmak için <b>devices.csv</b> adıyla CSV dosyasını <b>/config</b> klasörüne yerleştirin.",
|
||||
"Maintenance_Tool_ImportConfig_noti": "Ayarları İçe Aktar (app.conf)",
|
||||
"Maintenance_Tool_ImportPastedCSV": "Cihazları İçe Aktar (csv) (Yapıştırarak)",
|
||||
"Maintenance_Tool_ImportPastedCSV_noti_text": "Yapıştırılan CSV'yi içe aktarmak istediğinizden emin misiniz? Bu işlem, veritabanınızdaki cihazları tamamen <b>üstünede yazar</b> olacaktır.",
|
||||
"Maintenance_Tool_ImportPastedCSV_text": "Bu işlevi kullanmadan önce lütfen bir yedekleme yapın. Ağ Düğümleri ve bağlı cihazlar arasındaki Ağ ilişkileri de dahil olmak üzere Cihazların listesini içeren bir CSV (virgülle ayrılmış değer) dosyasını içe aktarın.",
|
||||
"Maintenance_Tool_ImportPastedConfig": "Ayarları İçe Aktar (yapıştır)",
|
||||
"Maintenance_Tool_ImportPastedConfig_noti_text": "Yapıştırılan yapılandırma ayarlarını içe aktarmak istediğinizden emin misiniz? Bu tamamen olacak <b>Üzerine</b> bu <code>app.conf</code> dosya.",
|
||||
"Maintenance_Tool_ImportPastedConfig_text": "İçe aktarır <code>app.conf</code> tüm uygulama Ayarlarını içeren dosya. Güncel olanı indirmek isteyebilirsiniz. <code>app.conf</code> Önce dosya ile <b>Ayarlar Dışa Aktarma</b>.",
|
||||
"Maintenance_Tool_arpscansw": "arp-Scan arasında geçiş yapın (açık/kapalı)",
|
||||
"Maintenance_Tool_arpscansw_noti": "arp-Scan'i açma veya kapatma",
|
||||
"Maintenance_Tool_arpscansw_noti_text": "Tarama kapatıldığında, tekrar etkinleştirilene kadar kapalı kalır.",
|
||||
"Maintenance_Tool_arpscansw_text": "Arp taramasını açma veya kapatma. Tarama kapatıldığında, tekrar etkinleştirilene kadar kapalı kalır. Etkin taramalar iptal edilmez.",
|
||||
"Maintenance_Tool_backup": "Veritabanı Yedekleme",
|
||||
"Maintenance_Tool_backup_noti": "Veritabanı Yedekleme",
|
||||
"Maintenance_Tool_backup_noti_text": "DB Yedeklemesini yürütmek istediğinizden emin misiniz? Şu anda hiçbir taramanın çalışmadığından emin olun.",
|
||||
"Maintenance_Tool_backup_text": "Veritabanı yedekleri, veritabanı dizininde, oluşturulma tarihiyle adlandırılan bir zip arşivi olarak bulunur. Maksimum yedekleme sayısı yoktur.",
|
||||
"Maintenance_Tool_check_visible": "Sütunu gizlemek için işareti kaldırın.",
|
||||
"Maintenance_Tool_darkmode": "Modları Değiştir (Koyu/Açık)",
|
||||
"Maintenance_Tool_darkmode_noti": "Modları Aç/Kapat",
|
||||
"Maintenance_Tool_darkmode_noti_text": "Tema geçişinden sonra sayfa, değişikliği etkinleştirmek için kendini yeniden yüklemeye çalışır. Gerekirse, önbellek temizlenmelidir.",
|
||||
"Maintenance_Tool_darkmode_text": "Karanlık mod ve aydınlık mod arasında geçiş yapın. Anahtar düzgün çalışmıyorsa, tarayıcı önbelleğini temizlemeyi deneyin. Değişiklik sunucu tarafında gerçekleşir, bu nedenle kullanımdaki tüm cihazları etkiler.",
|
||||
"Maintenance_Tool_del_ActHistory": "Ağ etkinliğini silme",
|
||||
"Maintenance_Tool_del_ActHistory_noti": "Ağ etkinliğini sil",
|
||||
"Maintenance_Tool_del_ActHistory_noti_text": "Ağ etkinliğini sıfırlamak istediğinizden emin misiniz?",
|
||||
"Maintenance_Tool_del_ActHistory_text": "Ağ etkinliği grafiği sıfırlanır. Bu olayları etkilemez.",
|
||||
"Maintenance_Tool_del_alldev": "Tüm Cihazları Sil",
|
||||
"Maintenance_Tool_del_alldev_noti": "",
|
||||
"Maintenance_Tool_del_alldev_noti": "Silinmiş Cihazlar",
|
||||
"Maintenance_Tool_del_alldev_noti_text": "Tüm cihazları silmek istediğinize emin misiniz?",
|
||||
"Maintenance_Tool_del_alldev_text": "",
|
||||
"Maintenance_Tool_del_allevents": "",
|
||||
"Maintenance_Tool_del_allevents30": "",
|
||||
"Maintenance_Tool_del_allevents30_noti": "",
|
||||
"Maintenance_Tool_del_allevents30_noti_text": "",
|
||||
"Maintenance_Tool_del_allevents30_text": "",
|
||||
"Maintenance_Tool_del_allevents_noti": "",
|
||||
"Maintenance_Tool_del_allevents_noti_text": "",
|
||||
"Maintenance_Tool_del_allevents_text": "",
|
||||
"Maintenance_Tool_del_empty_macs": "",
|
||||
"Maintenance_Tool_del_alldev_text": "Bu işlevi kullanmadan önce lütfen bir yedekleme yapın. Silme işlemi geri alınamaz. Tüm cihazlar veritabanından silinecektir.",
|
||||
"Maintenance_Tool_del_allevents": "Olayları Sil (Varlığı Sıfırla)",
|
||||
"Maintenance_Tool_del_allevents30": "30 günden eski tüm Etkinlikleri sil",
|
||||
"Maintenance_Tool_del_allevents30_noti": "Etkinlikleri Sil",
|
||||
"Maintenance_Tool_del_allevents30_noti_text": "30 günden eski tüm Etkinlikleri silmek istediğinizden emin misiniz? Bu, tüm Cihazların Varlığını sıfırlar.",
|
||||
"Maintenance_Tool_del_allevents30_text": "Bu işlevi kullanmadan önce lütfen bir yedekleme yapın. Silme işlemi geri alınamaz. Veritabanında 30 günden daha eski olan tüm olaylar silinecektir. O anda tüm cihazların varlığı sıfırlanacaktır. Bu, geçersiz oturumlara yol açabilir. Bu, cihazların çevrimdışı olmalarına rağmen \"mevcut\" olarak görüntülendiği anlamına gelir. Söz konusu cihaz çevrimiçiyken yapılan bir tarama sorunu çözer.",
|
||||
"Maintenance_Tool_del_allevents_noti": "Etkinlikleri Sil",
|
||||
"Maintenance_Tool_del_allevents_noti_text": "Tüm Etkinlikleri silmek istediğinizden emin misiniz? Bu, tüm Cihazların Varlığını sıfırlar.",
|
||||
"Maintenance_Tool_del_allevents_text": "Bu işlevi kullanmadan önce lütfen bir yedekleme yapın. Silme işlemi geri alınamaz. Veritabanındaki tüm olaylar silinecektir. O anda tüm cihazların varlığı sıfırlanacaktır. Bu, geçersiz oturumlara yol açabilir. Bu, cihazların çevrimdışı olmalarına rağmen \"mevcut\" olarak görüntülendiği anlamına gelir. Söz konusu cihaz çevrimiçiyken yapılan bir tarama sorunu çözer.",
|
||||
"Maintenance_Tool_del_empty_macs": "Boş MAC'leri olan Aygıtları Silin",
|
||||
"Maintenance_Tool_del_empty_macs_noti": "Cihazları Sil",
|
||||
"Maintenance_Tool_del_empty_macs_noti_text": "",
|
||||
"Maintenance_Tool_del_empty_macs_text": "",
|
||||
"Maintenance_Tool_del_empty_macs_noti_text": "MAC adresleri boş olan tüm cihazları silmek istediğinizden emin misiniz?<br>(belki arşivlemeyi tercih edersiniz)",
|
||||
"Maintenance_Tool_del_empty_macs_text": "Bu işlevi kullanmadan önce lütfen bir yedekleme yapın. Silme işlemi geri alınamaz. MAC olmayan tüm cihazlar veritabanından silinecektir.",
|
||||
"Maintenance_Tool_del_selecteddev": "Seçilmiş cihazları sil",
|
||||
"Maintenance_Tool_del_selecteddev_text": "",
|
||||
"Maintenance_Tool_del_selecteddev_text": "Bu işlevi kullanmadan önce lütfen bir yedekleme yapın. Silme işlemi geri alınamaz. Seçilen cihazlar veritabanından silinecektir.",
|
||||
"Maintenance_Tool_del_unknowndev": "(bilinmeyen) Cihazları Sil",
|
||||
"Maintenance_Tool_del_unknowndev_noti": "",
|
||||
"Maintenance_Tool_del_unknowndev_noti_text": "",
|
||||
"Maintenance_Tool_del_unknowndev_text": "",
|
||||
"Maintenance_Tool_displayed_columns_text": "",
|
||||
"Maintenance_Tool_drag_me": "",
|
||||
"Maintenance_Tool_order_columns_text": "",
|
||||
"Maintenance_Tool_purgebackup": "",
|
||||
"Maintenance_Tool_purgebackup_noti": "",
|
||||
"Maintenance_Tool_purgebackup_noti_text": "",
|
||||
"Maintenance_Tool_purgebackup_text": "",
|
||||
"Maintenance_Tool_restore": "",
|
||||
"Maintenance_Tool_restore_noti": "",
|
||||
"Maintenance_Tool_restore_noti_text": "",
|
||||
"Maintenance_Tool_restore_text": "",
|
||||
"Maintenance_Tool_upgrade_database_noti": "",
|
||||
"Maintenance_Tool_upgrade_database_noti_text": "",
|
||||
"Maintenance_Tool_upgrade_database_text": "",
|
||||
"Maintenance_Tools_Tab_BackupRestore": "",
|
||||
"Maintenance_Tools_Tab_Logging": "",
|
||||
"Maintenance_Tool_del_unknowndev_noti": "(Bilinmeyen) Cihazları Sil",
|
||||
"Maintenance_Tool_del_unknowndev_noti_text": "Tüm (bilinmeyen) ve (ad bulunamadı) cihazları silmek istediğinizden emin misiniz?",
|
||||
"Maintenance_Tool_del_unknowndev_text": "Bu işlevi kullanmadan önce lütfen bir yedekleme yapın. Silme işlemi geri alınamaz. (Bilinmeyen) adlı tüm cihazlar veritabanından silinecektir.",
|
||||
"Maintenance_Tool_displayed_columns_text": "Sütunların görünürlüğünü ve sırasını değiştirme <a href=\"devices.php\"><b> <i class=\"fa-laptop\"></i> Aygıtları</b></a> sayfa.",
|
||||
"Maintenance_Tool_drag_me": "Sütunları yeniden sıralamak için beni sürükleyin.",
|
||||
"Maintenance_Tool_order_columns_text": "Maintenance_Tool_order_columns_text",
|
||||
"Maintenance_Tool_purgebackup": "Yedeklemeleri Temizle",
|
||||
"Maintenance_Tool_purgebackup_noti": "Yedeklemeleri Temizle",
|
||||
"Maintenance_Tool_purgebackup_noti_text": "Son 3 dışındaki tüm yedeklemeleri silmek istediğinizden emin misiniz?",
|
||||
"Maintenance_Tool_purgebackup_text": "Son 3 yedekleme dışında diğer tüm yedeklemeler silinecektir.",
|
||||
"Maintenance_Tool_restore": "Veritabanı Geri Yükleme",
|
||||
"Maintenance_Tool_restore_noti": "Veritabanı Geri Yükleme",
|
||||
"Maintenance_Tool_restore_noti_text": "Veritabanı Geri Yükleme'yi yürütmek istediğinizden emin misiniz? Şu anda hiçbir taramanın çalışmadığından emin olun.",
|
||||
"Maintenance_Tool_restore_text": "En son yedekleme düğme aracılığıyla geri yüklenebilir, ancak eski yedeklemeler yalnızca manuel olarak geri yüklenebilir. Geri yüklemeden sonra, yedekleme oluşturulduğunda veritabanı'nın şu anda yazma erişiminde olması durumunda, güvenlik için veritabanında bir bütünlük kontrolü yapın.",
|
||||
"Maintenance_Tool_upgrade_database_noti": "Veritabanını yükseltme",
|
||||
"Maintenance_Tool_upgrade_database_noti_text": "Veritabanını yükseltmek istediğinizden emin misiniz?<br>(belki arşivlemeyi tercih edersiniz)",
|
||||
"Maintenance_Tool_upgrade_database_text": "Bu düğme, son 12 saatteki Ağ etkinliği grafiğini etkinleştirmek için veritabanını yükseltir. Sorun olması durumunda lütfen veritabanınızı yedekleyin.",
|
||||
"Maintenance_Tools_Tab_BackupRestore": "Yedekleme / Geri Yükleme",
|
||||
"Maintenance_Tools_Tab_Logging": "Günlük",
|
||||
"Maintenance_Tools_Tab_Settings": "Ayarlar",
|
||||
"Maintenance_Tools_Tab_Tools": "Araçlar",
|
||||
"Maintenance_Tools_Tab_UISettings": "Arayüz Ayarları",
|
||||
@@ -443,73 +449,73 @@
|
||||
"Maintenance_arp_status_on": "tarama(lar) şu anda çalışıyor",
|
||||
"Maintenance_built_on": "",
|
||||
"Maintenance_current_version": "",
|
||||
"Maintenance_database_backup": "",
|
||||
"Maintenance_database_backup": "Veritabanı Yedeklemeleri",
|
||||
"Maintenance_database_backup_found": "yedekler bulundu",
|
||||
"Maintenance_database_backup_total": "",
|
||||
"Maintenance_database_lastmod": "",
|
||||
"Maintenance_database_path": "",
|
||||
"Maintenance_database_rows": "",
|
||||
"Maintenance_database_size": "",
|
||||
"Maintenance_database_backup_total": "Toplam disk kullanımı",
|
||||
"Maintenance_database_lastmod": "Son Değişiklik",
|
||||
"Maintenance_database_path": "Veritabanı Yolu",
|
||||
"Maintenance_database_rows": "Tablo (Satırlar)",
|
||||
"Maintenance_database_size": "Veritabanı Boyutu",
|
||||
"Maintenance_lang_selector_apply": "Uygula",
|
||||
"Maintenance_lang_selector_empty": "",
|
||||
"Maintenance_lang_selector_lable": "",
|
||||
"Maintenance_lang_selector_text": "",
|
||||
"Maintenance_lang_selector_empty": "Dil Seçin",
|
||||
"Maintenance_lang_selector_lable": "Dil seçin",
|
||||
"Maintenance_lang_selector_text": "Değişiklik istemci tarafında gerçekleşir, bu nedenle yalnızca mevcut tarayıcıyı etkiler.",
|
||||
"Maintenance_new_version": "",
|
||||
"Maintenance_themeselector_apply": "Uygula",
|
||||
"Maintenance_themeselector_empty": "",
|
||||
"Maintenance_themeselector_lable": "",
|
||||
"Maintenance_themeselector_text": "",
|
||||
"Maintenance_version": "",
|
||||
"NETWORK_DEVICE_TYPES_description": "",
|
||||
"NETWORK_DEVICE_TYPES_name": "",
|
||||
"Maintenance_themeselector_empty": "Bir Dış Görünüm Seçin",
|
||||
"Maintenance_themeselector_lable": "Dış Görünüm Seç",
|
||||
"Maintenance_themeselector_text": "Değişiklik sunucu tarafında gerçekleşir, bu nedenle kullanımdaki tüm cihazları etkiler.",
|
||||
"Maintenance_version": "Uygulama güncellemeleri",
|
||||
"NETWORK_DEVICE_TYPES_description": "Ağ görünümünde hangi aygıt türlerinin ağ aygıtı olarak kullanılmasına izin verildiği. Cihaz tipinin tam olarak eşleşmesi gerekir. <code>Tür</code> Cihaz ayrıntıları'nda belirli bir cihazda ayarlayın. aracılığıyla Cihaza ekleyin <code>+</code> düğme. Mevcut türleri kaldırmayın, yalnızca yenilerini ekleyin.",
|
||||
"NETWORK_DEVICE_TYPES_name": "Ağ aygıtı türleri",
|
||||
"Navigation_About": "Hakkında",
|
||||
"Navigation_AppEvents": "",
|
||||
"Navigation_AppEvents": "Uygulama Etkinlikleri",
|
||||
"Navigation_Devices": "Cihazlar",
|
||||
"Navigation_Donations": "",
|
||||
"Navigation_Events": "",
|
||||
"Navigation_Integrations": "",
|
||||
"Navigation_Maintenance": "",
|
||||
"Navigation_Monitoring": "",
|
||||
"Navigation_Network": "",
|
||||
"Navigation_Donations": "Bağış",
|
||||
"Navigation_Events": "Olay",
|
||||
"Navigation_Integrations": "Tümleştirme",
|
||||
"Navigation_Maintenance": "Bakım",
|
||||
"Navigation_Monitoring": "Izleme",
|
||||
"Navigation_Network": "Network",
|
||||
"Navigation_Notifications": "Bildirimler",
|
||||
"Navigation_Plugins": "",
|
||||
"Navigation_Presence": "",
|
||||
"Navigation_Report": "",
|
||||
"Navigation_Plugins": "Eklentiler",
|
||||
"Navigation_Presence": "Varlık",
|
||||
"Navigation_Report": "Gönderilen Raporlar",
|
||||
"Navigation_Settings": "Ayarlar",
|
||||
"Navigation_SystemInfo": "",
|
||||
"Navigation_Workflows": "",
|
||||
"Network_Assign": "",
|
||||
"Navigation_SystemInfo": "Sistem bilgisi",
|
||||
"Navigation_Workflows": "İş Akışları",
|
||||
"Network_Assign": "Yukarıdakilere bağlanın <i class=\"fa fa-server\"></i> Ağ düğümü",
|
||||
"Network_Cant_Assign": "",
|
||||
"Network_Configuration_Error": "Kurulum Hatası",
|
||||
"Network_Connected": "Bağlanmış cihazlar",
|
||||
"Network_ManageAdd": "Cihaz Ekle",
|
||||
"Network_ManageAdd_Name": "Cihaz İsmi",
|
||||
"Network_ManageAdd_Name_text": "Özel karakterler olmadan isim veriniz",
|
||||
"Network_ManageAdd_Port": "",
|
||||
"Network_ManageAdd_Port_text": "",
|
||||
"Network_ManageAdd_Port": "Port Sayısı",
|
||||
"Network_ManageAdd_Port_text": "WiFi ve elektrik hattı için boş bırakın",
|
||||
"Network_ManageAdd_Submit": "Cihaz Ekle",
|
||||
"Network_ManageAdd_Type": "",
|
||||
"Network_ManageAdd_Type_text": "",
|
||||
"Network_ManageAssign": "",
|
||||
"Network_ManageDel": "",
|
||||
"Network_ManageDel_Name": "",
|
||||
"Network_ManageDel_Name_text": "",
|
||||
"Network_ManageDel_Submit": "",
|
||||
"Network_ManageAdd_Type": "Cihaz Türü",
|
||||
"Network_ManageAdd_Type_text": "-- Tür Seçin --",
|
||||
"Network_ManageAssign": "Atamak",
|
||||
"Network_ManageDel": "Cihazı Sil",
|
||||
"Network_ManageDel_Name": "Silinecek cihaz",
|
||||
"Network_ManageDel_Name_text": "-- Cihaz Seçiniz --",
|
||||
"Network_ManageDel_Submit": "Sil",
|
||||
"Network_ManageDevices": "Cihazları Yönet",
|
||||
"Network_ManageEdit": "",
|
||||
"Network_ManageEdit_ID": "",
|
||||
"Network_ManageEdit_ID_text": "",
|
||||
"Network_ManageEdit": "Cihazı Güncelle",
|
||||
"Network_ManageEdit_ID": "Güncellenecek cihaz",
|
||||
"Network_ManageEdit_ID_text": "-- Düzenlemek için Cihaz Seçin --",
|
||||
"Network_ManageEdit_Name": "Yeni Cihaz İsmi",
|
||||
"Network_ManageEdit_Name_text": "",
|
||||
"Network_ManageEdit_Port": "",
|
||||
"Network_ManageEdit_Port_text": "",
|
||||
"Network_ManageEdit_Name_text": "Özel karakterler içermeyen ad",
|
||||
"Network_ManageEdit_Port": " Yeni Port Sayısı",
|
||||
"Network_ManageEdit_Port_text": "WiFi ve elektrik hattı için boş bırakın",
|
||||
"Network_ManageEdit_Submit": "Ayarları Kaydet",
|
||||
"Network_ManageEdit_Type": "",
|
||||
"Network_ManageEdit_Type_text": "",
|
||||
"Network_ManageLeaf": "",
|
||||
"Network_ManageUnassign": "",
|
||||
"Network_ManageEdit_Type": "Yeni Cihaz Türü",
|
||||
"Network_ManageEdit_Type_text": "-- Tür Seçin --",
|
||||
"Network_ManageLeaf": "Atamayı yönet",
|
||||
"Network_ManageUnassign": "Atamayı kaldır",
|
||||
"Network_NoAssignedDevices": "",
|
||||
"Network_NoDevices": "",
|
||||
"Network_NoDevices": "Yapılandırılacak cihaz yok",
|
||||
"Network_Node": "",
|
||||
"Network_Node_Name": "",
|
||||
"Network_Parent": "",
|
||||
@@ -539,12 +545,12 @@
|
||||
"Plugins_no_control": "",
|
||||
"Presence_CalHead_day": "gün",
|
||||
"Presence_CalHead_lang": "",
|
||||
"Presence_CalHead_month": "",
|
||||
"Presence_CalHead_month": "ay",
|
||||
"Presence_CalHead_quarter": "çeyrek",
|
||||
"Presence_CalHead_week": "hafta",
|
||||
"Presence_CalHead_year": "yıl",
|
||||
"Presence_CallHead_Devices": "Cihazlar",
|
||||
"Presence_Key_OnlineNow": "",
|
||||
"Presence_Key_OnlineNow": "Şimdi çevrimiçi",
|
||||
"Presence_Key_OnlineNow_desc": "",
|
||||
"Presence_Key_OnlinePast": "",
|
||||
"Presence_Key_OnlinePastMiss": "",
|
||||
@@ -559,6 +565,8 @@
|
||||
"Presence_Shortcut_Favorites": "Favoriler",
|
||||
"Presence_Shortcut_NewDevices": "Yeni Cihazlar",
|
||||
"Presence_Title": "",
|
||||
"REFRESH_FQDN_description": "",
|
||||
"REFRESH_FQDN_name": "",
|
||||
"REPORT_DASHBOARD_URL_description": "",
|
||||
"REPORT_DASHBOARD_URL_name": "",
|
||||
"REPORT_ERROR": "",
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
"About_Exit": "Вийти",
|
||||
"About_Title": "Сканер безпеки мережі та структура сповіщень",
|
||||
"AppEvents_AppEventProcessed": "Оброблено",
|
||||
"AppEvents_DateTimeCreated": "Зареєстровано",
|
||||
"AppEvents_DateTimeCreated": "Виявлено",
|
||||
"AppEvents_Extra": "Екстра",
|
||||
"AppEvents_GUID": "GUID події програми",
|
||||
"AppEvents_Helper1": "Помічник 1",
|
||||
@@ -86,7 +86,7 @@
|
||||
"DevDetail_GoToNetworkNode": "Перейдіть на сторінку Мережа даного вузла.",
|
||||
"DevDetail_Icon": "значок",
|
||||
"DevDetail_Icon_Descr": "Введіть чудову назву значка шрифту без префікса fa- або з повним класом, наприклад: fa fa-бренди fa-яблуко.",
|
||||
"DevDetail_Loading": "Завантаження...",
|
||||
"DevDetail_Loading": "Завантаження…",
|
||||
"DevDetail_MainInfo_Comments": "Коментарі",
|
||||
"DevDetail_MainInfo_Favorite": "улюблений",
|
||||
"DevDetail_MainInfo_Group": "Група",
|
||||
@@ -177,7 +177,7 @@
|
||||
"DevDetail_Tools_WOL": "Надіслати команду WoL до ",
|
||||
"DevDetail_Tools_WOL_noti": "Wake-on -LAN",
|
||||
"DevDetail_Tools_WOL_noti_text": "Команда Wake-on-LAN надсилається на широкомовну адресу. Якщо ціль не входить до підмережі/VLAN NetAlertX, цільовий пристрій не відповідатиме.",
|
||||
"DevDetail_Type_hover": "Тип пристрою. Якщо вибрати будь-який із попередньо визначених мережевих пристроїв (наприклад, точку доступу, брандмауер, маршрутизатор, комутатор...), вони відображатимуться в конфігурації дерева мережі як можливий головний вузол мережі..",
|
||||
"DevDetail_Type_hover": "Тип пристрою. Якщо ви оберете будь-який із попередньо визначених мережевих пристроїв (наприклад: точка доступу, брандмауер, маршрутизатор, комутатор…), вони відображатимуться в конфігурації дерева мережі як можливі батьківські вузли мережі.",
|
||||
"DevDetail_Vendor_hover": "Постачальник має бути автоматично визначений. Ви можете перезаписати або додати власне значення.",
|
||||
"DevDetail_WOL_Title": "<i class=\"fa fa-power-off\"></i> Wake-on- LAN",
|
||||
"DevDetail_button_AddIcon": "Додати новий значок",
|
||||
@@ -194,7 +194,7 @@
|
||||
"DevDetail_button_Save": "зберегти",
|
||||
"DeviceEdit_ValidMacIp": "Введіть дійсну адресу <b>Mac</b> та <b>IP</b>.",
|
||||
"Device_MultiEdit": "Мультиредагування",
|
||||
"Device_MultiEdit_Backup": "Обережно, введення неправильних значень нижче порушить налаштування. Спершу створіть резервну копію вашої бази даних або конфігурації пристроїв (<a href=\"php/server/devices.php?action=ExportCSV\">натисніть, щоб завантажити <i class=\"fa-solid fa-download fa-bounce\"></i> </a>). Прочитайте, як відновити пристрої з цього файлу, у <a href=\"https://github.com/jokob-sk/NetAlertX/blob/main/docs/BACKUPS.md#scenario-2-corrupted-database\" target=\" _blank\">Документація резервних копій</a>.",
|
||||
"Device_MultiEdit_Backup": "Обережно, введення неправильних значень нижче призведе до порушення роботи налаштувань. Спочатку створіть резервну копію бази даних або конфігурації пристроїв (<a href=\"php/server/devices.php?action=ExportCSV\">натисніть, щоб завантажити <i class=\"fa-solid fa-download fa-bounce\"></i></a>). Прочитайте, як відновити пристрої з цього файлу, у <a href=\"https://github.com/jokob-sk/NetAlertX/blob/main/docs/BACKUPS.md#scenario-2-corrupted-database\" target=\"_blank\">документації щодо резервних копій</a>. Щоб застосувати зміни, натисніть значок <b>Зберегти<i class=\"fa-solid fa-save\"></i></b> у кожному полі, яке потрібно оновити.",
|
||||
"Device_MultiEdit_Fields": "Редагувати поля:",
|
||||
"Device_MultiEdit_MassActions": "Масові акції:",
|
||||
"Device_MultiEdit_Tooltip": "Обережно. Якщо натиснути це, значення зліва буде застосовано до всіх пристроїв, вибраних вище.",
|
||||
@@ -211,6 +211,7 @@
|
||||
"Device_TableHead_AlertDown": "Сповіщення вниз",
|
||||
"Device_TableHead_Connected_Devices": "Зв'язки",
|
||||
"Device_TableHead_CustomProps": "Реквізит / дії",
|
||||
"Device_TableHead_FQDN": "FQDN",
|
||||
"Device_TableHead_Favorite": "улюблений",
|
||||
"Device_TableHead_FirstSession": "Перша сесія",
|
||||
"Device_TableHead_GUID": "GUID",
|
||||
@@ -250,7 +251,7 @@
|
||||
"ENCRYPTION_KEY_name": "Ключ шифрування",
|
||||
"Email_display_name": "Електронна пошта",
|
||||
"Email_icon": "<i class=\"fa fa-at\"></i>",
|
||||
"Events_Loading": "Завантаження...",
|
||||
"Events_Loading": "Завантаження…",
|
||||
"Events_Periodselect_All": "Вся інформація",
|
||||
"Events_Periodselect_LastMonth": "Останній місяць",
|
||||
"Events_Periodselect_LastWeek": "Минулий тиждень",
|
||||
@@ -334,13 +335,13 @@
|
||||
"General_icon": "<i class=\"fa fa-gears\"></i>",
|
||||
"HRS_TO_KEEP_NEWDEV_description": "Це налаштування обслуговування <b>ВИДАЛЕННЯ пристроїв</b>. Якщо ввімкнено (<code>0</code> вимкнено), пристрої, позначені як <b>Новий пристрій</b>, буде видалено, якщо час їхнього <b>першого сеансу</b> був старшим за вказані години в цьому налаштування. Використовуйте це налаштування, якщо ви хочете автоматично видаляти <b>Нові пристрої</b> через <code>X</code> годин.",
|
||||
"HRS_TO_KEEP_NEWDEV_name": "Видаліть нові пристрої після",
|
||||
"HRS_TO_KEEP_OFFDEV_description": "Це налаштування обслуговування <b>ВИДАЛЕННЯ пристроїв</b>. Якщо ввімкнути (<code>0</code> вимкнено), пристрої, які <b>офлайн</b> і дата їх <b>останнього вимкнення</b> старші за вказані години в цьому параметрі, будуть бути видалено. Використовуйте це налаштування, якщо ви хочете автоматично видаляти <b>Автономні пристрої</b> після <code>X</code> годин роботи в режимі офлайн.",
|
||||
"HRS_TO_KEEP_OFFDEV_description": "Це налаштування обслуговування <b>ВИДАЛЕННЯ пристроїв</b>. Якщо ввімкнено (<code>0</code> вимкнено), пристрої, які <b>офлайн</b>, та їх <b>Останнє підключення</b> дата та час старіші за вказані години в цьому налаштуванні, будуть видалені. Використовуйте це налаштування, якщо ви хочете автоматично видаляти <b>офлайн-пристрої</b> після <code>X</code> годин перебування в мережі.",
|
||||
"HRS_TO_KEEP_OFFDEV_name": "Видаліть офлайн-пристрої після",
|
||||
"LOADED_PLUGINS_description": "Які плагіни завантажити. Додавання плагінів може уповільнити роботу програми. Дізнайтеся більше про те, які плагіни потрібно ввімкнути, типи чи параметри сканування в <a target=\"_blank\" href=\"https://github.com/jokob-sk/NetAlertX/tree/main/docs/PLUGINS.md \">документи плагінів</a>. Вивантажені плагіни втратять налаштування. Лише <code>вимкнені</code> плагіни можна вивантажити.",
|
||||
"LOADED_PLUGINS_name": "Завантажені плагіни",
|
||||
"LOG_LEVEL_description": "Цей параметр увімкне докладніше журналювання. Корисно для налагодження запису подій у базу даних.",
|
||||
"LOG_LEVEL_name": "Друк додаткового протоколювання",
|
||||
"Loading": "Завантаження...",
|
||||
"Loading": "Завантаження…",
|
||||
"Login_Box": "Введіть свій пароль",
|
||||
"Login_Default_PWD": "Стандартний пароль \"123456\" все ще активний.",
|
||||
"Login_Info": "Паролі встановлюються за допомогою плагіна Set Password. Перегляньте <a target=\"_blank\" href=\"https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/set_password\">документи SETPWD</a>, якщо у вас виникли проблеми з входом.",
|
||||
@@ -358,6 +359,11 @@
|
||||
"Maint_PurgeLog": "Журнал очищення",
|
||||
"Maint_RestartServer": "Перезапустіть сервер",
|
||||
"Maint_Restart_Server_noti_text": "Ви впевнені, що бажаєте перезапустити внутрішній сервер? Це може спричинити неузгодженість програми. Спершу створіть резервну копію налаштувань. <br/> <br/> Примітка. Це може зайняти кілька хвилин.",
|
||||
"Maintenance_InitCheck": "Перевірка ініціалізації",
|
||||
"Maintenance_InitCheck_Checking": "Перевірка…",
|
||||
"Maintenance_InitCheck_QuickSetupGuide": "Переконайтеся, що ви дотримувалися інструкцій у <a href=\"https://jokob-sk.github.io/NetAlertX/INITIAL_SETUP/\" target=\"_blank\">короткому посібнику з налаштування</a>.",
|
||||
"Maintenance_InitCheck_Success": "Застосунок успішно ініціалізовано!",
|
||||
"Maintenance_ReCheck": "Повторна спроба перевірки",
|
||||
"Maintenance_Running_Version": "Встановлена версія",
|
||||
"Maintenance_Status": "Статус",
|
||||
"Maintenance_Title": "Інструменти обслуговування",
|
||||
@@ -440,7 +446,7 @@
|
||||
"Maintenance_Tools_Tab_UISettings": "Налаштування інтерфейсу користувача",
|
||||
"Maintenance_arp_status": "Статус сканування",
|
||||
"Maintenance_arp_status_off": "наразі вимкнено",
|
||||
"Maintenance_arp_status_on": "сканування, що зараз виконується",
|
||||
"Maintenance_arp_status_on": "триває сканування",
|
||||
"Maintenance_built_on": "Побудований на",
|
||||
"Maintenance_current_version": "Ви в курсі подій. Перегляньте, над чим <a href=\"https://github.com/jokob-sk/NetAlertX/issues/138\" target=\"_blank\">я працюю</a>.",
|
||||
"Maintenance_database_backup": "Резервне копіювання DB",
|
||||
@@ -550,7 +556,7 @@
|
||||
"Presence_Key_OnlinePastMiss": "Минулий онлайн (пропущений матч)",
|
||||
"Presence_Key_OnlinePastMiss_desc": "Пристрій був онлайн, але зараз офлайн, але початковий сеанс може бути відсутнім або містить суперечливі дані. (може бути помилка - будь ласка, надішліть PR, якщо ви знаєте, як це виправити - я трохи загубився в коді тут)",
|
||||
"Presence_Key_OnlinePast_desc": "Пристрій був онлайн, але зараз офлайн.",
|
||||
"Presence_Loading": "Завантаження...",
|
||||
"Presence_Loading": "Завантаження…",
|
||||
"Presence_Shortcut_AllDevices": "Мої пристрої",
|
||||
"Presence_Shortcut_Archived": "Архівовано",
|
||||
"Presence_Shortcut_Connected": "Підключено",
|
||||
@@ -559,6 +565,8 @@
|
||||
"Presence_Shortcut_Favorites": "Вибране",
|
||||
"Presence_Shortcut_NewDevices": "Нові пристрої",
|
||||
"Presence_Title": "Присутність за пристроєм",
|
||||
"REFRESH_FQDN_description": "Повторно сканує всі пристрої та оновлює їхнє повністю кваліфіковане доменне ім'я (FQDN). Якщо вимкнено, для покращення продуктивності скануються лише пристрої без відомого імені. У цьому випадку повне доменне ім'я (FQDN) оновлюється лише під час початкового виявлення пристрою.",
|
||||
"REFRESH_FQDN_name": "Оновити FQDN",
|
||||
"REPORT_DASHBOARD_URL_description": "Ця URL-адреса використовується як основа для створення посилань у звітах HTML (наприклад, електронних листах). Введіть повну URL-адресу, починаючи з <code>http://</code>, включаючи номер порту (без скісної риски <code>/</code>).",
|
||||
"REPORT_DASHBOARD_URL_name": "URL-адреса NetAlertX",
|
||||
"REPORT_ERROR": "Сторінка, яку ви шукаєте, тимчасово недоступна, спробуйте ще раз через кілька секунд",
|
||||
@@ -702,7 +710,7 @@
|
||||
"add_option_event_tooltip": "Додати нове значення",
|
||||
"copy_icons_event_icon": "фа-копія",
|
||||
"copy_icons_event_tooltip": "Перезаписати піктограми всіх пристроїв одним типом пристрою",
|
||||
"devices_old": "Освіжаючий...",
|
||||
"devices_old": "Освіжає…",
|
||||
"general_event_description": "Подія, яку ви ініціювали, може зайняти деякий час, поки завершаться фонові процеси. Виконання завершилося, коли наведена нижче черга виконання спорожнилася (перевірте <a href='/maintenance.php#tab_Logging'>журнал помилок</a>, якщо виникнуть проблеми). <br/> <br/> Черга виконання:",
|
||||
"general_event_title": "Виконання спеціальної події",
|
||||
"go_to_node_event_icon": "fa-квадрат-вгору-вправо",
|
||||
@@ -727,7 +735,7 @@
|
||||
"settings_imported_label": "Налаштування імпортовано",
|
||||
"settings_missing": "Не всі налаштування завантажено! Високе навантаження на базу даних або послідовність запуску програми. Натисніть кнопку 🔄 перезавантажити вгорі.",
|
||||
"settings_missing_block": "Помилка: налаштування не завантажено належним чином. Натисніть кнопку перезавантаження 🔄 вгорі або подробиці перевірте в журналі браузера (F12).",
|
||||
"settings_old": "Імпорт налаштувань і повторна ініціалізація...",
|
||||
"settings_old": "Імпорт налаштувань та повторна ініціалізація…",
|
||||
"settings_other_scanners": "Інші наразі ввімкнені плагіни сканера, не пов’язані з пристроєм.",
|
||||
"settings_other_scanners_icon": "fa -solid fa-recycle",
|
||||
"settings_other_scanners_label": "Інші сканери",
|
||||
@@ -736,10 +744,10 @@
|
||||
"settings_publishers_info": "Завантажте більше видавців за допомогою параметра <a href=\"/settings.php#LOADED_PLUGINS\">LOADED_PLUGINS</a>",
|
||||
"settings_publishers_label": "Видавці",
|
||||
"settings_readonly": "Неможливо ЧИТАТИ або ЗАПИСАТИ <code>app.conf</code>. Спробуйте перезапустити контейнер і прочитайте <a href=\"https://github.com/jokob-sk/NetAlertX/blob/main/docs/FILE_PERMISSIONS.md\" target=\"_blank\">документацію щодо дозволів на файли</a>",
|
||||
"settings_saved": "<br/>Налаштування збережено. <br/> Перезавантаження... <br/><i class=\"ion ion-ios-loop-strong fa-spin fa-2x fa-fw\"></i> <br/>",
|
||||
"settings_saved": "<br/>Налаштування збережено. <br/> Перезавантаження… <br/><i class=\"ion ion-ios-loop-strong fa-spin fa-2x fa-fw\"></i> <br/>",
|
||||
"settings_system_icon": "фа-твердий фа-передача",
|
||||
"settings_system_label": "Система",
|
||||
"settings_update_item_warning": "Оновіть значення нижче. Слідкуйте за попереднім форматом. <b>Перевірка не виконана.</b>",
|
||||
"test_event_icon": "fa-vial-circle- check",
|
||||
"test_event_tooltip": "Перш ніж перевіряти налаштування, збережіть зміни."
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"API_CUSTOM_SQL_description": "您可以指定一个自定义 SQL 查询,它将生成一个 JSON 文件,然后通过 <a href=\"/php/server/query_json.php?file=table_custom_endpoint.json\" target=\"_blank\"><code>table_custom_endpoint.json</code> 文件端点</a> 公开它。",
|
||||
"API_CUSTOM_SQL_name": "自定义终点",
|
||||
"API_TOKEN_description": "",
|
||||
"API_TOKEN_description": "用于安全通信的API令牌。生成一个或输入任何值。它在请求标头中发送,并用于 <code>SYNC</code> 插件、GraphQL服务器和其他API端点中。 您可以使用API端点创建自定义集成,详情请参考此 <a href=\"https://github.com/jokob-sk/NetAlertX/blob/main/docs/API.md\" target=\"_blank\">API 文档</a>。",
|
||||
"API_TOKEN_name": "",
|
||||
"API_display_name": "API",
|
||||
"API_icon": "<i class=\"fa fa-arrow-down-up-across-line\"></i>",
|
||||
@@ -59,16 +59,16 @@
|
||||
"BackDevices_Restore_okay": "已成功恢复。",
|
||||
"BackDevices_darkmode_disabled": "暗黑模式已禁用",
|
||||
"BackDevices_darkmode_enabled": "已启用暗黑模式",
|
||||
"CLEAR_NEW_FLAG_description": "",
|
||||
"CLEAR_NEW_FLAG_name": "",
|
||||
"CustProps_cant_remove": "",
|
||||
"CLEAR_NEW_FLAG_description": "若启用( <code>0</code> 为禁用),当设备 <b>首次会话</b> 时间超出设定时限(以小时计)时,其 <b>New Device</b> 标记将自动取消。",
|
||||
"CLEAR_NEW_FLAG_name": "清除新标记",
|
||||
"CustProps_cant_remove": "无法移除,至少需要保留一个属性。",
|
||||
"DAYS_TO_KEEP_EVENTS_description": "这是维护设置。它指定将保留的事件条目的天数。所有较旧的事件将被定期删除。也适用于插件事件历史记录。",
|
||||
"DAYS_TO_KEEP_EVENTS_name": "删除早于",
|
||||
"DISCOVER_PLUGINS_description": "",
|
||||
"DISCOVER_PLUGINS_description": "禁用此选项可加快初始化和设置保存的速度。当禁用时,插件不会被发现,并且您无法将新插件添加到 <code>LOADED_PLUGINS</code>设置中。",
|
||||
"DISCOVER_PLUGINS_name": "",
|
||||
"DevDetail_Copy_Device_Title": "<i class=\"fa fa-copy\"></i> 从设备复制详细信息",
|
||||
"DevDetail_Copy_Device_Tooltip": "从下拉列表中复制设备的详细信息。此页面上的所有内容都将被覆盖",
|
||||
"DevDetail_CustomProperties_Title": "",
|
||||
"DevDetail_CustomProperties_Title": "自定义属性",
|
||||
"DevDetail_CustomProps_reset_info": "",
|
||||
"DevDetail_DisplayFields_Title": "",
|
||||
"DevDetail_EveandAl_AlertAllEvents": "提醒所有事件",
|
||||
@@ -211,6 +211,7 @@
|
||||
"Device_TableHead_AlertDown": "",
|
||||
"Device_TableHead_Connected_Devices": "链接",
|
||||
"Device_TableHead_CustomProps": "",
|
||||
"Device_TableHead_FQDN": "",
|
||||
"Device_TableHead_Favorite": "收藏",
|
||||
"Device_TableHead_FirstSession": "加入",
|
||||
"Device_TableHead_GUID": "GUID",
|
||||
@@ -358,6 +359,11 @@
|
||||
"Maint_PurgeLog": "清除日志",
|
||||
"Maint_RestartServer": "重启服务器",
|
||||
"Maint_Restart_Server_noti_text": "您确定要重新启动后端服务器吗?这可能会导致应用程序不一致。请先备份您的设置。<br/> <br/> 注意:这可能需要几分钟。",
|
||||
"Maintenance_InitCheck": "",
|
||||
"Maintenance_InitCheck_Checking": "",
|
||||
"Maintenance_InitCheck_QuickSetupGuide": "",
|
||||
"Maintenance_InitCheck_Success": "",
|
||||
"Maintenance_ReCheck": "",
|
||||
"Maintenance_Running_Version": "安装版本",
|
||||
"Maintenance_Status": "状态",
|
||||
"Maintenance_Title": "维护工具",
|
||||
@@ -559,6 +565,8 @@
|
||||
"Presence_Shortcut_Favorites": "收藏夹",
|
||||
"Presence_Shortcut_NewDevices": "新设备",
|
||||
"Presence_Title": "按设备显示状态",
|
||||
"REFRESH_FQDN_description": "",
|
||||
"REFRESH_FQDN_name": "",
|
||||
"REPORT_DASHBOARD_URL_description": "此 URL 用作生成 HTML 报告(例如电子邮件)中链接的基础。输入以 <code>http://</code> 开头的完整 URL,包括端口号(无尾部斜杠 <code>/</code>)。",
|
||||
"REPORT_DASHBOARD_URL_name": "NetAlertX 网址",
|
||||
"REPORT_ERROR": "您正在浏览的页面暂时不可用,请稍后重试",
|
||||
|
||||
@@ -71,7 +71,7 @@ if ($nax_WebProtection == 'true') {
|
||||
$isLoggedIn = isset($_SESSION['login']) && $_SESSION['login'] == 1;
|
||||
|
||||
// Determine if the user should be redirected
|
||||
if ($isLoggedIn || $isLogonPage || (isset($_COOKIE[COOKIE_SAVE_LOGIN_NAME]) && $nax_Password == $_COOKIE[COOKIE_SAVE_LOGIN_NAME])) {
|
||||
if ($isLoggedIn || $isLogonPage || (isset($_COOKIE[COOKIE_SAVE_LOGIN_NAME]) && $nax_Password === $_COOKIE[COOKIE_SAVE_LOGIN_NAME])) {
|
||||
// Logged in or stay on this page if we are on the index.php already
|
||||
} else {
|
||||
// We need to redirect
|
||||
|
||||
@@ -16,7 +16,8 @@ from plugin_utils import get_plugins_configs
|
||||
from logger import mylog, Logger
|
||||
from const import pluginsPath, fullDbPath, logPath
|
||||
from helper import timeNowTZ, get_setting_value
|
||||
from notification import write_notification
|
||||
|
||||
from messaging.in_app import write_notification
|
||||
import conf
|
||||
|
||||
# Make sure the TIMEZONE for logging is correct
|
||||
|
||||