diff --git a/.github/workflows/ping.yml b/.github/workflows/ping.yml index e0fea88..4485f08 100644 --- a/.github/workflows/ping.yml +++ b/.github/workflows/ping.yml @@ -6,6 +6,14 @@ on: schedule: - cron: "0 4 * * *" workflow_dispatch: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +env: + CARGO_TERM_COLOR: always + jobs: build: runs-on: ubuntu-latest diff --git a/Cargo.lock b/Cargo.lock index deb2839..bab2104 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -217,9 +217,9 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.63" +version = "0.1.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eff18d764974428cf3a9328e23fc5c986f5fbed46e6cd4cdf42544df5d297ec1" +checksum = "1cd7fce9ba8c3c042128ce72d8b2ddbf3a05747efb67ea0313c635e10bda47a2" dependencies = [ "proc-macro2", "quote", @@ -1479,9 +1479,9 @@ dependencies = [ [[package]] name = "futures" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38390104763dc37a5145a53c29c63c1290b5d316d6086ec32c293f6736051bb0" +checksum = "13e2792b0ff0340399d58445b88fd9770e3489eff258a4cbc1523418f12abf84" dependencies = [ "futures-channel", "futures-core", @@ -1494,9 +1494,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52ba265a92256105f45b719605a571ffe2d1f0fea3807304b522c1d778f79eed" +checksum = "2e5317663a9089767a1ec00a487df42e0ca174b61b4483213ac24448e4664df5" dependencies = [ "futures-core", "futures-sink", @@ -1504,15 +1504,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac" +checksum = "ec90ff4d0fe1f57d600049061dc6bb68ed03c7d2fbd697274c41805dcb3f8608" [[package]] name = "futures-executor" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7acc85df6714c176ab5edf386123fafe217be88c0840ec11f199441134a074e2" +checksum = "e8de0a35a6ab97ec8869e32a2473f4b1324459e14c29275d14b10cb1fd19b50e" dependencies = [ "futures-core", "futures-task", @@ -1521,15 +1521,15 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00f5fb52a06bdcadeb54e8d3671f8888a39697dcb0b81b23b55174030427f4eb" +checksum = "bfb8371b6fb2aeb2d280374607aeabfc99d95c72edfe51692e42d3d7f0d08531" [[package]] name = "futures-macro" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdfb8ce053d86b91919aad980c220b1fb8401a9394410e1c289ed7e66b61835d" +checksum = "95a73af87da33b5acf53acfebdc339fe592ecf5357ac7c0a7734ab9d8c876a70" dependencies = [ "proc-macro2", "quote", @@ -1538,21 +1538,21 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39c15cf1a4aa79df40f1bb462fb39676d0ad9e366c2a33b590d7c66f4f81fcf9" +checksum = "f310820bb3e8cfd46c80db4d7fb8353e15dfff853a127158425f31e0be6c8364" [[package]] name = "futures-task" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ffb393ac5d9a6eaa9d3fdf37ae2776656b706e200c8e16b1bdb227f5198e6ea" +checksum = "dcf79a1bf610b10f42aea489289c5a2c478a786509693b80cd39c44ccd936366" [[package]] name = "futures-util" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "197676987abd2f9cadff84926f410af1c183608d36641465df73ae8211dc65d6" +checksum = "9c1d6de3acfef38d2be4b1f543f553131788603495be83da675e180c8d6b7bd1" dependencies = [ "futures-channel", "futures-core", @@ -4083,9 +4083,9 @@ dependencies = [ [[package]] name = "tokio" -version = "1.24.2" +version = "1.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "597a12a59981d9e3c38d216785b0c37399f6e415e8d0712047620f189371b0bb" +checksum = "c8e00990ebabbe4c14c08aca901caed183ecd5c09562a12c824bb53d3c3fd3af" dependencies = [ "autocfg", "bytes", diff --git a/README.md b/README.md index 958d734..e2e6a42 100644 --- a/README.md +++ b/README.md @@ -563,14 +563,16 @@ These are the remote nodes used by Gupax in the `[P2Pool Simple]` tab. They are | reynald.ro | ๐Ÿ‡ซ๐Ÿ‡ท FR - รŽle-de-France | 18089 | 18084 | | node2.monerodevs.org | ๐Ÿ‡ซ๐Ÿ‡ท FR - Occitanie | 18089 | 18084 | | monero.homeqloud.com | ๐Ÿ‡ฌ๐Ÿ‡ท GR - East Macedonia and Thrace | 18089 | 18083 | +| home.allantaylor.kiwi | ๐Ÿ‡ณ๐Ÿ‡ฟ NZ - Canterbury | 18089 | 18083 | | ru.poiuty.com | ๐Ÿ‡ท๐Ÿ‡บ RU - Kuzbass | 18081 | 18084 | +| node-01-xmr.godevs.cloud | ๐Ÿ‡ธ๐Ÿ‡ฌ SG - Singapore | 18089 | 18083 | +| node-02-xmr.godevs.cloud | ๐Ÿ‡ธ๐Ÿ‡ฌ SG - Singapore | 18089 | 18083 | | radishfields.hopto.org | ๐Ÿ‡บ๐Ÿ‡ธ US - Colorado | 18081 | 18084 | | xmrbandwagon.hopto.org | ๐Ÿ‡บ๐Ÿ‡ธ US - Colorado | 18081 | 18084 | | xmr.spotlightsound.com | ๐Ÿ‡บ๐Ÿ‡ธ US - Kansas | 18081 | 18084 | | xmrnode.facspro.net | ๐Ÿ‡บ๐Ÿ‡ธ US - Nebraska | 18089 | 18084 | | moneronode.ddns.net | ๐Ÿ‡บ๐Ÿ‡ธ US - Pennsylvania | 18089 | 18084 | | node.richfowler.net | ๐Ÿ‡บ๐Ÿ‡ธ US - Pennsylvania | 18089 | 18084 | -| bunkernet.ddns.net | ๐Ÿ‡ฟ๐Ÿ‡ฆ ZA - Western Cape | 18089 | 18084 | These are community nodes that **DON'T** have ZMQ enabled but are fast and well-known. These are not used in Gupax but can be used for general Monero usage. @@ -611,7 +613,10 @@ before attempting a full build. --- ### Linux -You'll need the development versions of libraries like `OpenSSL`, `SQLite`, and maybe some other ones already installed on your system. Read the compiler errors to see which ones are missing from your system and search around to see which packages you'll need to install depending on your distro. +The pre-compiled Linux binaries are built on Debian 11, you'll need these packages to build: +``` +sudo apt install build-essential cmake libgtk-3-dev +``` After that, run: ``` diff --git a/src/constants.rs b/src/constants.rs index 8c7789d..924e442 100644 --- a/src/constants.rs +++ b/src/constants.rs @@ -16,7 +16,7 @@ // along with this program. If not, see . pub const GUPAX_VERSION: &str = concat!("v", env!("CARGO_PKG_VERSION")); // e.g: v1.0.0 -pub const P2POOL_VERSION: &str = "v2.7"; +pub const P2POOL_VERSION: &str = "v3.0"; pub const XMRIG_VERSION: &str = "v6.18.1"; pub const COMMIT: &str = include_str!("../.git/refs/heads/main"); // e.g: Gupax_v1_0_0 diff --git a/src/node.rs b/src/node.rs index 89cde1e..0042c28 100644 --- a/src/node.rs +++ b/src/node.rs @@ -34,31 +34,33 @@ use hyper::{ // Remote Monero Nodes with ZMQ enabled, sourced from: [https://github.com/hinto-janaiyo/monero-nodes] // The format is an array of tuples consisting of: (IP, LOCATION, RPC_PORT, ZMQ_PORT) -pub const REMOTE_NODES: [(&str, &str, &str, &str); 20] = [ - ("monero.10z.com.ar", "AR - Buenos Aires F.D.", "18089", "18084"), - ("escom.sadovo.com", "BG - Plovdiv", "18089", "18084"), - ("monero2.10z.com.ar", "BR - Sรฃo Paulo", "18089", "18083"), - ("monero1.heitechsoft.com", "CA - Ontario", "18081", "18084"), - ("node.monerodevs.org", "CA - Quebec", "18089", "18084"), - ("de.poiuty.com", "DE - Berlin", "18081", "18084"), - ("m1.poiuty.com", "DE - Berlin", "18081", "18084"), - ("p2pmd.xmrvsbeast.com", "DE - Hesse", "18081", "18083"), - ("fbx.tranbert.com", "FR - รŽle-de-France", "18089", "18084"), - ("reynald.ro", "FR - รŽle-de-France", "18089", "18084"), - ("node2.monerodevs.org", "FR - Occitanie", "18089", "18084"), - ("monero.homeqloud.com", "GR - East Macedonia and Thrace", "18089", "18083"), - ("ru.poiuty.com", "RU - Kuzbass", "18081", "18084"), - ("radishfields.hopto.org", "US - Colorado", "18081", "18084"), - ("xmrbandwagon.hopto.org", "US - Colorado", "18081", "18084"), - ("xmr.spotlightsound.com", "US - Kansas", "18081", "18084"), - ("xmrnode.facspro.net", "US - Nebraska", "18089", "18084"), - ("moneronode.ddns.net", "US - Pennsylvania", "18089", "18084"), - ("node.richfowler.net", "US - Pennsylvania", "18089", "18084"), - ("bunkernet.ddns.net", "ZA - Western Cape", "18089", "18084"), +pub const REMOTE_NODES: [(&str, &str, &str, &str); 22] = [ + ("monero.10z.com.ar", "AR - Buenos Aires F.D.", "18089", "18084"), + ("escom.sadovo.com", "BG - Plovdiv", "18089", "18084"), + ("monero2.10z.com.ar", "BR - Sรฃo Paulo", "18089", "18083"), + ("monero1.heitechsoft.com", "CA - Ontario", "18081", "18084"), + ("node.monerodevs.org", "CA - Quebec", "18089", "18084"), + ("de.poiuty.com", "DE - Berlin", "18081", "18084"), + ("m1.poiuty.com", "DE - Berlin", "18081", "18084"), + ("p2pmd.xmrvsbeast.com", "DE - Hesse", "18081", "18083"), + ("fbx.tranbert.com", "FR - รŽle-de-France", "18089", "18084"), + ("reynald.ro", "FR - รŽle-de-France", "18089", "18084"), + ("node2.monerodevs.org", "FR - Occitanie", "18089", "18084"), + ("monero.homeqloud.com", "GR - East Macedonia and Thrace", "18089", "18083"), + ("home.allantaylor.kiwi", "NZ - Canterbury", "18089", "18083"), + ("ru.poiuty.com", "RU - Kuzbass", "18081", "18084"), + ("node-01-xmr.godevs.cloud", "SG - Singapore", "18089", "18083"), + ("node-02-xmr.godevs.cloud", "SG - Singapore", "18089", "18083"), + ("radishfields.hopto.org", "US - Colorado", "18081", "18084"), + ("xmrbandwagon.hopto.org", "US - Colorado", "18081", "18084"), + ("xmr.spotlightsound.com", "US - Kansas", "18081", "18084"), + ("xmrnode.facspro.net", "US - Nebraska", "18089", "18084"), + ("moneronode.ddns.net", "US - Pennsylvania", "18089", "18084"), + ("node.richfowler.net", "US - Pennsylvania", "18089", "18084"), ]; pub const REMOTE_NODE_LENGTH: usize = REMOTE_NODES.len(); -pub const REMOTE_NODE_MAX_CHARS: usize = 24; // monero1.heitechsoft.com +pub const REMOTE_NODE_MAX_CHARS: usize = 25; // node-01-xmr.godevs.cloud pub struct RemoteNode { pub ip: &'static str, @@ -211,31 +213,33 @@ pub fn format_ip_location(og_ip: &str, extra_space: bool) -> String { "??? | ???".to_string() } -// monero1.heitechsoft.com = 24 max length +// node-01-xmr.godevs.cloud = 25 max length pub fn format_ip(ip: &str) -> String { match ip.len() { - 1 => format!("{} ", ip), - 2 => format!("{} ", ip), - 3 => format!("{} ", ip), - 4 => format!("{} ", ip), - 5 => format!("{} ", ip), - 6 => format!("{} ", ip), - 7 => format!("{} ", ip), - 8 => format!("{} ", ip), - 9 => format!("{} ", ip), - 10 => format!("{} ", ip), - 11 => format!("{} ", ip), - 12 => format!("{} ", ip), - 13 => format!("{} ", ip), - 14 => format!("{} ", ip), - 15 => format!("{} ", ip), - 16 => format!("{} ", ip), - 17 => format!("{} ", ip), - 18 => format!("{} ", ip), - 19 => format!("{} ", ip), - 20 => format!("{} ", ip), - 21 => format!("{} ", ip), - 22 => format!("{} ", ip), + 1 => format!("{} ", ip), + 2 => format!("{} ", ip), + 3 => format!("{} ", ip), + 4 => format!("{} ", ip), + 5 => format!("{} ", ip), + 6 => format!("{} ", ip), + 7 => format!("{} ", ip), + 8 => format!("{} ", ip), + 9 => format!("{} ", ip), + 10 => format!("{} ", ip), + 11 => format!("{} ", ip), + 12 => format!("{} ", ip), + 13 => format!("{} ", ip), + 14 => format!("{} ", ip), + 15 => format!("{} ", ip), + 16 => format!("{} ", ip), + 17 => format!("{} ", ip), + 18 => format!("{} ", ip), + 19 => format!("{} ", ip), + 20 => format!("{} ", ip), + 21 => format!("{} ", ip), + 22 => format!("{} ", ip), + 23 => format!("{} ", ip), + 24 => format!("{} ", ip), _ => format!("{}", ip), } }