Commit graph

113 commits

Author SHA1 Message Date
Christian Ditaputratama
efc86d66fd
feat: Added filter by country
Some checks are pending
Test / test (push) Waiting to run
2024-11-03 17:37:11 +07:00
Christian Ditaputratama
0165f0c251
feat: Added folter by protocol 2024-11-03 16:33:50 +07:00
Christian Ditaputratama
e524c2686d
feat!: Remove old frontend codes 2024-11-03 16:33:15 +07:00
Christian Ditaputratama
97f6312ce9
feat: Added table filter: host and nettype 2024-11-03 16:15:01 +07:00
Christian Ditaputratama
ea0e0df57d
feat: Using relative time for last check nodes 2024-11-01 23:03:10 +07:00
Christian Ditaputratama
c3c18ced05
feat: Added uptime cell component 2024-11-01 22:31:34 +07:00
Christian Ditaputratama
44722f6b43
feat: Added node statuses cell component 2024-11-01 21:19:23 +07:00
Christian Ditaputratama
babe61258a
feat: Added country cell to remote nodes table 2024-11-01 20:16:01 +07:00
Christian Ditaputratama
7b5287fe9a
chore: Moving country flags location 2024-11-01 20:14:35 +07:00
Christian Ditaputratama
f2cc795dc2
feat: Added protocol cell to remote nodes table 2024-11-01 19:50:56 +07:00
Christian Ditaputratama
b23b0ae31a
feat: Added hostname:port cell to remote node table
TODO: Add modal window for tor addresses
2024-11-01 04:13:52 +07:00
Christian Ditaputratama
751bfbc585
feat: Added nettype cell table 2024-11-01 03:05:29 +07:00
Christian Ditaputratama
6efa763e73
style: Styling base datatable CSS 2024-10-31 23:08:05 +07:00
Christian Ditaputratama
10182d9dbc
feat!: Added base datatable functionality
Deprecated: `SortDirection` is deprecated, use `SortDir` instead
2024-10-31 22:45:26 +07:00
Christian Ditaputratama
ca3ca881fd
feat: Added paging package
Helper package for datatable pagination
2024-10-31 22:44:20 +07:00
Christian Ditaputratama
ec6f0a1893
Changed LastChecked from uint to int64
Since the LastChecked record is storing unix timestamp, using `int64`
make it easier to work with `time` package.
2024-10-31 22:40:38 +07:00
Christian Ditaputratama
30aa8d80dc
feat: Added favicon 2024-10-31 18:55:31 +07:00
Christian Ditaputratama
f6adb40b3f
chore: Open GitHub repo in the new tab 2024-10-31 18:20:53 +07:00
Christian Ditaputratama
93fb22f29b
feat: Added clipboard functionality 2024-10-31 18:09:02 +07:00
Christian Ditaputratama
63e803ba17
style: Added remote-nodes and add-node page design 2024-10-31 16:28:51 +07:00
Christian Ditaputratama
ddc837be4a
style: Changed sticky navbar to fixed position 2024-10-31 16:26:49 +07:00
Christian Ditaputratama
4dfab11d2c
feat(style)!: Added the new homepage design view
TODO: Add copy to clipboard functionality
2024-10-31 16:25:16 +07:00
Christian Ditaputratama
0a80a52d2d
chore: Moving Monero QR donation image location 2024-10-31 16:21:43 +07:00
Christian Ditaputratama
176a02412a
Switching to BSD-3-Clause license
I've been suggested to change the license to more popular open-source
licenses. So I choose to change from GLWTPL to BSD-3-Clause.
2024-10-31 10:59:08 +07:00
Christian Ditaputratama
8b39502d90
chore(style): Changed UI layout styles 2024-10-31 10:39:18 +07:00
Christian Ditaputratama
965d3230a1
feat: Added navbar current page position indicator 2024-10-30 15:39:01 +07:00
Christian Ditaputratama
dd48bd458a
feat: Added global loading indicator 2024-10-30 15:10:35 +07:00
Christian Ditaputratama
2003c3c3ac
feat(ui): Added main navbar 2024-10-30 14:23:45 +07:00
Christian Ditaputratama
3a45071cd6
feat: Refactor fiber server 2024-10-29 21:30:04 +07:00
Christian Ditaputratama
be32011cfa
feat!: templ + htmx build system 2024-10-29 20:41:22 +07:00
Christian Ditaputratama
ef953b36fd
fix: Reject input hostname with protocol
This is quick fix.

Do not accept submitted tor address with protocol since it won't work.

The initial clearnet validation can be done with `net.LookupIP`, but
for tor network can't be done with that method. For now, just inform
to remove the http:// or https:// part to the submitter.
2024-09-16 22:35:14 +07:00
Christian Ditaputratama
9bd609e4dd
chore: Remove dev SQL statement 2024-09-12 05:27:54 +07:00
Christian Ditaputratama
f6b048b017
feat: Record node ip addresses #84
For future use investigations about "suspicious" nodes. #105
2024-09-12 01:13:30 +07:00
Christian Ditaputratama
c3f837e122
feat: Check IP-stack info everytime prober send report #84
This commit add IsIPv6Only function inside `internal/ip` package
and moving `geo` package from `internal/geo` to `internal/ip/geo`.

Although it increases server resource usage, checking hostname to IP is
required every time the prober sends a report so that the `ipv6_only`
record in the database is not up-to-date. Previously, this feature did
not exist.
2024-09-09 18:21:03 +07:00
Christian Ditaputratama
518d4b4335
feat: Added IPv6 nodes support (alpha) #84
This commit accept IPv6 nodes submission.

When user submit new public node, the server will check IP addresses
from given hostname. If host IP addresses doesn't have IPv4, it will
be recorded as "IPv6 only" node.

Probers that support IPv6 may add `IPV6_CAPABLE=true` to the `.env`
file.

Please note that this feature still experimental and may not being
merged to the main branch.
2024-09-06 00:08:59 +07:00
Christian Ditaputratama
5a6641a199
refactor: Use ptr for QueryNodes.toSQL()
Since `SortBy` and `SortDirection` is modified directly from `QueryNodes`
pointer, `sortBy` and `sortDirrection` return value from `QueryNodes.toSQL()`
no longger needed
2024-08-05 18:27:00 +07:00
Christian Ditaputratama
4395a5e2d5
test: Add benchmark Test for QueryNodes.toSQL()
Some checks are pending
Build / build (push) Waiting to run
Test / test (push) Waiting to run
2024-07-29 22:44:10 +07:00
Christian Ditaputratama
97fad6cacb
refactor: Use slice.Contains() nettype check
Instead using `||` for each nettype query check , simply using `slice.Contains`.
Also, checking `any` value is not needed here.
2024-07-29 22:30:03 +07:00
Christian Ditaputratama
73308d2a32
refactor: Use proberRepo struct instead of interface
Some checks failed
Build / build (push) Has been cancelled
Test / test (push) Has been cancelled
o need to use interface when calling `NewProber()`.
2024-07-07 03:25:30 +07:00
Christian Ditaputratama
4d1a2da49c
refactor: Use moneroRepo struct instead of interface
No need to use interface when calling `monero.New()`.
2024-07-07 03:13:11 +07:00
Christian Ditaputratama
ef553dab9e
refactor: Use cronRepo struct instead of interface
No need to use interface when calling `cron.New()`.
2024-07-07 02:57:36 +07:00
Christian Ditaputratama
c250e8e3bb
feat!: Moving handler to internal/handler
So people aware that the package is internal use and not using that
on their projects.
2024-07-07 01:42:29 +07:00
Christian Ditaputratama
4c7d53547b
feat!: Change the module name to "URL based"
This make me easier to test the module with external services.
2024-07-07 01:28:44 +07:00
Christian Ditaputratama
0d72dd9995
build: Inject version when build the binaries
The version include git current commit and branch info.
2024-07-04 03:45:37 +07:00
ditatompel
3f5c0c9472
refactor: Lowercase & upperase initialism acronyms 2024-06-19 16:24:18 +07:00
ditatompel
e9cacb478c
feat: Allow user to specify custom .env location
Some checks failed
Build / build (push) Has been cancelled
Test / lint (push) Has been cancelled
This feature can also be useful for running tests in CI.
2024-06-18 04:23:08 +07:00
ditatompel
17b5f18332
chore(docs): Note how to get list of public nodes
Adding example way to get list of Monero public nodes
using monero-wallet-cli for future integration test.
2024-06-11 14:47:01 +07:00
ditatompel
1429cde662
Uppercase CheckAPI test func
Ref cd52dc7
2024-06-10 03:23:03 +07:00
ditatompel
cd52dc7b70
Lowercase & upperase initialism acronyms
See https://google.github.io/styleguide/go/decisions#initialisms
2024-06-10 03:03:23 +07:00
ditatompel
5f5ebd81a9
Reuse existing db connection (if any) 2024-06-10 02:47:44 +07:00