Commit Graph

81 Commits

Author SHA1 Message Date
Akilan Selvacoumar
2b2f20ca18 changed route to view files added by a certain node (#105)
* changed route to view files added by a certain node

* gofmt my changes
2023-02-27 17:24:27 +00:00
Akilan Selvacoumar
1766aa85cb made backend varaible public (#104) 2023-02-12 10:06:17 +00:00
Akilan Selvacoumar
9775525d35 gofmt peernet (#103) 2023-02-12 09:59:31 +00:00
Akilan Selvacoumar
3a1eece580 Directory (#102)
* changes to explore to take parameter id in /explore

* route /expore/node added
2023-02-12 09:47:56 +00:00
Akilan Selvacoumar
3537d04c4d Exposed certain variables in the struct public for the Test framework. (#101)
* Exposed peer seed as a public struct

* Made certain variables public in the struct WebAPIInstance
2023-02-11 21:57:41 +00:00
Kleissner
ff6002c0a0 webapi: /status/peers add fields to response 2022-10-16 12:42:44 +02:00
Kleissner
249ccf0bcf webapi: New function /status/peers to return a list of all peers, including GeoIP info 2022-10-15 19:10:50 +02:00
Kleissner
34be2cc964 webapi: /explore optional &offset= parameter which does not make sense to be used 2022-10-14 16:28:43 +02:00
Kleissner
0e3e8dc988 Webapi: Implement pagination for /search/result by adding optional &offset= parameter 2022-06-01 17:09:42 +02:00
Kleissner
346f38c611 Add TS file extension to detected list. VLC creates TS files. 2022-03-29 02:28:33 +02:00
Kleissner
cb1441c97a VirtualPacketConn: New Stats field maintained by caller. This allows insight into active transfers.
New FileTransferStats and BlockTransferStats structures.
2022-03-16 23:52:55 +01:00
Kleissner
298dbf80d7 Fix bug in PeerConnectNode 2022-02-23 03:16:29 +01:00
Kleissner
ee22bf641a Warehouse.FileExists return fileSize instead of fileInfo 2022-02-21 22:35:20 +01:00
Kleissner
6a5312d834 New config field LogTarget. Simplified function backend.LogError. 2022-01-12 22:18:34 +01:00
Kleissner
a19bac1916 Refactor ReadBlock and ReadFile functions. Close #84 2022-01-03 01:21:05 +01:00
Kleissner
38d411bb9a webapi: Fix bug in search job. 2021-12-29 16:57:07 +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
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
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
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
ced9574e5e webapi: Live download implementation. 2021-12-14 01:27:04 +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
ecef7b5fb8 Webapi: Live implementation of search and explore. Removed dummy code. 2021-12-13 04:07:38 +01:00
Kleissner
68d8c11872 Refactor file transfer header encoding into protocol sub-module. 2021-11-30 03:53:19 +01:00
Kleissner
e648f80e31 webapi: /file/read and /file/view serve file from warehouse if available. 2021-11-29 17:51:22 +01:00
Kleissner
1be95b46fd webapi: Add documentation about file type and format. 2021-11-29 03:13:15 +01:00
Kleissner
ffc558b7f2 Change file permission of config file to 666 😈 when creating it. This is consistent with the log file. 2021-11-28 22:05:27 +01:00
Kleissner
793e586234 webapi: Set merkle fields of file records when adding files to the blockchain. 2021-11-28 22:03:08 +01:00
Kleissner
d64f8b19fb webapi: New function /warehouse/read/path to read a file from warehouse to disk 2021-11-26 08:53:42 +01:00
Kleissner
f9d8ecb6b0 webapi: Implement optional API key to secure the API against unauthenticated attackers. 2021-11-16 19:27:53 +01:00
Kleissner
d06c2e0b1a Define common application exit codes for backend executables in Exit.go.
Improve logging of webapi start.
2021-11-15 03:00:24 +01:00
Kleissner
9626fa8088 Fork btcec to remove external dependency. This significantly reduces the count of indirect modules (cuts it by half). Close #7
Update the other Go modules.
2021-11-14 22:37:07 +01:00
Kleissner
a727f4d8b1 Define and document the flow window size for transfer.
Document webapi timeout parameters.
2021-11-13 14:41:14 +01:00
Kleissner
f3d5f23cf9 Transfer: Record close reason of underlying library (UDT). This helps for debugging issues. Close #54 2021-11-08 04:40:53 +01:00
Kleissner
4704b5194f webapi: Add cancellation channel to FileStartReader. Add convenience function FileReadAll. 2021-11-01 22:36:10 +01:00
Kleissner
9ddca35277 Transfer: Set max packet size.
udt: Improve error messages. Fix bug in udtSocketSend.processDataMsg, the header was not considered in the max size.
webapi: New /file/view API which is useful for immediate testing of file transfer.
2021-10-28 04:06:10 +02:00
Kleissner
5d9d1bf838 File transfer: New API /file/read 2021-10-27 14:16:13 +02:00
Kleissner
b5266b1c52 File Transfer: Add header to file transfer to indicate file size and transfer size. This is important to know when to stop reading. It will also help when reading only ranges (which is important for video streaming).
New function FileTransferReadHeaderUDT to read the header.
Warehouse: ReadFile return count bytes read
2021-10-25 03:34:28 +02:00
Kleissner
f1e30c942f webapi: /blockchain/file/add and /blockchain/file/update now always overwrite file size field. Update file now fails if ID is not provided. 2021-10-22 16:55:03 +02:00
Kleissner
2659921cb8 warehouse: Minor refactoring. Use native hash encoding for FileExists. 2021-10-22 00:21:59 +02:00
Kleissner
c7b9facc10 webapi: /search/result always return stats if requested 2021-10-21 16:18:20 +02:00
Kleissner
e45d6fe888 New function to delete account. Create deletion functions for blockchain and warehouse. Add function /account/delete to webapi. Close #42 2021-10-20 08:46:53 +02:00
Kleissner
285bed59e3 webapi: Document time zone behavior. 2021-10-19 17:36:18 +02:00
Kleissner
e78ca02af7 Housekeeping! Renaming /blockchain functions for simplicity 2021-10-13 22:26:30 +02:00