Matt Joiner
23ff66e300
cmd/...: Some package synopses
2015-04-06 23:04:18 +10:00
Matt Joiner
6b81d57ca2
dht: Clean-up interface, add loads of documentation
2015-04-01 17:29:55 +11:00
Matt Joiner
0fddc286e6
cmd/torrentfs: Tidy
2015-04-01 14:32:42 +11:00
Matt Joiner
8ba4a2e0f3
cmd/torrentfs: Check error creating client
...
This wouldn't have happened with exceptions ;)
2015-04-01 14:30:22 +11:00
Matt Joiner
d05e63d094
Use math.MaxUint64, the more you know
2015-03-30 23:08:43 +11:00
Matt Joiner
026b6da54f
cmd/tracker-announce: Send left=-1, which is what we send when we don't have the metainfo
2015-03-27 17:23:42 +11:00
Matt Joiner
64f833f3f0
cmd/torrent-magnet: Converts a torrent from stdin to a magnet link
2015-03-27 17:16:50 +11:00
Matt Joiner
5f7ad4c769
Merge all the tracker packages, why would anyone want them separately?
2015-03-27 15:12:15 +11:00
Matt Joiner
9f62098e85
cmd/scrape -> cmd/tracker-announce, and a big refresh
...
What it was doing was not scraping, that's something completely different. Now it can also announce magnets.
2015-03-26 17:22:17 +11:00
Matt Joiner
3aa78763aa
Use rogpeppe's sortimports to fix this goimports ordering madness
2015-03-26 17:18:08 +11:00
Matt Joiner
d97b487229
cmd/torrent: Report progress
...
Fixes #6
2015-03-25 17:32:42 +11:00
Matt Joiner
1ec15c9560
cmd/torrent: Replace flag with go-flags, rejig options
2015-03-25 15:41:15 +11:00
Jimmy Zelinskie
8cc582ecb2
add cli flag to disable DHT
...
This partially addresses #3 .
2015-03-22 18:24:31 -04:00
Matt Joiner
ed8e89a60c
cmd/torrent: Nicer usage
2015-03-20 23:18:32 +11:00
Matt Joiner
842a32ae0c
Rewrite import paths for migration from Bitbucket
2015-03-20 16:37:44 +11:00
Matt Joiner
ad6ac3f2cd
More cleaning of public interface
2015-03-08 17:28:14 +11:00
Matt Joiner
bc940ae2c6
Remove unused code
2015-02-25 01:40:27 +11:00
Matt Joiner
a372b68abb
dht: Handle responses through a callback
...
Trying to reduce number of goroutines
2015-02-21 15:00:48 +11:00
Matt Joiner
a7946c773e
cmd/torrent-metainfo-pprint: Add -name flag
2015-02-10 00:20:14 +11:00
Matt Joiner
1994e82297
Fails go vet
2015-02-10 00:19:31 +11:00
Matt Joiner
029d6939f8
Hide some methods that shouldn't be public
2015-02-10 00:12:29 +11:00
Matt Joiner
40593a741e
Provide HTTP pprof via envpprof package
2015-01-29 14:51:23 +11:00
Matt Joiner
c53714e660
cmd/dht-get-peers: Update to use "dht".Server.Announce
2015-01-29 14:29:06 +11:00
Matt Joiner
e4209a2d00
Reorder some imports
2014-12-26 17:17:00 +11:00
Matt Joiner
db749b89db
dht-get-peers: Don't bother to close the server before quitting
...
The closing code isn't very clean yet, and it's unnecessary.
2014-12-20 10:11:34 +11:00
Matt Joiner
ac1afa19b8
mmap_span: Avoid allocating the span slice on every use
2014-12-05 00:54:55 -06:00
Matt Joiner
fb2b626175
Don't send constructed MetaInfo down a channel when it's available, build it on demand
2014-12-01 16:37:40 -06:00
Matt Joiner
8a0be03eec
cmd/torrentfs: Tidy up flags, switch to default download strategy
2014-12-01 14:31:52 -06:00
Matt Joiner
82ca11faa9
Destroy the torrent FS on exit signals so ongoing syscalls don't block the unmount
2014-12-01 14:30:50 -06:00
Matt Joiner
75cde79d65
Improve the interface with client and download strategies
2014-12-01 03:37:33 -06:00
Matt Joiner
d430cf9ec9
cmd/torrent: Add -upload flag
2014-12-01 03:29:56 -06:00
Matt Joiner
0e3f7a5520
Change all references to github.com/nsf/libtorgo to github.com/anacrolix/libtorgo
2014-11-28 12:13:57 -06:00
Matt Joiner
cd5c1f8298
cmd/dht-ping: Various improvements more like a real ping program
2014-11-18 12:36:36 -06:00
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