Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🏷️ Version 1.0.2 #7

Merged
merged 109 commits into from
Jun 22, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
109 commits
Select commit Hold shift + click to select a range
d0bbeed
Eindeutige Darstellung beim Prozess
pavl21 May 10, 2022
ddf4621
Installationsprozess vereinfacht
pavl21 May 10, 2022
64da971
Update install.sh
pavl21 May 10, 2022
c5aeb87
Erneuerung der Screenshots von Version 1..0.1
pavl21 May 11, 2022
0abe978
Merge pull request #3 from pavl21/patch-2
gnmyt May 12, 2022
5e616a5
Update install.sh
pavl21 May 12, 2022
61bd3f4
Merge pull request #2 from pavl21/patch-1
gnmyt May 12, 2022
0ad042a
Removed the log method from the installation script
gnmyt May 12, 2022
d898f0e
MySpeed now automatically installs as a system service
gnmyt May 12, 2022
0e2f91d
Moved the release url down because curl was not installed at the top
gnmyt May 12, 2022
c377633
Removed the system status debug statement
gnmyt May 12, 2022
0ff8ebb
Fixed the system service installer
gnmyt May 12, 2022
a5f9f9e
The script now allows the user to update MySpeed
gnmyt May 12, 2022
dc53468
Changed the messages
gnmyt May 12, 2022
bbfefd0
Updated the sleep timer & moved the clear statement
gnmyt May 12, 2022
4c5e840
Fixed the myspeed updater script
gnmyt May 12, 2022
a466193
Updated the release version to 1.0.2
gnmyt May 12, 2022
73b65f7
MySpeed now restarts after an update
gnmyt May 12, 2022
83f2cc1
Fixed Changed the failing number to -1 (it would output an error if y…
gnmyt May 13, 2022
05a25f5
Fixed a bug in the nodejs installer
gnmyt May 20, 2022
6fc0327
Integrated the beta build into the myspeed installation script
gnmyt May 20, 2022
aade30a
Merge remote-tracking branch 'origin/development' into development
gnmyt May 20, 2022
5ea3e1e
Fixed the myspeed beta installation
gnmyt May 20, 2022
63231bc
Fixed the myspeed beta installation
gnmyt May 20, 2022
8d4e004
Fixed the build essential check
gnmyt May 20, 2022
ed7c666
Added a disclaimer to the installation script
gnmyt May 20, 2022
48252f2
Beta-Kennzeichen hinzugefügt
pavl21 May 21, 2022
d4fdc65
Merge pull request #6 from pavl21/patch-3
gnmyt May 23, 2022
e760810
Added force params to then npm install process
gnmyt Jun 8, 2022
be1581f
Added the client dependencies to the .gitignore
gnmyt Jun 8, 2022
3f8918f
Added the data folder to the .gitignore
gnmyt Jun 8, 2022
54d89e4
Updated the package lock
gnmyt Jun 8, 2022
a73e63b
Fixed the dropdown content height
gnmyt Jun 8, 2022
16bf1fb
Added a security warning to the api
gnmyt Jun 9, 2022
ddade83
Fixed a typo in the README.md
gnmyt Jun 10, 2022
70fd415
Created the pause controller
gnmyt Jun 10, 2022
0a9bec4
Created a new timer task implemenation
gnmyt Jun 10, 2022
7a88e28
Integrated the new timer task into the index.js
gnmyt Jun 10, 2022
f77354e
Added routes to pause & continue the speedtests
gnmyt Jun 10, 2022
4fe2869
Added styling to the latest test component
gnmyt Jun 10, 2022
8871cee
Optimized the header for mobile phones
gnmyt Jun 10, 2022
48a8c03
Optimized the dropdown for mobile phones
gnmyt Jun 10, 2022
df1cdb9
Added pause control into the dialog
gnmyt Jun 10, 2022
5a51784
Updated the ConfigContext
gnmyt Jun 10, 2022
344e54e
Moved the "start speedtest"-icon into the header
gnmyt Jun 10, 2022
9593fe7
Added pause control into the dropdown menu
gnmyt Jun 10, 2022
6037128
Fixed the installer & removed mv from package.json
gnmyt Jun 10, 2022
ab47d0f
Added axios to the server dependencies
gnmyt Jun 10, 2022
bd82df6
The version route now shows local & remote
gnmyt Jun 10, 2022
091fdc2
Added an update notification to the header
gnmyt Jun 10, 2022
890ccf7
Removed the <p> tag from the update icon
gnmyt Jun 10, 2022
0f0b723
Added the node-schedule package to the server
gnmyt Jun 10, 2022
e6943e4
Fixed the timer task
gnmyt Jun 10, 2022
805266f
Added the select option to the DialogContext
gnmyt Jun 10, 2022
3ac122d
Added the option to export tests
gnmyt Jun 10, 2022
e11be8c
Added export routes to the server
gnmyt Jun 10, 2022
75e6b9c
Integrated the export route to the index.js
gnmyt Jun 10, 2022
8c7afa9
Removed the height from the dropdown style
gnmyt Jun 10, 2022
91308b5
Added a width & height to the container icons
gnmyt Jun 10, 2022
002117e
Fixed the issue with the DropdownComponent
gnmyt Jun 10, 2022
5d189d6
The installer now automatically restarts myspeed after installing
gnmyt Jun 10, 2022
ccf62f4
Added the white icon
gnmyt Jun 10, 2022
8834e26
Added tooltips
gnmyt Jun 10, 2022
f3bf656
Added the error, type and time column to the speedtests table
gnmyt Jun 10, 2022
e96c14d
Updated the speedtest controller
gnmyt Jun 10, 2022
027464a
Fixed the speedtest task
gnmyt Jun 10, 2022
168dfa8
Added the custom argument to the /run route
gnmyt Jun 10, 2022
0223c4f
Added the auto argument to the auto creation process
gnmyt Jun 10, 2022
9a3113e
Added a security message to the /version route
gnmyt Jun 10, 2022
dd34109
Added the new parameters to the TestAreaComponent
gnmyt Jun 10, 2022
b038ae9
Updated the SpeedtestComponent
gnmyt Jun 10, 2022
ce116fb
Added a pulse effect to the latest test
gnmyt Jun 10, 2022
bc322c3
Fixed the new animation when paused
gnmyt Jun 10, 2022
1b144a2
Added tooltips to the header icons
gnmyt Jun 10, 2022
938d6ea
Updated the installation script
gnmyt Jun 10, 2022
9ecf36a
Created the loadServers task
gnmyt Jun 11, 2022
295d158
Added the /server route
gnmyt Jun 11, 2022
3d3433a
Integrated the server loading into the index.js
gnmyt Jun 11, 2022
9a74e00
Created a UI for the server changer
gnmyt Jun 11, 2022
203850e
Moved the change server logic behind the loading process
gnmyt Jun 11, 2022
cb14249
Added a bug report template
gnmyt Jun 12, 2022
a0063b7
Added the "required"-validation to the bug report's browser option
gnmyt Jun 12, 2022
bd7600c
Added the feature request template
gnmyt Jun 12, 2022
ed3fb93
The release now outputs the files with and without the node_modules f…
gnmyt Jun 12, 2022
8909000
Added the os dropdown to the bug report template
gnmyt Jun 12, 2022
2300477
Added the .tooltip-invisible css property
gnmyt Jun 12, 2022
dee8034
Added the option to update a server manually (as before)
gnmyt Jun 12, 2022
460e2a8
The tooltips now hide when a dialog is open
gnmyt Jun 12, 2022
185693c
Fixed the Speedtest now displaying the correct type
gnmyt Jun 12, 2022
838777e
Fixed the style of the tooltip
gnmyt Jun 12, 2022
ee54aed
Changed the dialog input width to 220px
gnmyt Jun 12, 2022
3c75879
Removed the dialog input width
gnmyt Jun 12, 2022
f9b1aef
Added the time level to the config
gnmyt Jun 12, 2022
8b34a39
Added a time level to the start method of the timer task
gnmyt Jun 12, 2022
a6c2666
The default of the time level is now 3 (every hour)
gnmyt Jun 12, 2022
ddf4ce9
Integrated time levels into the timer.js
gnmyt Jun 12, 2022
26c9902
Updated the header tooltip
gnmyt Jun 12, 2022
016fd6b
Added the option to update the time level into the DropdownComponent
gnmyt Jun 12, 2022
3e8054a
Added the id to the speedtest component
gnmyt Jun 12, 2022
b2ad157
Added an option to delete a speedtest
gnmyt Jun 12, 2022
4bdac92
Fixed the timer.js
gnmyt Jun 12, 2022
731fcc1
Fixed the config route
gnmyt Jun 12, 2022
2f30d39
Made the numbers of the config clean
gnmyt Jun 12, 2022
aea7dd7
Fixed the frequency configuration of the timer
gnmyt Jun 22, 2022
c26b13f
MySpeed now stops during an installation (if installed)
gnmyt Jun 22, 2022
bf43311
Optimized MySpeed & requests
gnmyt Jun 22, 2022
cc0e90a
Removed warnings
gnmyt Jun 22, 2022
a68b16b
Created an uninstaller
gnmyt Jun 22, 2022
56a8535
Added some messages to the uninstaller
gnmyt Jun 22, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: 🐛 Fehler melden
description: Melde einen Fehler oder Bug in MySpeed
title: "[Fehler] "
labels: ["bug"]
body:
- type: checkboxes
attributes:
label: Allgemeines
description: Bitte bestätige, dass die Folgenden aussagen zutreffen
options:
- label: Ich habe auf die neuste Version von MySpeed aktualisiert.
required: true
- label: Mein Bug wurde noch nicht gemeldet
required: true
- type: textarea
attributes:
label: "Der Fehler"
description: "Beschreibe den Bug/Fehler genau ins Detail. Füge falls vorhanden auch Screenshots hinzu und gib an, wie man den Fehler reproduzieren kann"
placeholder: "Es erscheint ein Fehler bei ..."
validations:
required: true
- type: dropdown
id: browsers
attributes:
label: Auf welchem Gerät rufst du die Seite auf?
multiple: true
options:
- Im Browser
- Auf dem Handy
- Auf einem Tablet
validations:
required: true
- type: dropdown
id: server
attributes:
label: Auf welchem Betriebssystem läuft deine MySpeed-Instanz?
multiple: true
options:
- Linux
- Windows
- macOS
validations:
required: true
21 changes: 21 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: 💡 Idee vorschlagen
description: Hast du eine Idee? Hier bist du richtig
title: "[Feature] "
labels: ["enhancement"]
body:
- type: checkboxes
attributes:
label: Allgemeines
description: Bitte bestätige, dass die Folgenden aussagen zutreffen
options:
- label: Mein Feature existiert noch nicht in der neusten Version von MySpeed.
required: true
- label: Ich habe überprüft, dass mein Feature noch von niemanden vorgeschlagen wurde.
required: true
- type: textarea
attributes:
label: "Deine Idee"
description: "Was können wir hinzufügen? Beschreibe deine Idee so genau wie möglich"
placeholder: "Meine Idee wäre es, ..."
validations:
required: true
10 changes: 7 additions & 3 deletions .github/workflows/create_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
node-version: '16'

- run: cd client && npm install
- run: npm run build && npm install
- run: npm run build && mv client/build . && npm install

- name: Get version
id: get_version
Expand All @@ -29,7 +29,10 @@ jobs:
run: sudo apt-get install zip

- name: Zip all files
run: zip -r MySpeed-${{ steps.get_version.outputs.version }}.zip build node_modules server package.json package-lock.json
run: zip -r MySpeed-${{ steps.get_version.outputs.version }}-with-modules.zip build node_modules server package.json package-lock.json

- name: Zip all files (without node_modules)
run: zip -r MySpeed-${{ steps.get_version.outputs.version }}-without-modules.zip build server package.json package-lock.json

- uses: "marvinpinto/action-automatic-releases@latest"
with:
Expand All @@ -38,4 +41,5 @@ jobs:
prerelease: false
title: Release ${{ steps.get_version.outputs.version }}
files: |
./MySpeed-*zip
./MySpeed-*-with-modules.zip
./MySpeed-*-without-modules.zip
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,11 @@

# dependencies
/node_modules
/client/node_modules
/.pnp
.pnp.js


# production
/build
/build
/data
33 changes: 20 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,40 +12,47 @@
</p>
<h3 align="center">MySpeed</h3>

## Was ist das?
## Was ist MySpeed?

MySpeed ist eine deutschsprachige Speedtest Analyse-Software, welche das Internet der letzten 24 Stunden übersichtlich
MySpeed ist eine deutschsprachige Speedtest Analyse-Software, welche die Geschwindigkeit des Internets der letzten 24 Stunden übersichtlich
darstellt.

### Installation

1. Stelle sicher, dass du nodejs installiert hast.
2. Lade dir die neuste Version aus den [Releases](https://github.com/gnmyt/myspeed/releases/latest) herunter.
3. Setze die Umgebungsvariable `NODE_ENV` auf `production`.
4. Starte das Projekt. Das geht ganz einfach mit `node server`
Anleitung für [Linux](https://github.com/gnmyt/myspeed/wiki/Einrichtung-Linux)

Anleitung für [Windows](https://github.com/gnmyt/myspeed/wiki/Einrichtung-Windows)

### Beispiel-Screenshots

#### Startseite

<img src="https://i.imgur.com/vYWe5RJ.png">
<img src="https://i.imgur.com/94rQ4jq.png">

#### Auswahl-Menü

<img src="https://i.imgur.com/vRhBYD2.png">
<img src="https://i.imgur.com/tJHmUVs.png">

#### Seite während eines Speedtests

<img src="https://i.imgur.com/V7E3xH9.png">
<img src="https://i.imgur.com/rqvb1Ni.png">

#### Dialog für Einstellen des Down-Speeds

<img src="https://i.imgur.com/Pxw42b8.png">
<img src="https://i.imgur.com/DnEPbFV.png">

### Geschützte Startseite (Passwort festgelegt)

<img src="https://i.imgur.com/BGK166K.png">

### Dialog für Up- und Downspeed Empfehlung

<img src="https://i.imgur.com/ExgswYD.png">


## Überzeugt?

Du kannst dir das Projekt ganz easy herunterladen und auf deinen Server Zuhause installieren. Gib mir gerne Feedback,
falls ich etwas besser machen kann! :)
Cool, dann lass uns loslegen! Die Installationsanleitung für Linux (und Windows) findest du oben unter Installation.

## Lizenz

Expand All @@ -69,4 +76,4 @@ Verbreitet unter der MIT-Lizenz. Siehe `LICENSE` für weitere Informationen.

[license-shield]: https://img.shields.io/github/license/gnmyt/myspeed.svg?style=for-the-badge

[license-url]: https://github.com/gnmyt/myspeed/blob/master/LICENSE
[license-url]: https://github.com/gnmyt/myspeed/blob/master/LICENSE
27 changes: 15 additions & 12 deletions client/src/App.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,26 +4,29 @@ import HeaderComponent from "./components/HeaderComponent";
import TestAreaComponent from "./components/TestAreaComponent";
import {ConfigProvider} from "./context/ConfigContext";
import {DialogProvider} from "./context/DialogContext";
import {SpeedtestProvider} from "./context/SpeedtestContext";

function App() {

return (
<div className="App">
<DialogProvider>
<ConfigProvider>
<HeaderComponent/>
<main>
<>
<SpeedtestProvider>
<DialogProvider>
<ConfigProvider>

<LatestTestComponent/>
<HeaderComponent/>
<main>
<LatestTestComponent/>

<hr/>
<hr/>

<TestAreaComponent/>
<TestAreaComponent/>
</main>

</main>
</ConfigProvider>
</DialogProvider>
</div>
</ConfigProvider>
</DialogProvider>
</SpeedtestProvider>
</>
);
}

Expand Down
5 changes: 5 additions & 0 deletions client/src/App.sass
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ body, html
margin-right: 10px

.container-icon
width: 35px
height: 35px
color: #F1F1F1
font-size: 26pt

Expand All @@ -29,6 +31,9 @@ body, html
.icon-red
color: #C64545

.icon-white
color: #ffffff

.icon-error
color: #900c0c

Expand Down
2 changes: 1 addition & 1 deletion client/src/HelperFunctions.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ export function generateRelativeTime(created) {
export function getIconBySpeed(current, optional, higherIsBetter) {
let speed = Math.floor((current / optional) * 100);

if (current === 0) return "error";
if (current === -1) return "error";

if (higherIsBetter) {
if (speed >= 75) return "green";
Expand Down
Loading