Commit graph

136 commits

Author SHA1 Message Date
hinto-janaiyo
013d269bca helper: localhost into 127.0.0.1 for p2pool 2023-02-03 10:32:01 -05:00
hinto-janaiyo
7ada854ecd node: add MoneroWorld & HashVault 2023-01-22 21:01:10 -05:00
hinto-janaiyo
dea419c401 v1.1.0 2023-01-03 12:17:38 -05:00
hinto-janaiyo
daca770a96 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
36a1a4ca4d 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
ea394429fc linux: add [--features distro] build flag 2022-12-18 10:22:32 -05:00
hinto-janaiyo
3a01d28a18 Add [Video] guide 2022-12-15 17:18:28 -05:00
hinto-janaiyo
aab23e5f4d cargo check/clippy fixes 2022-12-13 23:05:13 -05:00
hinto-janaiyo
4021f0aacd v0.9.0 (maybe) 2022-12-12 17:24:05 -05:00
hinto-janaiyo
1535b5744e xmrig/status: implement API hyper/tokio call; add [Gupax] stats 2022-12-11 15:51:07 -05:00
hinto-janaiyo
f487f2d934 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
ac0c296ba5 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
2a04766abd main: add [zeroize] and implement sudo input/test screen for xmrig 2022-12-07 18:02:08 -05:00
hinto-janaiyo
e171f5fa3f helper: p2pool - stdout payouts/xmr parser, priv -> pub functions 2022-12-05 14:55:50 -05:00
hinto-janaiyo
7764de27f3 helper: p2pool - fix args, basic watchdog loop, add STDOUT/STDERR handle to [Process] struct 2022-12-04 11:24:38 -05:00
hinto-janaiyo
f129c66d1c helper: translate priv p2pool/xmrig API into pub [Human*] structs 2022-12-03 20:12:40 -05:00
hinto-janaiyo
2de7903d99 helper: map xmrig/p2pool JSON API key/values to structs for serde 2022-12-01 23:13:53 -05:00
hinto-janaiyo
539764e0ed v0.5.0 2022-11-22 10:12:16 -05:00
hinto-janaiyo
12c1f67baa 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
088aa56325 disk: add [ErrorState] handling for disk errors 2022-11-19 22:49:15 -05:00
hinto-janaiyo
1ecd37b99d update: recreate tor client on failure in metadata loop 2022-11-19 09:43:38 -05:00
hinto-janaiyo
c352a4510b node: implement async ping 2022-11-17 22:45:57 -05:00
hinto-janaiyo
27fa10c7ad gupax: add [FileWindow] selector for p2pool/xmrig path 2022-11-17 13:03:45 -05:00
hinto-janaiyo
98ac39c4c3 cleanup cargo warnings 2022-11-16 14:40:25 -05:00
hinto-janaiyo
6c5a8bc42f optimize [.lock()], add index counter to p2pool manual nodes 2022-11-15 21:22:15 -05:00
hinto-janaiyo
4e8dc52350 p2pool: add [Ping] into GUI, add [simple], add address regex check 2022-11-10 21:20:31 -05:00
hinto-janaiyo
0ea5b90647 os: fix platform specific issues 2022-11-02 18:18:41 -04:00
hinto-janaiyo
0f0e032588 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
37f60e7457 icons: custom icon per OS, build.rs, cargo-bundle 2022-10-31 17:03:59 -04:00
hinto-janaiyo
33f6aad156 egui: fix windows VM OpenGL panics, allow [F11] fullscreen 2022-10-29 21:56:17 -04:00
hinto-janaiyo
bf26f77d6d update: implement tor/arti, tls, basic metadata fetch 2022-10-24 22:58:42 -04:00
hinto-janaiyo
8b1d31c775 state.rs: add State::merge() 2022-10-18 15:26:21 -04:00
hinto-janaiyo
9228719995 node.rs: randomly send [1-5] RPC calls to prevent fingerprinting 2022-10-15 11:24:02 -04:00
hinto-janaiyo
24c8fd066c add [node.rs]: ping community nodes, find fastest 2022-10-14 17:22:25 -04:00
hinto-janaiyo
5a5f294b50 add toml.rs/constants.rs, ask_before_quit screen 2022-10-13 09:17:32 -04:00
hinto-janaiyo
81a3d80aa6 root 2022-10-09 14:08:16 -04:00