Commit Graph

322 Commits

Author SHA1 Message Date
Kleissner
5c8b8eb94b Implement backend.Stdout that can be subscribed/unsubscribed. 2022-01-06 04:11:28 +01:00
Kleissner
a19bac1916 Refactor ReadBlock and ReadFile functions. Close #84 2022-01-03 01:21:05 +01:00
Kleissner
5247d88345 New high-level filters for the blockchain cache. Use new IngestBlock function that records stats. 2022-01-03 00:56:57 +01:00
Kleissner
39d6f71a7f Blockchain multi-store: Provide filter callbacks. Store statistics about blockchains (Count File Records, Size All Files). New iterate function. 2022-01-03 00:52:02 +01:00
Kleissner
8aee4b16f9 Search: Check if search index is available in main functions. 2022-01-03 00:15:20 +01:00
Kleissner
10d39595f6 Store: Add Iterate function 2022-01-03 00:11:25 +01:00
Kleissner
0689543d43 GitHub actions currently unused. Close #62 2021-12-31 01:37:43 +01:00
Kleissner
82ffa7ca3e New function firewallDetectIndicatorFile to detect the presence of the indicator file created by the setup. 2021-12-31 01:36:50 +01:00
Kleissner
38d411bb9a webapi: Fix bug in search job. 2021-12-29 16:57:07 +01:00
Kleissner
0493acce64 Update log file name 2021-12-29 16:07:40 +01:00
Kleissner
9a9a4919e8 Move UPnP fields into networks context 2021-12-29 05:50:33 +01:00
Kleissner
5d598c13f6 webapi: Move search jobs into API context 2021-12-29 05:47:17 +01:00
Kleissner
ec1bfdfac8 webapi: Move download info into api context 2021-12-29 05:41:16 +01:00
Kleissner
f2c344dc96 Major refactoring of the code base into Backend structure. Increase version number to Alpha 6 to prepare for the upcoming release. 2021-12-29 05:29:34 +01:00
Kleissner
ade13d6422 Search results: Immediately (with results) signal if no more results will be available (search terminated). 2021-12-14 17:48:59 +01:00
Kleissner
2806f3abcf Search: support indexing of CamelCase words (breaking them up). 2021-12-14 17:02:15 +01:00
Kleissner
5a89f2b943 Add "webp" file extension as picture. 2021-12-14 16:55:52 +01:00
Kleissner
a67c67b7f9 Fix returned status in /search/result 2021-12-14 16:08:02 +01:00
Kleissner
9262acba88 Search: Support hashtags. Remove # prefix when indexing words. 2021-12-14 15:51:00 +01:00
Kleissner
c053c617c2 Add users blockchain data to the search index and provide it in search results. Updated webapi search and download. 2021-12-14 15:45:03 +01:00
Kleissner
da0a6357de Add config entry for GeoIPDatabase 2021-12-14 14:24:21 +01:00
Kleissner
20a1d45520 webapi: Implement GeoIP. 2021-12-14 03:09:28 +01:00
Kleissner
e41e6820bc Search: Add separator.
webapi: Search results and explore: set tag TagSharedByCount if file owner is active peer.
2021-12-14 02:13:04 +01:00
Kleissner
281622aa49 NodelistLookup function 2021-12-14 02:05:08 +01:00
Kleissner
ced9574e5e webapi: Live download implementation. 2021-12-14 01:27:04 +01:00
Kleissner
b3f1293f3c UDT: closing messageOut results into too fast closing. Don't close it for now as an ugly bush fix. 2021-12-14 01:20:16 +01:00
Kleissner
10e5213944 UDT: Fix the close problem: Have a regular Close() function that may be called after reading/writing is done, and a Terminate() function that can be called anytime. 2021-12-13 22:52:42 +01:00
Kleissner
f18e651f40 webapi: /file/view add parameter 'nocache' to force download from remote peer. This is useful for testing purposes. 2021-12-13 16:52:13 +01:00
Kleissner
cab881ebdb webapi: Add option for some URLs to accept the API key in the parameter, instead of the "x-api-key" HTTP header. By default add /file/read and /file/view.
This allows embedding the URLs into existing code that may not be able to set the special HTTP header.
2021-12-13 16:49:56 +01:00
Kleissner
7adadf9ad5 UDT: Fix critical bugs that appear during high packet loss. Recv: Implement resending ACKs (until ACK2'ed). Send: Implement unsolicited data resending of unacked data packets. Double sending time each try to prevent ddos. 2021-12-13 16:21:53 +01:00
Kleissner
5d0989bfeb Introduce nodeList for quicker lookup based on node ID. It is mirrored from peerList.
This improves the speed of lookup in FindNode if the node is already connected.
2021-12-13 13:33:09 +01:00
Kleissner
ca58296e65 UDT: Fix race condition 'send on closed channel' by introducing a separate termination signal. 2021-12-13 13:30:23 +01:00
Kleissner
388343dc3e Version Alpha 5. 2021-12-13 04:16:02 +01:00
Kleissner
ecef7b5fb8 Webapi: Live implementation of search and explore. Removed dummy code. 2021-12-13 04:07:38 +01:00
Kleissner
8c8a901a31 Search: Deduplication of file IDs if found via multiple search terms. 2021-12-13 04:02:17 +01:00
Kleissner
359387af0d Search index: Change unindexing algorithm on entire blockchain level instead of version+block number. Fixing bug in unindexing. 2021-12-13 02:15:55 +01:00
Kleissner
f9c661b003 Search index: Add blockchain version to the records. 2021-12-13 00:05:54 +01:00
Kleissner
d494d46410 🔍 search algorithm! 🎉🎊🥳 2021-12-12 19:12:01 +01:00
Kleissner
0cd4519688 Send Announcement instead of ping in case blockchain info was not refreshed within a certain threshold. This helps to keep the global blockchain cache active, with no additional overhead. Close #78 2021-12-12 01:06:55 +01:00
Kleissner
ea31af1f6e Fix bug in packetGarbage 2021-12-11 22:25:54 +01:00
Kleissner
9f2783349e Fix race condition in UDT, check if socket is nil before closing it 2021-12-11 21:43:06 +01:00
Kleissner
c12b68c35c Update blockchain height to 64-bits according to the Whitepaper 0.9.2. Close #74 2021-12-11 20:43:38 +01:00
Kleissner
5db25f2704 Minor fix for mobile: Explicitly cast length to uint64 so it works on stupid systems (32-bit) as well 2021-12-11 18:46:43 +01:00
Kleissner
c8e0d1cfbe Blockchain: New TargetBlockSize which is honored for files and profile fields. Close #80, close #75 2021-12-11 18:07:48 +01:00
Kleissner
15e46133c7 Global Blockchain Cache implementation. Automatically download other blockchains based on the limits in the config.
Started with a unified backend struct. Long term all lose vars should be put there, which in term will support multiple concurrent Peernet instances (users) within the same process.
2021-12-11 14:55:02 +01:00
Kleissner
1ece19709e Store: New Count() function to return count of all records stored. 2021-12-11 13:00:49 +01:00
Kleissner
d2bde58d4b Get Block message: BlockTransferReadBlock validate limit. Fix in startBlockTransfer. New high-level function BlockDownload to download requested blocks. 2021-12-11 12:59:50 +01:00
Kleissner
b65f53611a Rename file to clarify 2021-12-11 04:03:35 +01:00
Kleissner
2900f06281 Add blockchain multi store implementation. Close #73 2021-12-11 03:58:23 +01:00
b83a48bf44 added .idea/ to gitignore 2021-12-09 14:10:58 +04:00