Commit Graph

985 Commits (71c53ef643e465601ad8aecd2610780eb4551254)

Author SHA1 Message Date
Zlatin Balevsky f20b23434f
one more 2020-09-18 16:13:23 +01:00
Zlatin Balevsky 8d523a6265
update to api 2020-09-18 15:56:39 +01:00
Zlatin Balevsky 38b9ab5200
gui browse/feed/chat actions from upload table 2020-09-18 15:42:35 +01:00
Zlatin Balevsky f6fdf9e33f
parse browse/feed/chat headers on the uploader side 2020-09-18 14:59:58 +01:00
Zlatin Balevsky b729a89672
Advertise browse/feed/chat abilities in download headers 2020-09-18 14:50:49 +01:00
Zlatin Balevsky e531093b28
do not try to connect to hopeless hosts 2020-09-17 19:58:36 +01:00
Zlatin Balevsky b18772465c
limit the number of hosts read from each pong 2020-09-17 16:19:48 +01:00
Zlatin Balevsky 20aac03789
send an uuid with pings and echo it in pongs 2020-09-17 16:11:32 +01:00
Zlatin Balevsky 4cdb383b9f
fix minutes-to-milliseconds conversion of feed update interval in desktop gui. Make default feed update interval one hour 2020-09-16 14:37:08 +01:00
Zlatin Balevsky 9c6f6bf266
Make number of connections for ultrapeer a property 2020-09-16 12:30:41 +01:00
Zlatin Balevsky 31e0962b73
fix test target by excluding testng dependency 2020-09-14 14:38:12 +01:00
Zlatin Balevsky 253603cac7
add a log statement for infohash parsing 2020-09-12 14:37:54 +01:00
Zlatin Balevsky fec042ec36
check if watched directories disappeared while MW was down 2020-09-04 14:44:04 +01:00
Zlatin Balevsky af218a369c
migrate to groovy 3.0.4 2020-06-01 13:40:28 +01:00
Zlatin Balevsky f0aaa83b7f
clean up most of noise on console when running without a log file 2020-06-01 13:14:33 +01:00
Zlatin Balevsky c25546e1e1
Release 0.7.1 2020-05-29 12:06:53 +01:00
Zlatin Balevsky eb242b0889
reduce default speed smoothing interval 2020-05-29 11:14:56 +01:00
Zlatin Balevsky bf28278f72
Release 0.7.0 2020-05-26 19:03:05 +01:00
Zlatin Balevsky 6462675091
enable dual keys 2020-05-26 19:01:31 +01:00
Zlatin Balevsky 2fbab55f68
remove references to tunnelName variable 2020-05-25 19:44:50 +01:00
Zlatin Balevsky ec41985d31
Release 0.6.15 2020-05-17 22:36:08 +01:00
zzz 61340f346a
Signature must be constructed with the sigtype of the signing key 2020-05-10 06:26:35 -04:00
Zlatin Balevsky 992daa1e45
size limit on nicknames 2020-05-10 09:51:56 +01:00
Zlatin Balevsky 3b825263a7
Make the random port selection range match that of the I2P router 2020-05-08 17:37:06 +01:00
Zlatin Balevsky e1bf6c0821
prevent invalid characters in searchers of persisted files from breaking the loading process. Related to GitHub issue #45 2020-05-08 17:33:57 +01:00
Zlatin Balevsky a6eca11479
Release 0.6.14 2020-05-07 13:39:17 +01:00
Zlatin Balevsky 3116e20c7c
Fix i2np port change on every restart, github issue #45 2020-05-07 03:12:09 +01:00
Zlatin Balevsky d18cdb15cd
disallow certain characters in nicknames 2020-05-06 11:39:08 +01:00
Zlatin Balevsky 564db3473c
publish core to local maven repo 2020-05-05 16:01:23 +01:00
Zlatin Balevsky 6d6063829a
convert the core project into a library 2020-05-05 15:39:54 +01:00
Zlatin Balevsky 8b99f83db8
Release 0.6.13 2020-05-04 14:18:08 +01:00
Zlatin Balevsky 33b159477a
get test targets to pass, ignoring some tests which are not relevant anymore 2020-05-04 13:08:18 +01:00
zzz bf06c3b15f
Add top-level groovy and java compile options to build.gradle
Add compilerArgs to gradle.properties
Fix compile warnings in DataUtil
2020-05-02 10:53:00 -04:00
Zlatin Balevsky 356d7fe2ff always include the uuid in the tracker response 2020-04-29 11:23:42 +01:00
Zlatin Balevsky 7860aa2b1c prevent replay attacks by attaching an uuid to the crawler pings and pongs 2020-04-28 19:46:13 +01:00
Zlatin Balevsky 301c2ec0e2 make I2PSession visible 2020-04-28 19:29:09 +01:00
Zlatin Balevsky c306864781 add type to the tracker pong and echo the infohash that was queried 2020-04-28 19:18:37 +01:00
Zlatin Balevsky 5fc0283da7 revert change to constructor 2020-04-26 19:30:26 +01:00
Zlatin Balevsky 1d22abfa88 add ability to change the tunnel name 2020-04-14 13:17:47 +01:00
Zlatin Balevsky 9f7aaec991 include local persona in tracker response 2020-04-12 06:57:39 +01:00
Zlatin Balevsky 1c214ad68a server side of file tracking 2020-04-12 05:56:06 +01:00
Zlatin Balevsky 3436af75bf remove redundant header parsing code 2020-04-10 08:04:00 +01:00
Zlatin Balevsky 9b6a2fd952 write to memmapped file in 8kb increments 2020-04-08 13:25:08 +01:00
Zlatin Balevsky 85ad3109f9 get rid of sNL and darktrion hostcaches, add echelon's 2020-04-02 12:29:44 +01:00
Zlatin Balevsky 9837e1e3d7 emit an event on every dir sync so that UI can update timestamps 2020-03-28 02:47:29 +00:00
Zlatin Balevsky 2c52486476 fix manual syncing 2020-03-27 15:47:58 +00:00
Zlatin Balevsky 9f1f718870 show the dirs in a table, no actions yet 2020-03-27 12:54:01 +00:00
Zlatin Balevsky 2fd0a3833f wip on web ui for advanced sharing 2020-03-27 11:10:25 +00:00
Zlatin Balevsky e2a0a37abf ui force sync event 2020-03-26 15:40:53 +00:00
Zlatin Balevsky a4bee73b8a process changes in configuration 2020-03-26 15:19:09 +00:00
Zlatin Balevsky 056e5800c2 implement directory polling 2020-03-26 14:55:44 +00:00
Zlatin Balevsky 6e0d51c221 first load all watched directories, only then register and scan the auto-watched 2020-03-26 13:10:56 +00:00
Zlatin Balevsky 496e2e7f91 scan autoWatched directories on startup 2020-03-26 12:53:54 +00:00
Zlatin Balevsky a560b14d91 hook up directory manager with share & unshare events 2020-03-26 12:24:07 +00:00
Zlatin Balevsky dfc62b943f wip on persisting and loading of watched directory metadata, emit the event to register on autowatch service 2020-03-26 06:21:41 +00:00
Zlatin Balevsky 244ce43794 persistence of WatchedDirectory object 2020-03-26 05:31:39 +00:00
Zlatin Balevsky 11e320ef53 wip on directory watching 2020-03-26 04:09:18 +00:00
Zlatin Balevsky 23b6995bf2 start work on advanced watched directories 2020-03-25 22:39:03 +00:00
Zlatin Balevsky e216678d9a Release 0.6.12 2020-03-25 08:41:42 +00:00
Zlatin Balevsky bd9315954a add a positive tree so that deleting of shared directories can be detected 2020-03-25 08:09:45 +00:00
Zlatin Balevsky 83bdf76c08 cache the file/dir status when creating a tree node so that traversal can work if the file is deleted 2020-03-25 08:08:55 +00:00
Zlatin Balevsky 54f4874ad6 count the times a file has been hit due to feed update 2020-03-22 10:46:53 +00:00
Zlatin Balevsky 9a74cc5026 downloaders table 2020-03-22 02:51:26 +00:00
Zlatin Balevsky e542a50260 status page with some MW internals 2020-03-19 18:12:52 +00:00
Zlatin Balevsky 509b5c3b99 avoid more conversions to BigDecimal 2020-03-17 16:43:31 +00:00
Zlatin Balevsky fbb710cfc8 avoid more conversions to BigDecimal 2020-03-17 16:39:41 +00:00
Zlatin Balevsky 7285c12b97 clear cached cardinality on cancelling 2020-03-16 23:18:07 +00:00
Zlatin Balevsky aac259c0fe cache the cardinality to speed up UI sorting 2020-03-16 22:45:16 +00:00
Zlatin Balevsky e3f58f8f5a catch general exceptions because otherwise they get lost in the executor thread 2020-03-15 01:21:20 +00:00
Zlatin Balevsky fca8870283 fix default feed update interval 2020-03-13 07:32:08 +00:00
Zlatin Balevsky 369779ab6a swallow an exception that happens in plugin mostly 2020-03-13 02:42:46 +00:00
Zlatin Balevsky 54abf82a91 wip on server side of feeds for plugin 2020-03-12 22:28:11 +00:00
Zlatin Balevsky 14546737fd release 0.6.11 2020-03-10 22:31:33 +00:00
Zlatin Balevsky f202fa34f3 auto-publish shared files functionality 2020-03-10 19:12:49 +00:00
Zlatin Balevsky 2bb07ff7b5 do not trim feed items if setting is negative 2020-03-10 17:53:17 +00:00
Zlatin Balevsky fc393619d8 options for feeds 2020-03-10 17:47:08 +00:00
Zlatin Balevsky a272a45928 persist the right number of feed items 2020-03-10 16:41:31 +00:00
Zlatin Balevsky c3d0dce281 store last update attempt and do not retry active feeds 2020-03-10 16:05:32 +00:00
Zlatin Balevsky 8f710e68c2 download feed item action 2020-03-10 15:06:42 +00:00
Zlatin Balevsky 15430d6c03 manual update and unsubscribe actions 2020-03-10 13:51:07 +00:00
Zlatin Balevsky 166b71f128 fix NPE when logging is enabled 2020-03-10 13:47:31 +00:00
Zlatin Balevsky d724986ec6 proper method name 2020-03-10 13:34:33 +00:00
Zlatin Balevsky 198c5b5538 fix json parsing 2020-03-10 13:06:47 +00:00
Zlatin Balevsky bb7385688c it always points to the innermost closure 2020-03-10 12:55:09 +00:00
Zlatin Balevsky e70bec3a51 hook up feed subscription 2020-03-10 12:44:25 +00:00
Zlatin Balevsky ed04c40420 return an empty set if no items are found 2020-03-10 12:43:49 +00:00
Zlatin Balevsky fd75d8229b fix feed checkbox for local results 2020-03-10 12:15:52 +00:00
Zlatin Balevsky a07f01b641 utility method to check if an infohash is shared 2020-03-10 11:50:09 +00:00
Zlatin Balevsky fcb5c573f9 wip on feeds table 2020-03-10 10:39:18 +00:00
Zlatin Balevsky e2a9db8056 add an IDLE status to feeds for display purposes 2020-03-10 07:32:45 +00:00
Zlatin Balevsky f2bf921d4c parse feed flag in results 2020-03-10 06:06:57 +00:00
Zlatin Balevsky aa0fcfb7de fix capitalization in event name 2020-03-10 05:50:54 +00:00
Zlatin Balevsky 17cd60afe3 deleting of feeds 2020-03-10 00:58:43 +00:00
Zlatin Balevsky c10c1118e8 feed client 2020-03-09 19:28:42 +00:00
Zlatin Balevsky 28425e93dc persist only as many items as configured to keep 2020-03-09 18:53:43 +00:00
Zlatin Balevsky 032338bb48 Persist feed metadata and items on successful fetch. Register feed manager for various events 2020-03-09 18:31:10 +00:00
Zlatin Balevsky 12e56b1c9a events associated with updating a feed 2020-03-09 17:37:17 +00:00
Zlatin Balevsky 57c75978b6 wip on feed manager deserialization 2020-03-08 20:19:37 +00:00
Zlatin Balevsky bfe198e1a6 represenation of a feed 2020-03-08 19:38:48 +00:00
Zlatin Balevsky 8e274f940e Feed item representation and serialization 2020-03-08 19:30:04 +00:00
Zlatin Balevsky 9f3942c1c7 settings to disable or not advertise file feed 2020-03-08 17:15:00 +00:00
Zlatin Balevsky d60d57ee43 wip on server side feed handling 2020-03-08 17:04:11 +00:00
Zlatin Balevsky 8e3a433afb persist shared file on publish/unpublish 2020-03-08 16:06:28 +00:00
Zlatin Balevsky 49cf56fabb UI Publish & Unpublish events 2020-03-08 16:01:50 +00:00
Zlatin Balevsky 2b6565d107 unpublish method 2020-03-08 16:01:23 +00:00
Zlatin Balevsky 366a2ef841 published flag and timestamp in shared files 2020-03-08 15:46:36 +00:00
Zlatin Balevsky c7d1f0c23c Connect to i2p router after creating the Core object, should help with plugin init issues #39 2020-02-23 18:29:09 +00:00
Zlatin Balevsky 853b9f67fc Release 0.6.10 2020-02-23 15:42:03 +00:00
Zlatin Balevsky a505a2449a persist SharedFile on change of comments #35 2020-02-18 02:14:32 +00:00
Zlatin Balevsky c11d81c6c3 Release 0.6.9 2020-02-16 16:33:33 +00:00
Zlatin Balevsky bdad8d9309 make extended signatures mandatory 2020-02-14 15:34:21 +00:00
Zlatin Balevsky 16ed5dd346 chase down some usages of deprecated getInfoHash method #35 2020-02-14 01:32:38 +00:00
Zlatin Balevsky 7b55fc9ed8 working uploads #35 2020-02-14 01:15:10 +00:00
Zlatin Balevsky d5c8050572 wip on separate hashlist storage #35 2020-02-14 00:37:07 +00:00
LoveIsGrief a891c83518
Only persist downloaded files if sharing thereof is enabled
Otherwise we might inadvertently share downloads
2020-01-25 15:25:48 +01:00
LoveIsGrief aa56cc23c0
Cache base 64 path hash
Can't do it in constructor without an ugly try/catch
 therefore this is done on demand
2020-01-25 15:20:38 +01:00
LoveIsGrief a2b37ef567
Persist downloaded files 2020-01-25 15:06:12 +01:00
LoveIsGrief 4bc04ae631
Revert "Reduce log levels in Connection"
This reverts commit dcd233b7
2020-01-25 15:01:21 +01:00
LoveIsGrief 56da9a16b0
Set FileLoadedEvent::source in the subclass
Setting it in the super class means we don't set the right value for every case
2020-01-25 15:00:48 +01:00
LoveIsGrief 2935ee1a1d
Remove unnecessary executor
It was doing nothing but starting and stopping
2020-01-25 14:49:59 +01:00
LoveIsGrief 855183397b
Remove TODO
There's already an issue open https://github.com/zlatinb/muwire/issues/35
2020-01-22 21:35:54 +01:00
LoveIsGrief e27704c1af
Make sure migration from PersisterService works
this.getClass() and this.class kept resolving to Class.
Using a string is much simpler

mkdirs() is also necessary because the directory structure doesn't exist
 when persistFile is called the first time
2020-01-22 20:59:05 +01:00
LoveIsGrief 5c18b4a141
Add more logs PersisterFolderService 2020-01-22 15:12:22 +01:00
LoveIsGrief dcd233b7ad
Reduce log levels in Connection
Too verbose
2020-01-22 15:12:01 +01:00
LoveIsGrief 7cee8a28ba
FileLoadedEvent should include class when coming from old persister
Otherwise the new PersisterFolderService won't migrate
2020-01-22 15:07:00 +01:00
LoveIsGrief 7446fc949a
Remove UIPersistFilesEvent
Hashing is done per file now and those are triggered by individual events
2020-01-22 13:00:55 +01:00
LoveIsGrief 598ab90f63
Clear up the event path when starting up the old and new persisters
The new persister won't load anything until the old one has finished
2020-01-22 12:36:34 +01:00
LoveIsGrief 043028c296
Introduce PersisterFolderService to replace PersisterService
An attempt at automatically migrate from PersisterService was made, but the events aren't triggered in the right order.
We need to make sure that we don't trigger the "AllFilesLoadedEvent" before the migration is done
2020-01-21 23:34:33 +01:00
LoveIsGrief 9d4b365e63
Log the time it take to persist files and hashes 2020-01-19 21:43:03 +01:00
LoveIsGrief 03e20e21aa
Remove unnecessary quotes from properties files
There doesn't seem to be a special treatment of them
 in properties files

#32 - Docker image
2020-01-14 18:42:51 +01:00
LoveIsGrief 8a08955675
Remove quotes from i2cp.tcp.port setting
For some reason it really doesn't like that and
 subsequently can't connect to the host

#32 - Docker image
2020-01-14 17:52:52 +01:00
LoveIsGrief 65e073b1b9
Use defaults for the i2p.properties
This will help writing custom properties
 as not everthing will have to be specified in them

#32 - Docker image
2020-01-14 12:29:05 +01:00
Zlatin Balevsky 8f9b1e5a8b supress exceptions if client is stopped 2019-12-24 17:05:36 +00:00
Zlatin Balevsky e6d59a2438 stop host persister on shutdown 2019-12-24 05:53:02 +00:00
Zlatin Balevsky ba5425c958 extra check for stopped cache client 2019-12-21 15:56:09 +00:00
Zlatin Balevsky 9df1d043e4 do not initialize the update client if running as a plugin 2019-12-19 18:35:44 +00:00
Zlatin Balevsky 6ea1a15641 do not initialize the update client if running as a plugin 2019-12-19 18:30:07 +00:00
Zlatin Balevsky e21d482393 Release 0.6.8 2019-12-19 06:04:18 +00:00
Zlatin Balevsky b08333c5ea download details view 2019-12-15 11:34:04 +00:00
Zlatin Balevsky fce879be5d hook up configuration page, under construction 2019-12-14 19:02:15 +00:00
Zlatin Balevsky c169a7613f wip on importing certificates 2019-12-10 14:59:30 +00:00
Zlatin Balevsky 813e211200 send certified status to the UI 2019-12-09 17:22:30 +00:00
Zlatin Balevsky 1adb130fba ability to certify directories 2019-12-09 17:04:11 +00:00
Zlatin Balevsky 42c48a8e37 certificate backend 2019-12-09 14:26:39 +00:00
Zlatin Balevsky 662b065116 wip on trust subscriptions 2019-12-09 07:37:04 +00:00
Zlatin Balevsky 086e27876d shut down more services explicitly 2019-12-09 05:38:41 +00:00
Zlatin Balevsky 5c6917a7e6 wip on trust views 2019-12-08 14:57:21 +00:00
Zlatin Balevsky 844bd8fd6e comments in shared files are encoded 2019-12-08 00:26:17 +00:00
Zlatin Balevsky 7d9ebb5b0b server side of browse host 2019-12-07 23:35:16 +00:00
Zlatin Balevsky 13af6cce22 stray println 2019-12-07 20:37:24 +00:00
Zlatin Balevsky 5c17536683 unsharing of directories 2019-12-07 12:14:49 +00:00
Zlatin Balevsky a6e0834722 add a single-level list traversal of the tree 2019-12-06 12:47:08 +00:00
Zlatin Balevsky 9b2669a8b8 update to new api 2019-12-06 10:51:35 +00:00
Zlatin Balevsky a0f70f7677 add traversal of the file tree 2019-12-06 10:51:07 +00:00
Zlatin Balevsky 23b2c912e2 genericize file tree 2019-12-06 10:08:27 +00:00
Zlatin Balevsky ecfd4180c0 update test 2019-12-06 10:07:32 +00:00
Zlatin Balevsky 95dd5c4a7c downloads display, starting and stopping 2019-11-30 23:34:59 +00:00
Zlatin Balevsky 2b8bd8144f basic display of how many senders and results have arrived 2019-11-30 19:09:55 +00:00
Zlatin Balevsky ff0a4661fd offload start to a thread, display wait page while the tunnel is opening 2019-11-30 14:56:04 +00:00
Zlatin Balevsky 9151df6816 kill i2p session on shutdown 2019-11-30 14:27:40 +00:00
Zlatin Balevsky 61baa53076 _logManager cannot be set on RouterContexts (i.e. when running as plugin) 2019-11-30 13:26:20 +00:00
Zlatin Balevsky 562d9a0f4a move i2p core dependency one level down, exclude core dependencies from plugin 2019-11-30 03:44:57 +00:00
Zlatin Balevsky cf396b739e ability to chat from browse window 2019-11-29 03:41:59 +00:00
Zlatin Balevsky 4c038ad932 set the geoip.dir property to load geoip 2019-11-27 16:00:56 +00:00
Zlatin Balevsky 8fedc0c605 Release 0.6.7 2019-11-26 09:55:10 +00:00
Zlatin Balevsky f4cd1c30cd Do not remove connection on distrust so that disconnect can be processed correctly 2019-11-26 05:00:55 +00:00
Zlatin Balevsky e760e9f600 add option to select chat server welcome message 2019-11-19 09:02:42 +00:00
Zlatin Balevsky 9373d58b53 limit the time a header read can take 2019-11-18 09:00:11 +00:00
Zlatin Balevsky cb9a1cfff6 remove stray import 2019-11-17 15:05:29 +00:00
Zlatin Balevsky 0c40c8f269 Release 0.6.6 2019-11-16 17:12:21 +00:00
Zlatin Balevsky 5dff319746 prevent starting chat server more than once. Implement chat console in the cli 2019-11-16 16:40:07 +00:00
Zlatin Balevsky 286a0a8678 redo locking around chat client state 2019-11-16 14:41:47 +00:00
Zlatin Balevsky 17eff7d77f toString 2019-11-16 00:25:50 +00:00
Zlatin Balevsky 2e22369ce0 set flag before submitting to threadpool 2019-11-15 23:12:17 +00:00
Zlatin Balevsky 15c59b440f flush outputstream on chat connect failures or rejections 2019-11-15 21:52:35 +00:00
Zlatin Balevsky fec81808e5 Release 0.6.5 2019-11-14 05:15:26 +00:00
Zlatin Balevsky 114bc06dbb If the user explicitly shares a file, remove it form the negative tree. #26 2019-11-13 22:00:10 +00:00
Zlatin Balevsky 5fa2f2753c Release 0.6.4 2019-11-13 20:06:53 +00:00
Zlatin Balevsky f7f4513109 better help and welcome message 2019-11-13 17:50:50 +00:00
Zlatin Balevsky a0ab07a7c0 show browse status for local results correctly 2019-11-13 11:58:55 +00:00
Zlatin Balevsky f875c379ce Release 0.6.3 2019-11-12 17:22:38 +00:00
Zlatin Balevsky c6e98db9d4 initialize result sender properly 2019-11-12 15:50:58 +00:00
Zlatin Balevsky 35a26e2a47 advertise chat ability in search results 2019-11-12 15:47:38 +00:00
Zlatin Balevsky beef4af329 ui for chat options 2019-11-12 15:31:20 +00:00
Zlatin Balevsky 289b958784 disconnect functionality 2019-11-12 14:19:57 +00:00
Zlatin Balevsky 3d36351a6b fetch the list of current room members when joining 2019-11-12 10:55:21 +00:00
Zlatin Balevsky d57d2ccb71 print help message on joining 2019-11-12 04:18:35 +00:00
Zlatin Balevsky 6bc61c920d start outgoing connection 2019-11-12 00:11:26 +00:00
Zlatin Balevsky 18d19ca75e wip on joining and leaving rooms 2019-11-11 23:32:23 +00:00
Zlatin Balevsky 29e499fe9d hook up core and backend 2019-11-11 22:42:55 +00:00
Zlatin Balevsky 3db167bade send periodic pings 2019-11-11 17:54:33 +00:00
Zlatin Balevsky bfe0ab7867 wip on hooking UI with core 2019-11-11 17:48:42 +00:00
Zlatin Balevsky 0632336cd1 add ability to start and stop chat server from UI 2019-11-11 15:16:23 +00:00
Zlatin Balevsky aa221cd6dc server-side handling of disconnects and trust events 2019-11-11 14:54:10 +00:00
Zlatin Balevsky 29b5c55328 client-side disconnect handling 2019-11-11 13:31:00 +00:00
Zlatin Balevsky 5e7f3587df shutdown chat components 2019-11-11 13:26:25 +00:00
Zlatin Balevsky 8afd387ca6 hook up chat components with core 2019-11-11 13:21:16 +00:00
Zlatin Balevsky 5d16963d1c process join/leave/say server-side 2019-11-11 12:19:32 +00:00
Zlatin Balevsky 6080c8b308 chat client and server 2019-11-11 10:43:52 +00:00
Zlatin Balevsky a549ad3d8d wip on chat 2019-11-11 04:36:43 +00:00