Commit Graph

266 Commits

Author SHA1 Message Date
Matt Joiner f8da0c5b07 cmd/dht-get-peers: Add -once flag to do a single scrape 2014-11-18 09:56:37 -06:00
Matt Joiner a6914e5897 cmd/dht-get-peers: Expose debug HTTP 2014-11-18 09:56:05 -06:00
Matt Joiner 6d05994c2c dht: Include the sender of peers in the peer stream 2014-11-17 17:47:36 -06:00
Matt Joiner c1049d0605 cmd/dht-get-peers: Fix lockup on SIGINT 2014-11-17 01:45:20 -06:00
Matt Joiner a5adb399f2 Change cmd/torrent default ports 2014-11-16 21:21:13 -06:00
Matt Joiner ecf2639856 Add magnet-metainfo, tool to download magnet to torrent file 2014-09-25 18:05:52 +10:00
Matt Joiner d5a2bc67f7 Misc tweaks 2014-08-28 10:05:41 +10:00
Matt Joiner 2d9c22ae1e Misc trivial improvements 2014-08-25 22:14:10 +10:00
Matt Joiner 78ed2c74d0 Make NoUpload a client configuration option and use it for torrentfs 2014-08-25 06:00:29 +10:00
Matt Joiner 2b079e4a9d Got a nice working algorithm for responsive download strategy 2014-08-24 03:08:11 +10:00
Matt Joiner 60df4e100c Simplify dirwatch to scan the whole directory on changes 2014-08-22 17:31:03 +10:00
Matt Joiner 4a7c94d04d Add test for dht.NewServer and change StopServing to Close 2014-08-21 21:12:50 +10:00
Matt Joiner 74f05db2ea Clean up imports 2014-08-21 21:08:56 +10:00
Matt Joiner 5c1492bffe Add CopyExact util function 2014-08-21 18:24:19 +10:00
Matt Joiner 40fd1d647c Tidy up the torrent and DHT APIs 2014-08-21 18:07:06 +10:00
Matt Joiner 96e44f8950 Print dht-ping reponses with %q 2014-08-17 00:44:05 +10:00
Matt Joiner 324fb94684 cmd/torrentfs: Missing listener on client 2014-07-24 13:45:49 +10:00
Matt Joiner 7cc22565ed Abstract the status HTTP server into package util 2014-07-23 01:54:58 +10:00
Matt Joiner 6158b1f6ec torrentfs: Match the active torrents to those found in the given directory 2014-07-23 01:54:11 +10:00
Matt Joiner 28afa748e7 API changes in github.com/anacrolix/libtorgo 2014-07-13 17:37:12 +10:00
Matt Joiner 0d57d50003 cmd/torrent: Run the http server by default 2014-07-12 01:23:10 +10:00
Matt Joiner 581a3d9325 Add DHT support to cmd/torrent 2014-07-11 19:30:20 +10:00
Matt Joiner 2ef602cabd dht-get-peers: Some improvements 2014-07-10 00:15:28 +10:00
Matt Joiner 7928b763d9 torrent-infohash: utility to print the info hash of a torrent file 2014-07-10 00:15:03 +10:00
Matt Joiner 78fe1b11ae Implement dht-get-peers command and GetPeers method in dht package 2014-07-04 01:43:04 +10:00
Matt Joiner c96293a111 Can now download from magnet links 2014-06-28 19:38:31 +10:00
Matt Joiner 9d53e19547 Fixes for cmd/torrent with the new torrent.Info field 2014-06-27 18:57:35 +10:00
Matt Joiner 49e71f9654 Begin adding magnet and ut_metadata support 2014-06-27 00:57:07 +10:00
Matt Joiner cf31465904 torrentfs: Write client status to HTTP port 2014-06-26 17:29:12 +10:00
Matt Joiner 809aabe531 cmd/torrentfs: Expose readahead bytes as a flag 2014-06-26 01:37:00 +10:00
Matt Joiner ef8e2fcf16 DHT node table should be loaded after the server is initialized 2014-06-24 23:17:06 +10:00
Matt Joiner 110aa733a4 Make the readahead on ResponsiveDownloadStrategy customizable 2014-05-29 01:30:59 +10:00
Matt Joiner 83a02420a5 Got dht-server working nicely 2014-05-27 16:28:56 +10:00
Matt Joiner 92b77a7cae dht-server: Save and load node table between invocations 2014-05-25 23:04:55 +10:00
Matt Joiner 1b69e69461 Switch dht-server to bootstrapping 2014-05-25 21:34:29 +10:00
Matt Joiner 7c3d919cfb Begin implementing DHT 2014-05-24 16:51:56 +10:00
Matt Joiner 04879b0002 Add Client.DownloadStrategy; fix priority of incomplete pieces 2014-05-21 17:40:54 +10:00
Matt Joiner 2e4629abbc cmd/torrent: Add flags -disableTrackers and -seed 2014-05-21 17:38:09 +10:00
Matt Joiner 1aa1063863 Big visibility/doc clean-up, and extract mmap_span package 2014-04-09 02:36:05 +10:00
Matt Joiner f1bf5a46a1 Check for asynchronous mount error after serving 2014-04-09 01:18:55 +10:00
Matt Joiner fc653a307b Break up torrentfs main(), it's too large 2014-04-09 01:18:29 +10:00
Matt Joiner 998dba34b8 Handle repeat SIGINT/SIGTERMs
Need to determine if there's a way to better interrupt the FS or if we have no control over that.
2014-04-09 01:17:53 +10:00
Matt Joiner 1415c0d824 goimports decided to reorganise imports 2014-04-08 19:39:34 +10:00
Matt Joiner 236e12486b Lots of logging improvements 2014-03-21 00:14:17 +11:00
Matt Joiner ef4aa0d3f9 Add -listenAddr and actually listen in ./cmd/torrent 2014-03-21 00:13:32 +11:00
Matt Joiner fa000c4f88 Improvements to pending chunks; extract testutil 2014-03-20 16:58:09 +11:00
Matt Joiner 771a08d4f4 Add a scrape command so I can work out if trackers are seeing my test clients
I don't even know if scrape is the right word.
2014-03-20 04:30:32 +11:00
Matt Joiner 9ee83455cf Various progress, particularly around the way data readiness is handled 2014-03-20 04:30:08 +11:00
Matt Joiner 2e81f914e7 Add a end-to-end test for torrentfs
Basic unchoking and uploading.
Accept incoming connections.
Break out torrentfs lib.
Fix and implement some protocol stuff.
2014-03-18 01:44:22 +11:00
Matt Joiner 31530899e4 Make use of trackers 2014-03-17 02:30:10 +11:00
Matt Joiner c7ca000f25 Unit test for connection address comparison to avoid adding bootstrap peers when already present 2013-11-05 00:10:16 +11:00
Matt Joiner 69c674606f Bring the 'torrent' command up to speed with the client API, including profiling flags 2013-11-05 00:07:28 +11:00
Matt Joiner fe5f8317d4 Reconnect to the torrentfs -testPeer at regular intervals if it's missing for any loaded torrents 2013-10-22 18:01:56 +11:00
Matt Joiner d039436f55 Significant progress and improvements
Piece state is broken up into several dimensions.
Implement keep-alive in connection writer.
Lazily hash pieces, only as requested.
Replace client actor mechanism with a mutex.
Fix runConnection/connectionLoop/handshake misnomers.
Fix broken reading from partially complete pieces.
2013-10-21 01:07:01 +11:00
Matt Joiner 03b1af07cd Always finish off partially downloaded pieces 2013-10-15 19:42:30 +11:00
Matt Joiner 0a5043ba69 Implement prioritizing of torrent data regions based on FS activity 2013-10-15 01:39:12 +11:00
Matt Joiner 5c0ff3ff5f Torrent client publishes data ready information; torrentfs supports file reads 2013-10-13 23:16:21 +11:00
Matt Joiner a44accadbe Create more efficient writer method for MMapSpan for use with hashing 2013-10-07 10:35:10 +11:00
Matt Joiner e1526b2863 Support browsing torrents in the filesystem 2013-10-07 06:00:35 +11:00
Matt Joiner 68e189d477 Start implementing torrentfs binary 2013-10-06 18:01:39 +11:00
Matt Joiner 28531a4fcc Fix request/chunk confusion, missing outgoing message prefix, protocol tests; improve request triggering 2013-10-01 18:43:18 +10:00
Matt Joiner 081a6805c5 Implementing bitfields and connection message handling 2013-09-30 21:51:08 +10:00
Matt Joiner 7870d20573 Begin implementing the adding of peers, and initiating of connections 2013-09-29 08:11:24 +10:00
Matt Joiner 816c263760 Start implementing a basic client 2013-09-26 19:49:15 +10:00
Matt Joiner d7ed035ef1 Add torrent-verify, simple exe that logs matching pieces from a torrent file and torrent path 2013-09-26 13:43:08 +10:00
Matt Joiner 2a9d48d09f Add cmds 'torrent-create' and 'torrent-metainfo-pprint' using nsf's libtorgo 2013-09-19 17:00:51 +10:00