Commit graph

913 commits

Author SHA1 Message Date
hinto-janaiyo
9f31ab4694 xmrig: tls+keepalive default false (for p2pool) 2022-11-26 22:41:08 -05:00
hinto-janaiyo
c348cdaba1 xmrig: reorder "rig" to be last in list 2022-11-26 22:38:18 -05:00
hinto-janaiyo
790819c5b8 cargo cleanup 2022-11-26 22:26:32 -05:00
hinto-janaiyo
646459b6f3 app: resize only once on width diff, set static button size at init
A [must_resize] and [ctx.is_pointer_over_area()] is now used to
indicate we need a resizing. This makes it so when a user is
resizing the width of Gupax, the heavy [init_text_styles()] func
will only get called once when the user hovers over the GUI.

The button size is also now set in that function so it doesn't
have to be called in every separate tab.
2022-11-25 12:01:52 -05:00
hinto-janaiyo
3b8b00b33c main: implement [--reset-pools] 2022-11-24 21:06:29 -05:00
hinto-janaiyo
16f77d5a59 update: sanity check p2pool/xmrig path from user before starting
Define a strict list [&str; 4] of valid path endings for p2pool/xmrig.
This prevents users (for some reason) inputting a path to some
other (maybe very important) file which Gupax would have completely
overridden with the update binary. Windows paths end with [.exe].
2022-11-24 20:51:18 -05:00
hinto-janaiyo
174139efc5 Cargo update + clippy lint fixes 2022-11-23 23:03:56 -05:00
hinto-janaiyo
ad64bd87fa add utils/skel 2022-11-23 22:32:17 -05:00
hinto-janaiyo
9462459c85 [Simple/Advanced] for [Gupax/XMRig] tabs 2022-11-23 16:50:15 -05:00
hinto-janaiyo
56c4a2c236 node: add plowsof to community node list 2022-11-22 23:10:06 -05:00
hinto-janaiyo
a62d9c12a6 prepare v0.7.0 2022-11-22 23:02:05 -05:00
hinto-janaiyo
ac43d93cc9 utils: add package.sh 2022-11-22 13:58:39 -05:00
hinto-janaiyo
539764e0ed v0.5.0 2022-11-22 10:12:16 -05:00
hinto-janaiyo
6ae89b7e80 update: consolidate upgrade/rename loop
Since p2pool/xmrig could be running as well, this also applies the
windows old binary rename code to p2pool/xmrig.
2022-11-21 20:54:19 -05:00
hinto-janaiyo
b636013384 p2pool: refine ping auto_select 2022-11-21 20:11:31 -05:00
hinto-janaiyo
90ce2c913c gupax: consolidate FileWindow thread into separate function 2022-11-21 19:57:36 -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
77d5daa93e log: date -> sec.milli since init 2022-11-20 20:26:50 -05:00
hinto-janaiyo
cd14297b50 node: handle [write!] error 2022-11-20 14:46:43 -05:00
hinto-janaiyo
d37d830952 update/ping: consolidate code in *::spawn_thread() 2022-11-20 14:20:25 -05:00
hinto-janaiyo
26eecd4b25 main/disk: get OS data path only once, pass ref for [state/node] 2022-11-20 13:31:00 -05:00
hinto-janaiyo
088aa56325 disk: add [ErrorState] handling for disk errors 2022-11-19 22:49:15 -05:00
hinto-janaiyo
20a73cbc67 main: prevent overflowing p2pool manual node index 2022-11-19 13:35:28 -05:00
hinto-janaiyo
4b7a4ad53b p2pool: use indexing for nodes instead of for loop comparisons 2022-11-19 13:03:33 -05:00
hinto-janaiyo
1ecd37b99d update: recreate tor client on failure in metadata loop 2022-11-19 09:43:38 -05:00
hinto-janaiyo
b3fbcf432d Update CHANGELOG.md 2022-11-18 21:47:14 -05:00
hinto-janaiyo
fcdd25b186 p2pool: implement async node ping in GUI 2022-11-18 14:30:55 -05:00
hinto-janaiyo
c352a4510b node: implement async ping 2022-11-17 22:45:57 -05:00
hinto-janaiyo
3e3c44e492 gupax: disable FileSelector ui if thread exists 2022-11-17 16:53:55 -05:00
hinto-janaiyo
27fa10c7ad gupax: add [FileWindow] selector for p2pool/xmrig path 2022-11-17 13:03:45 -05:00
hinto-janaiyo
bf3a14bfa2 update: use compiled + updated version in gupax version comparison
If the built-in compiled version of Gupax is the only version
getting compared when updating, an old Gupax instance will always
think there's a new version even if the user already updated and
the actual binaries are swapped. To prevent forcing users to
restart, the built-in compiled version gets compared as well as
the version stored in [Arc<Mutex<Version>>], which should get
updated in a successful Gupax update.
2022-11-16 21:14:21 -05:00
hinto-janaiyo
989ce8ba1f p2pool: use [Arc<Mutex<Ping>>] as intermediary for node auto-select 2022-11-16 17:41:41 -05:00
hinto-janaiyo
98ac39c4c3 cleanup cargo warnings 2022-11-16 14:40:25 -05:00
hinto-janaiyo
cb2db2e8ef main: implement [ErrorState] checks in main() 2022-11-16 14:07:27 -05:00
hinto-janaiyo
6c5a8bc42f optimize [.lock()], add index counter to p2pool manual nodes 2022-11-15 21:22:15 -05:00
hinto-janaiyo
049b044e8b implement [--reset], add [ErrorState] for fullscreen ferris error 2022-11-15 16:29:05 -05:00
hinto-janaiyo
50d12a4774 add ed25519 PGP key 2022-11-14 22:11:22 -05:00
hinto-janaiyo
4526b21bf5 main: more strict [gupax_update_] deletion with regex 2022-11-14 22:11:00 -05:00
hinto-janaiyo
302b7d4d36 p2pool: prevent deleting [0] node_vec and [panic!] 2022-11-14 22:10:19 -05:00
hinto-janaiyo
339b8f302d p2pool: add [Advanced], add [node.toml] database, add char limit 2022-11-13 21:56:25 -05:00
hinto-janaiyo
66721e5156 add [init_auto()] for auto-* options 2022-11-10 23:42:57 -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
f48f6d2c07 update: use [og: State] instead of [state] for Tor bool 2022-10-28 16:14:43 -04:00
hinto-janaiyo
c24d62b739 update: move [3] retry to outer loop 2022-10-28 15:45:13 -04:00
hinto-janaiyo
6b86beb19e update/gupax: retry on failed bytes, add progress bar/spinner 2022-10-27 11:52:18 -04:00
hinto-janaiyo
e8060c4521 update: implement retry on [v*] failure, version diff to new vec 2022-10-26 23:15:56 -04:00