Commit graph

128 commits

Author SHA1 Message Date
Louis-Marie Baer
2f4816cd27 feat: add timestamp to console ouput XvB
fix: move code for output on console to a single function.
2024-03-19 15:43:13 +01:00
hinto.janai
6ad66d16fb
v1.3.6
updates `egui/eframe` -> `0.24.1` -> `0.26.2`

fixes non-responding nodes not being sorted correctly by ping ms
2024-03-18 18:05:02 -04:00
hinto.janai
2205610890
use wgpu backend
Both `glow` and `wgpu` seem to crash (at least in this version
of `eframe/egui`).

It's a pick your poison thing but it
seems wgpu crashing is less common.
2024-03-18 16:01:36 -04:00
Louis-Marie Baer
74c6a92535 feat: integrate algorithm of HR distribution 2024-03-17 01:22:44 +01:00
Louis-Marie Baer
e3d68bc36b fix: dep readable not only for unix 2024-03-16 16:41:21 +01:00
Louis-Marie Baer
9d163ae85e feat: finish XvB Tab with private stats and better log output
fix: color code status
feat: reload automaticcly XvB process if p2pool is off/online
feat: add all 5 private stat in a pretty way outside of console
feat: begin to use readable to replace human.rs
feat: function to verify if share is in current window
feat: maj TODO

feat: Maj TODO
2024-03-15 21:48:04 +01:00
Louis-Marie Baer
7f8b1b2089 feat: show XvB stats to Status Tab 2024-03-04 12:04:38 +01:00
Louis-Marie Baer
5ef88ad895 feat: bump egui and eframe to most up to date version
No modification of code needed.
2024-02-26 20:55:38 +01:00
Louis-Marie Baer
4db5163959 feat: bump version of env_logger and modify code for it
Use default style of env_logger instead of custom style.
2024-02-26 20:13:27 +01:00
Louis-Marie Baer
7b60a88176 feat: bump version of sysinfo and upgrade code for it 2024-02-26 19:43:32 +01:00
Louis-Marie Baer
2e51b312a4 feat: bump deps to most up to date without code modification
Use cargo-cargo upgrade and then manually checking the breaking change version that can be applied without modification on the code.
2024-02-26 19:38:37 +01:00
hinto.janai
22f11ce7d8
v1.3.5 2024-01-26 09:37:09 -05:00
hinto.janai
5699fe6702
v1.3.4 2024-01-09 08:35:11 -05:00
hinto.janai
3b7181e9c0
Merge branch 'egui' 2023-12-28 16:03:00 -05:00
hinto.janai
4f177ce951
constants: fix widget colors 2023-12-28 08:57:29 -05:00
hinto.janai
582f915977
Merge branch 'ansi' 2023-12-26 13:14:22 -05:00
hinto.janai
27cc46d615
egui: 0.19.0 -> 0.24.1 2023-12-26 11:26:40 -05:00
hinto.janai
91e5cddb8b
for -> while 2023-12-25 09:52:24 -05:00
hinto.janai
4d93670c82
windows: use glow GPU backend 2023-12-25 09:28:07 -05:00
hinto.janai
1bfd72a8c2
v1.3.3 2023-11-26 19:18:07 -05:00
hinto.janai
1eff1b0780
v1.3.2 2023-10-22 18:40:22 -04:00
hinto.janai
008c0def34
v1.3.1 2023-07-19 14:29:46 -04:00
hinto.janai
aa1b3717da
v1.3.0 2023-07-13 13:15:39 -04:00
hinto.janai
f45027e929
prepare v1.2.4 2023-07-13 10:44:05 -04:00
hinto.janai
9ac5335321
use wgpu backend for Linux
May fix https://www.reddit.com/r/MoneroMining/comments/140jlpy/i_cant_get_gupax_to_work_on_linux_fedora_any_ideas/
2023-06-04 18:45:47 -04:00
hinto.janai
dec25895ff
Cargo.toml: fix macOS link issues 2023-06-04 09:52:04 -04:00
hinto.janai
380620c050
update: fix macOS Tor's TLS
On apple-darwin targets there is an issue with the native and rustls
tls implementation so this makes it fall back to the openssl variant.

https://gitlab.torproject.org/tpo/core/arti/-/issues/715
2023-06-01 11:53:03 -04:00
hinto.janai
9b757d1db9
helper: adjust portable_pty
new `portable_pty` from `cargo upgrade`
has a new API on getting STDIN.
2023-05-30 11:57:00 -04:00
hinto.janai
65d1cd4115
cargo upgrade
This excludes:
- `tokio` (node ping gets broken)
- `egui` and friends (way too much layout code to rewrite)
2023-05-30 11:42:16 -04:00
hinto.janai
4c39b58579
v1.2.2 2023-05-11 16:55:26 -04:00
hinto.janai
5eb64a9a3a
num_cpus -> benri 2023-05-11 16:03:32 -04:00
hinto.janai
7d02dfadd0
replace lazy_static with once_cell 2023-05-11 16:01:17 -04:00
hinto.janai
f1320b91bd
gui: change Style
Everything to `Monospace`, set all colors to `ACCENT_COLOR`,
round all corners, set all widget text to `255, 255, 255` (rgb).
2023-04-16 12:49:48 -04:00
hinto.janai
7b56a7b900
main: integrate Syncing signal 2023-04-14 12:12:35 -04:00
hinto.janai
80320decee
cpu.json: update from ef1f6f08ac 2023-03-30 10:24:29 -04:00
hinto.janai
61aae35a95
cargo: add strsim 2023-03-17 16:05:22 -04:00
hinto.janai
bf9c1eea19
Edit name 2023-02-26 11:44:25 -05:00
hinto-janaiyo
c5edfa5593
prepare v1.2.0 2023-02-12 11:40:41 -05:00
hinto-janaiyo
296e6c2413
v1.1.2 2023-02-06 21:55:33 -05:00
hinto-janaiyo
c592f0c9af
only use wgpu backend for Windows 2023-02-06 19:41:17 -05:00
hinto-janaiyo
703b16c324
switch eframe rendering backend from glow to wgpu
The `glow` backend crashes on certain CPU-based graphics, particularly,
Windows running a CPU with integrated graphics using the basic
Microsoft Display Adapter driver.

`wgpu` seems to work everywhere.
2023-02-06 12:40:14 -05:00
hinto-janaiyo
55f8c24cc7
helper: localhost into 127.0.0.1 for xmrig 2023-02-06 09:17:09 -05:00
hinto-janaiyo
de142fb4c3
helper: localhost into 127.0.0.1 for p2pool 2023-02-03 10:32:01 -05:00
hinto-janaiyo
94839a0943
node: add MoneroWorld & HashVault 2023-01-22 21:01:10 -05:00
hinto-janaiyo
388d279e77
v1.1.0 2023-01-03 12:17:38 -05:00
hinto-janaiyo
9d66a20360
status: enable p2pool/xmrig "Image" stats
These couldn't be fit in before since there wasn't enough space.
They still can't all fit in, but the most important ones can be
after adjusting the font sizes and height spacing.
2022-12-23 14:06:25 -05:00
hinto-janaiyo
17feda5cb3
macos: warn user if gupax is in [/private] directory
macOS moves "dangerous" applications into a read-only [/private]
filesystem. This messes up with the updater and default P2Pool and
XMRig paths.

If [/private] is detected, show a panic screen upon Gupax startup
telling the user to move it to [/Applications]. This _seems_ to
make macOS relax a little (after an arbitrary amount of time...)
2022-12-22 11:56:25 -05:00
hinto-janaiyo
3db1adce75
linux: add [--features distro] build flag 2022-12-18 10:22:32 -05:00
hinto-janaiyo
94031359b3
Add [Video] guide 2022-12-15 17:18:28 -05:00
hinto-janaiyo
d3bbe2ece2
cargo check/clippy fixes 2022-12-13 23:05:13 -05:00
hinto-janaiyo
128fa500bb
v0.9.0 (maybe) 2022-12-12 17:24:05 -05:00
hinto-janaiyo
1e2b8f7803
xmrig/status: implement API hyper/tokio call; add [Gupax] stats 2022-12-11 15:51:07 -05:00
hinto-janaiyo
4da775667b
windows/pty: include static [VCRUNTIME140.dll], change PTY size
Bare metal windows was complaining about this DLL, so it is now
included statically using [https://docs.rs/static_vcruntime/].
I tried statically linking everything for Windows but:
	1. It's not necessary, pretty much all DLLs needed
	   (except this one) are included in Windows 7+ by default
	2. It's a pain in the ass to build everything
	   statically, especially since Gupax needs OpenSSL.
	   (building OpenSSL on Windows == hell)

Windows/macOS were having console artifacts, escape codes and
random newlines would show up in P2Pool/XMRig output. After
thinking about it for a while, I realized I left the PTY
size to the default [24 rows/80 columns], hence the PTYs
prematurely inserting newlines and weird escape codes.

It works fine after setting it to [100/1000]. Interestingly,
Linux worked completely fine on 24/80, probably resizes internally.
2022-12-10 15:40:32 -05:00
hinto-janaiyo
e7de536f18
windows: handle admin priviledge for xmrig
Please read the [src/README.md]. I hate windows so much.
2022-12-09 21:31:16 -05:00
hinto-janaiyo
f988e4224c
main: add [zeroize] and implement sudo input/test screen for xmrig 2022-12-07 18:02:08 -05:00
hinto-janaiyo
1f3a472869
helper: p2pool - stdout payouts/xmr parser, priv -> pub functions 2022-12-05 14:55:50 -05:00
hinto-janaiyo
5d293054cf
helper: p2pool - fix args, basic watchdog loop, add STDOUT/STDERR handle to [Process] struct 2022-12-04 11:24:38 -05:00
hinto-janaiyo
d9d71c40d4
helper: translate priv p2pool/xmrig API into pub [Human*] structs 2022-12-03 20:12:40 -05:00
hinto-janaiyo
bfbe0ee969
helper: map xmrig/p2pool JSON API key/values to structs for serde 2022-12-01 23:13:53 -05:00
hinto-janaiyo
20c7542189
v0.5.0 2022-11-22 10:12:16 -05:00
hinto-janaiyo
9e03b3caad
cargo/tor/p2pool: clean deps, warn macos arti, fix node overflow
Cargo: Cleanup unused dependencies, enable some build optimizations

Tor: Arti doesn't seem to work on macOS
Even a bare Arti+Hyper request doesn't seem to work, so it's
probably not something to do with Gupax. A lot of issues only
seem to popup in a VM (OpenGL, TLS) even though on bare metal
Gupax runs fine, so Tor might work fine on real macOS but I don't
have real macOS to test it. VM macOS can't create a circuit, so,
disable by default and add a warning that it's unstable.

P2Pool: Let selected_index start at 0, and only +1 when printing
to the user, this makes the overflow math when adding/deleting a
lot more simple because selected_index will match the actual index
of the node vector
2022-11-21 17:25:38 -05:00
hinto-janaiyo
7a5fe24276
disk: add [ErrorState] handling for disk errors 2022-11-19 22:49:15 -05:00
hinto-janaiyo
ff98b2a303
update: recreate tor client on failure in metadata loop 2022-11-19 09:43:38 -05:00
hinto-janaiyo
8a31a707d9
node: implement async ping 2022-11-17 22:45:57 -05:00
hinto-janaiyo
51df689cb0
gupax: add [FileWindow] selector for p2pool/xmrig path 2022-11-17 13:03:45 -05:00
hinto-janaiyo
1b85e59530
cleanup cargo warnings 2022-11-16 14:40:25 -05:00
hinto-janaiyo
a13e6d689b
optimize [.lock()], add index counter to p2pool manual nodes 2022-11-15 21:22:15 -05:00
hinto-janaiyo
9638f9dc5b
p2pool: add [Ping] into GUI, add [simple], add address regex check 2022-11-10 21:20:31 -05:00
hinto-janaiyo
22a03a6034
os: fix platform specific issues 2022-11-02 18:18:41 -04:00
hinto-janaiyo
b64e1e3a46
update: save [Version] to state, use runtime [og: State]
[og: State] is now completely wrapped in an [Arc<Mutex>] so that
when the update is done, it can [.lock()] the CURRENT runtime
settings of the user and save to [gupax.toml] instead of using an
old copy that was given to it at the beginning of the thread.

In practice, this means users can change settings around during
an update and the update finishing and saving to disk won't be
using their old settings, but the current ones. Wrapping all of
[og: State] within in [Arc<Mutex>] might be overkill compared to
message channels but [State] really is just a few [bool]'s, [u*],
and small [String]'s, so it's not much data.

To bypass a deadlock when comparing [og == state] every frame,
[og]'s struct fields get cloned every frame into separate
variables, then it gets compared. This is also pretty stupid, but
again, the data being cloned is so tiny that it doesn't seem to
slow anything down.
2022-11-02 13:58:44 -04:00
hinto-janaiyo
20f5e2d917
icons: custom icon per OS, build.rs, cargo-bundle 2022-10-31 17:03:59 -04:00
hinto-janaiyo
f83bf5e2cc
egui: fix windows VM OpenGL panics, allow [F11] fullscreen 2022-10-29 21:56:17 -04:00
hinto-janaiyo
bf81b2c57c
update: implement tor/arti, tls, basic metadata fetch 2022-10-24 22:58:42 -04:00
hinto-janaiyo
5e65d07470
state.rs: add State::merge() 2022-10-18 15:26:21 -04:00
hinto-janaiyo
dafb8fc18e
node.rs: randomly send [1-5] RPC calls to prevent fingerprinting 2022-10-15 11:24:02 -04:00
hinto-janaiyo
c93a07b7a5
add [node.rs]: ping community nodes, find fastest 2022-10-14 17:22:25 -04:00
hinto-janaiyo
ab9b98a819
add toml.rs/constants.rs, ask_before_quit screen 2022-10-13 09:17:32 -04:00
hinto-janaiyo
d315e5c7cb
root 2022-10-09 14:08:16 -04:00