majestrate / xd Goto Github PK
View Code? Open in Web Editor NEWmeme bittorrent client
Home Page: https://xd-torrent.github.io/
License: MIT License
meme bittorrent client
Home Page: https://xd-torrent.github.io/
License: MIT License
[NFO] 2017-09-15 11:31:03.697873086 -0400 EDT m=+6950.276936652 Global Speed: Upload: 4.80KB/sec Download: 0.00B/sec
[NFO] 2017-09-15 11:31:13.698236819 -0400 EDT m=+6960.277300315 Global Speed: Upload: 0.00B/sec Download: 0.00B/sec
[WRN] 2017-09-15 11:31:19.82191365 -0400 EDT m=+6966.400977007 write error: write tcp 127.0.0.1:60016->127.0.0.1:7656: write: connection reset by peer
[ERR] 2017-09-15 11:31:19.821961352 -0400 EDT m=+6966.401024918 PeerConn() reader failed: EOF
panic: send on closed channel
goroutine 4140 [running]:
xd/lib/bittorrent/swarm.(*PeerConn).doSend(0xc4202ec000, 0xc424111020)
/home/user/lab/my_XD/src/xd/lib/bittorrent/swarm/peer.go:83 +0x63
created by xd/lib/bittorrent/swarm.(*PeerConn).Send
/home/user/lab/my_XD/src/xd/lib/bittorrent/swarm/peer.go:89 +0x49
panic: send on closed channel
rev 6afba87
goroutine 4232 [running]:
xd/lib/bittorrent/swarm.(*PeerConn).doSend(0xc4202ec000, 0xc4216f5ea0)
/home/user/lab/my_XD/src/xd/lib/bittorrent/swarm/peer.go:83 +0x63
created by xd/lib/bittorrent/swarm.(*PeerConn).Send
/home/user/lab/my_XD/src/xd/lib/bittorrent/swarm/peer.go:89 +0x49
rev 6afba87
Git pulled three minutes ago, and compiled the latest version using go 1.7.1. Found Snowden 2016 and selected it because of many peers. After a while I get this:
panic: runtime error: slice bounds out of range
goroutine 31 [running]:
panic(0x73ea60, 0xc420010140)
/usr/local/go/src/runtime/panic.go:500 +0x1a1
xd/lib/storage.(*fsTorrent).PutPiece(0xc42011c500, 0xc420133c60, 0x0, 0x0)
/home/mathias/source/go/XD/src/xd/lib/storage/fs.go:195 +0x796
xd/lib/bittorrent/swarm.(*pieceTracker).handlePieceData(0xc420122500, 0xc42030e5a0)
/home/mathias/source/go/XD/src/xd/lib/bittorrent/swarm/piece.go:191 +0xcb
xd/lib/bittorrent/swarm.(*PeerConn).runReader(0xc420094000)
/home/mathias/source/go/XD/src/xd/lib/bittorrent/swarm/peer.go:216 +0xa02
created by xd/lib/bittorrent/swarm.(*PeerConn).start
/home/mathias/source/go/XD/src/xd/lib/bittorrent/swarm/peer.go:68 +0x61
git revision / version: master
OS: Debian
Architecture: armhf
Hello,
I tried to put XD behind a reverse proxy with apache2 mod_proxy, enabling HTTP basic auth.
I need to use a dedicated location (https://myserver/i2pxd/ for example).
Unfortunately, there are some hardlinks towards the API urls in contrib/webui/lib/main.js. I have made some manual modifications into that Javascript file and it seems to fix the problem.
I am no jQuery/JS expert but I think you can just use "/ecksdee/api" as the url in the POST query...
Regularly appears in log:
[ERR] 2017-09-15 12:35:45.445001643 -0400 EDT m=+1828.736468001 PeerConn() reader failed: EOF
[WRN] 2017-09-15 12:35:45.495335069 -0400 EDT m=+1828.786799541 conn runWriter() failed
Implementing seedless protocol should be really easy.
Implementing BEP46 would allow bittorrent authors to publish updates to previous torrents they have published using BEP46, and the BTIH of the new torrents would be published to the DHT, where clients can choose to open it. Note that it depends on BEP44: Storing arbitrary data in the DHT
IMO it could be useful to have config dir option: where to find config, keys and all stuff.
/usr/local/bin/XD --config-dir /home/user/.XD
and read from environment:
export XD_HOME='/home/user/.XD'
./XD
That way it could be more flexible.
[user@n1 XD_test]$ docker exec -it xd1 sha1sum storage/downloads/testfile.iso
d5db28c3951427f9bf701d99a0035427459c74b3 storage/downloads/testfile.iso
[user@n1 XD_test]$ docker exec -it xd2 sha1sum storage/downloads/testfile.iso
8c206a1a87599f532ce68675536f0b1546900d7a storage/downloads/testfile.iso
Full logs of seeder and leecher are in archive.
For a full-featured UI user would expect to be able to create torrents in it. Will look how other clients handle it...
testnet with master branch
Other torrent clients download files by default to ~/Downloads and store config files in ~/.config and misc files in ~/.local/share... sounds like a good idea to separate downloads and stuff to have on different locations...
May XD have this before 0.1?
Not critical, but maybe it could shutdown more gracefully, print some information to user etc.
[NFO] 2017-08-08 23:14:53.750845717 +0000 UTC starting XD-0.0.5
[NFO] 2017-08-08 23:14:53.75546648 +0000 UTC auto-generated new config at torrents.ini
[NFO] 2017-08-08 23:14:53.759523296 +0000 UTC loaded config torrents.ini
[NFO] 2017-08-08 23:14:53.761184967 +0000 UTC generated peer id -XD0050-WL%17%E6%D7%D5%D6%A2%87r%F9%8C
[NFO] 2017-08-08 23:14:53.762417834 +0000 UTC create new i2p session with 127.0.0.1:7656
[NFO] 2017-08-08 23:14:53.765337932 +0000 UTC opening i2p session
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x20 pc=0x55b3d13c5bd8]
goroutine 9 [running]:
github.com/majestrate/XD/vendor/xd/lib/network/i2p.(*samSession).Close(0xc4200fc540, 0x0, 0x0)
/root/go/src/github.com/majestrate/XD/vendor/xd/lib/network/i2p/sam.go:26 +0x28
github.com/majestrate/XD/vendor/xd/lib/network/i2p.(*samSession).Open(0xc4200fc540, 0x13, 0x0)
/root/go/src/github.com/majestrate/XD/vendor/xd/lib/network/i2p/sam.go:231 +0xa8
github.com/majestrate/XD/vendor/xd/cmd/xd.Run.func3(0xc420052e40, 0x55b3d1a8af80, 0xc4200fc540)
/root/go/src/github.com/majestrate/XD/vendor/xd/cmd/xd/xd.go:98 +0x66
created by github.com/majestrate/XD/vendor/xd/cmd/xd.Run
/root/go/src/github.com/majestrate/XD/vendor/xd/cmd/xd/xd.go:110 +0x6e9
git revision / version: master
OS: linux
Architecture: x86
Doesn't seem to download anything
Error messages: [yes/no]
seeder
[DBG] 2018-01-30 16:04:58.988580001 +0000 UTC m=+27.148727689 torrent obtained network
[DBG] 2018-01-30 16:05:58.990329845 +0000 UTC m=+87.150477557 http://uhjd472zbgcipmkv4yfn7seo6m7gz3vmqqc5lhj2tsn6erkfn2fq.b32.i2p/a announcing
[NFO] 2018-01-30 16:05:59.231566508 +0000 UTC m=+87.391714166 http://uhjd472zbgcipmkv4yfn7seo6m7gz3vmqqc5lhj2tsn6erkfn2fq.b32.i2p:80/a got 1 peers for 87f1107326c2260b26183bb931b1a7d8185fce18
[DBG] 2018-01-30 16:05:59.245131258 +0000 UTC m=+87.405278913 wrote 68 of 68
leecher
[DBG] 2018-01-30 16:04:58.897221855 +0000 UTC m=+26.113240379 torrent obtained network
[DBG] 2018-01-30 16:05:58.898830484 +0000 UTC m=+86.114848961 http://uhjd472zbgcipmkv4yfn7seo6m7gz3vmqqc5lhj2tsn6erkfn2fq.b32.i2p/a announcing
[NFO] 2018-01-30 16:05:59.00738353 +0000 UTC m=+86.223402222 http://uhjd472zbgcipmkv4yfn7seo6m7gz3vmqqc5lhj2tsn6erkfn2fq.b32.i2p:80/a got 0 peers for 87f1107326c2260b26183bb931b1a7d8185fce18
[DBG] 2018-01-30 16:05:59.334553519 +0000 UTC m=+86.550572048 got inbound bittorrent connection from 0D2lt-g~8BXG4vXgWPw0OBqz7yR5BVxsucF1eWDB~8qIKvXpfSmMhqWVPBkPxtzDeyKBcbCt~kVNJQVLGpJ3keJIAWlDCMYERRkBp4WkGqTysqElRaEhxtakhyofa294uOXKva2U6m0y1893TaQaHXBYpph83FOWD~kBF9dcFmNa3PykrTeyrUcikMUht18GD8w72W14cGm8jz6HRyl51Zh-8m-cF8W~gnchSDt709sVXHc94~KvcuP1MK6K3tqa5DWeX3oA74lvQsbawOKz1JVlnjLabRluv4RxMF646qiQXFXkBwZG-~4Ogn~WV87TMsksMm5EL1O~QB4Vx2-MAG-N9iQttrBjrLcph6tlpRL2HTA6oGBqNMCKYADxvpz4SdMnYWwwf5fI-f5g6DDdyLHBi2XGGol~7wi-qw5TBMuf0dolk~FDCaCjXbB24lSjGiqj8vHBHO5j2XHtijwAmXOoM4FbIbz9R0WEu-rYXqmRLBviKeY1XU4yuF483ksFAAAA
Backtrace: [yes/no]
[insert any backtraces here]
Just compiled the latest commit. When adding a new torrent, I get:
[NFO] 2017-05-16 08:15:46.568239734 +0200 CEST no bitfield for [torrent file]
[ERR] 2017-05-16 08:15:49.838246699 +0200 CEST Failed to add [torrent file]: invalid piece
Also, there is a shitload of error messages stating "missing port in address" :
[WRN] 2017-05-16 08:19:42.034685299 +0200 CEST got error while announcing: Get http://w7tpbzncbcocrqtwwm3nezhnnsw4ozadvi2hmvzdhrqzfxfum7wa.b32.i2p/a?downloaded=0&info_hash=%E0%D0xW%15%98%3E%E0O%8C%E5y%B1%D6PT%A3%ACR%F4&ip=np-tl8cbKuImmzkM2sRDFTYfuWgOLafW7~KC-X3vOsXGWDHIp-kSVYLfi~2pjRoET8U~tIvM2ZPXR0SbLuiyPwFf-hPFE3abk9uCfhG~GCtIY9kHqm0xkqCRHyb3llELcrqzTndUCa1MvjcbkoT2LCmFXmKbqbxFZjxQHs3LrCua22EGVNIsUeOTpjf8rZAUjb50N5jlTrW5mNc1o0v-kaJYfGPKGAUmLYbs~6H9Fs9z8xQspjYfYJ-Kk0wVSunF2WZYFte4HyLqLM3jab0SqXorBJ7vHoib2elRcn-pehbozH~-dNoGxc5HD2xUikapvE9Ql4kjGWpVSeqnuPgk8H01X6312MdJ53cVBvcXvcfd2XZJlcgZhIhs0irluu01clrnJQlAZNWTbtKkOHs3sREB3rgatomUz1aFh7CvFU7AF5eOWhSr2wEmZBWHxv2Juhk-9gKHlbw5Y~GAXtP0pT1Z2pkWaHcC3XqAyIu5qJymmK6bSt~C6U2fPLuegEs4AAAA.i2p&left=4344456&numwant=30&peer_id=-XD0030-%1B%FD%CE%F6%96%F5%07%A9%27%9A%B0%9A&port=6881&uploaded=0: missing port in address w7tpbzncbcocrqtwwm3nezhnnsw4ozadvi2hmvzdhrqzfxfum7wa.b32.i2p
[WRN] 2017-05-16 08:19:42.034729133 +0200 CEST announce to failed: Get http://w7tpbzncbcocrqtwwm3nezhnnsw4ozadvi2hmvzdhrqzfxfum7wa.b32.i2p/a?downloaded=0&info_hash=%E0%D0xW%15%98%3E%E0O%8C%E5y%B1%D6PT%A3%ACR%F4&ip=np-tl8cbKuImmzkM2sRDFTYfuWgOLafW7~KC-X3vOsXGWDHIp-kSVYLfi~2pjRoET8U~tIvM2ZPXR0SbLuiyPwFf-hPFE3abk9uCfhG~GCtIY9kHqm0xkqCRHyb3llELcrqzTndUCa1MvjcbkoT2LCmFXmKbqbxFZjxQHs3LrCua22EGVNIsUeOTpjf8rZAUjb50N5jlTrW5mNc1o0v-kaJYfGPKGAUmLYbs~6H9Fs9z8xQspjYfYJ-Kk0wVSunF2WZYFte4HyLqLM3jab0SqXorBJ7vHoib2elRcn-pehbozH~-dNoGxc5HD2xUikapvE9Ql4kjGWpVSeqnuPgk8H01X6312MdJ53cVBvcXvcfd2XZJlcgZhIhs0irluu01clrnJQlAZNWTbtKkOHs3sREB3rgatomUz1aFh7CvFU7AF5eOWhSr2wEmZBWHxv2Juhk-9gKHlbw5Y~GAXtP0pT1Z2pkWaHcC3XqAyIu5qJymmK6bSt~C6U2fPLuegEs4AAAA.i2p&left=4344456&numwant=30&peer_id=-XD0030-%1B%FD%CE%F6%96%F5%07%A9%27%9A%B0%9A&port=6881&uploaded=0: missing port in address w7tpbzncbcocrqtwwm3nezhnnsw4ozadvi2hmvzdhrqzfxfum7wa.b32.i2p
I guess when trying to announce already downloaded torrents.. Not sure if the problem is with the tracker, or with XD though.
When adding a torrent file to the downloads/ folder, XD segfaults. This is from when adding i2pupdate-0.9.30.su3 to the folder.
[NFO] 2017-07-30 21:32:35.810096824 +0200 CEST starting XD-0.0.4-6380ad7
[NFO] 2017-07-30 21:32:35.815348155 +0200 CEST loaded config torrents.ini
[NFO] 2017-07-30 21:32:35.815416253 +0200 CEST generated peer id xxxxx
[NFO] 2017-07-30 21:32:35.819436402 +0200 CEST create new i2p session with 127.0.0.1:7656
[NFO] 2017-07-30 21:32:35.819976207 +0200 CEST opening i2p session
[NFO] 2017-07-30 21:33:15.840086488 +0200 CEST i2p session made, we are xxx.b32.i2p
[NFO] 2017-07-30 21:36:12.956807928 +0200 CEST no bitfield for i2pupdate-0.9.30.su3
[NFO] 2017-07-30 21:36:12.981494118 +0200 CEST i2pupdate-0.9.30.su3 running
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x28 pc=0x61d56b]
goroutine 66 [running]:
panic(0x7475a0, 0xc4200100f0)
/usr/local/go/src/runtime/panic.go:500 +0x1a1
xd/lib/tracker.(*HttpTracker).Announce(0xc420012800, 0xc42001e150, 0xc4201a0320, 0x0, 0x0)
/home/mathias/source/go/XD/src/xd/lib/tracker/http.go:99 +0x24b
xd/lib/bittorrent/swarm.(*torrentAnnounce).tryAnnounce(0xc4201a4880, 0x7a8845, 0x7, 0x0, 0xc4201122f8)
/home/mathias/source/go/XD/src/xd/lib/bittorrent/swarm/torrent.go:38 +0x1db
xd/lib/bittorrent/swarm.(*Torrent).announce(0xc4201080c0, 0x0, 0x0, 0x7a8845, 0x7)
/home/mathias/source/go/XD/src/xd/lib/bittorrent/swarm/torrent.go:268 +0xbe
xd/lib/bittorrent/swarm.(*Torrent).StartAnnouncing(0xc4201080c0)
/home/mathias/source/go/XD/src/xd/lib/bittorrent/swarm/torrent.go:226 +0x11e
created by xd/lib/bittorrent/swarm.(*Swarm).startTorrent
/home/mathias/source/go/XD/src/xd/lib/bittorrent/swarm/swarm.go:57 +0x235
EDIT: Seems to download/seed when restarting XD though
Can it be optional?
[NFO] 2017-09-15 11:22:23.676528458 -0400 EDT m=+6430.255593282 Global Speed: Upload: 0.00B/sec Download: 0.00B/sec
[NFO] 2017-09-15 11:22:33.676941919 -0400 EDT m=+6440.256006044 Global Speed: Upload: 0.00B/sec Download: 0.00B/sec
[NFO] 2017-09-15 11:22:43.677353704 -0400 EDT m=+6450.256418038 Global Speed: Upload: 0.00B/sec Download: 0.00B/sec
[NFO] 2017-09-15 11:22:53.677750821 -0400 EDT m=+6460.256814527 Global Speed: Upload: 0.00B/sec Download: 0.00B/sec
etc...
[WRN] 2017-04-04 16:18:16.933835849 +0000 UTC PutPiece(): error writing book.pdf, write storage/downloads/book.pdf: invalid argument, write 0
[WRN] 2017-04-04 16:18:16.934857092 +0000 UTC put piece 814 failed: write storage/downloads/book.pdf: invalid argument
[WRN] 2017-04-04 16:19:00.997462317 +0000 UTC PutPiece(): error writing book.pdf, write storage/downloads/book.pdf: invalid argument, write 0
[WRN] 2017-04-04 16:19:00.998878908 +0000 UTC put piece 813 failed: write storage/downloads/book.pdf: invalid argument
[WRN] 2017-04-04 16:19:48.765281032 +0000 UTC PutPiece(): error writing book.pdf, write storage/downloads/book.pdf: invalid argument, write 0
[WRN] 2017-04-04 16:19:48.766999915 +0000 UTC put piece 812 failed: write storage/downloads/book.pdf: invalid argument
[WRN] 2017-04-04 16:20:19.755607165 +0000 UTC PutPiece(): error writing book.pdf, write storage/downloads/book.pdf: invalid argument, write 0
[WRN] 2017-04-04 16:20:19.758052051 +0000 UTC PutPiece(): error writing book.pdf, write storage/downloads/book.pdf: invalid argument, write 0
[WRN] 2017-04-04 16:20:19.759014536 +0000 UTC put piece 811 failed: write storage/downloads/book.pdf: invalid argument
[WRN] 2017-04-04 16:20:19.759679812 +0000 UTC put piece 811 failed: write storage/downloads/book.pdf: invalid argument
[WRN] 2017-04-04 16:22:56.494048112 +0000 UTC PutPiece(): error writing book.pdf, write storage/downloads/book.pdf: invalid argument, write 0
[WRN] 2017-04-04 16:22:56.495152534 +0000 UTC put piece 810 failed: write storage/downloads/book.pdf: invalid argument
And it seems like it stopped downloading after those warnings. Version is trunk from github.
git revision / version: master
OS: linux
Architecture: x64
WebUI buttons seems to stop torrent, but don't remove it completely. I had to run ./XD-cli delete [hash] to remove it... After I press remove it shows - "torrent already stopped"
User chooses directory/file to share and adds metadata, gets back Anodex URI, ready to share with other users.
XD seems to max out CPU time when the I2P daemon is shutdown or terminated.
It's nice to have an 'incoming' and 'completed' dir as to know what is done without having to check the web ui
As of now, all that is reported is tracker announcement and new peers. No indication of download speed or progress.
For seeding, the peer reporting and announcements are enough, but when downloading, there is no way of knowing how much has been downloaded, and if/when the file(s) are complete.
A simple (?) listing of "[torrent hash X]: 159 of 8921 chunks downloaded" would be a good start to throw in the log once in a while. :)
Some sort of time delta of downloaded chunks to get a rough estimate of download speed would also be nice, but of secondary importance.
I'm trying to learn golang in order to help in some way, but for now this is beyond me..
This needs to be done.
tracking webui updates progress
Need detailed torrent list, for displaying front page of webui. Right now API is getting spammed with n requests (for every torrent) each second, it may cause problems when n > 100.
Hi,
wonder if it's just me or if anybody else has this problem with the XD 0.0.9 pre 1 build. I selected a torrent which has a lot of peers as usual, and there's a lot of traffic, XD webui reports ~40kbyte/sec, the i2pd node is up to 200 kbyte/sec, but after three hours, the progress on one of the same torrent is still 0.03%.
Restarting XD makes it download some pieces again, and then stop. Something's borked?
[NFO] 2017-09-15 11:58:26.36455999 +0200 CEST m=+0.026784130 starting XD-0.0.8-2bd94c3
[NFO] 2017-09-15 11:58:26.365883218 +0200 CEST m=+0.028107356 loaded config torrents.ini
[NFO] 2017-09-15 11:58:26.365898041 +0200 CEST m=+0.028122162 Ensure filesystem storage
[NFO] 2017-09-15 11:58:26.367207465 +0200 CEST m=+0.029431614 generated peer id -XD0080-t%9D%DFN%81%A1%0F%94%D0%FBKT
[NFO] 2017-09-15 11:58:26.368732518 +0200 CEST m=+0.030956767 RPC enabled
[NFO] 2017-09-15 11:58:26.368768624 +0200 CEST m=+0.030992808 create new i2p session with 127.0.0.1:7656
[NFO] 2017-09-15 11:58:26.369500725 +0200 CEST m=+0.031724919 opening i2p session
[NFO] 2017-09-15 11:58:46.393584316 +0200 CEST m=+20.055808436 i2p session made, we are xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.b32.i2p
[NFO] 2017-09-15 11:58:46.395935072 +0200 CEST m=+20.058159222 Global Speed: Upload: 0.00B/sec Download: 0.00B/sec
[NFO] 2017-09-15 11:58:47.37337346 +0200 CEST m=+21.035597634 xxx-torrent running
[NFO] 2017-09-15 11:58:47.373407678 +0200 CEST m=+21.035631872 i2pupdate-0.9.31.su3 running
[NFO] 2017-09-15 11:58:56.396635709 +0200 CEST m=+30.058859910 Global Speed: Upload: 0.00B/sec Download: 0.00B/sec
[NFO] 2017-09-15 11:59:06.397314041 +0200 CEST m=+40.059538238 Global Speed: Upload: 0.00B/sec Download: 0.00B/sec
[NFO] 2017-09-15 11:59:16.398077119 +0200 CEST m=+50.060301326 Global Speed: Upload: 0.00B/sec Download: 0.00B/sec
[NFO] 2017-09-15 11:59:26.398780156 +0200 CEST m=+60.061004368 Global Speed: Upload: 0.00B/sec Download: 0.00B/sec
[NFO] 2017-09-15 11:59:36.39937598 +0200 CEST m=+70.061600158 Global Speed: Upload: 0.00B/sec Download: 0.00B/sec
[NFO] 2017-09-15 11:59:46.400049866 +0200 CEST m=+80.062274131 Global Speed: Upload: 0.00B/sec Download: 0.00B/sec
[NFO] 2017-09-15 11:59:47.373759024 +0200 CEST m=+81.035983144 announcing to
[NFO] 2017-09-15 11:59:47.373750946 +0200 CEST m=+81.035975056 announcing to
[NFO] 2017-09-15 11:59:56.400810576 +0200 CEST m=+90.063034777 Global Speed: Upload: 0.00B/sec Download: 0.00B/sec
[NFO] 2017-09-15 12:00:06.401471469 +0200 CEST m=+100.063695590 Global Speed: Upload: 0.00B/sec Download: 0.00B/sec
[NFO] 2017-09-15 12:00:16.402154537 +0200 CEST m=+110.064378722 Global Speed: Upload: 0.00B/sec Download: 0.00B/sec
[WRN] 2017-09-15 12:00:23.41277912 +0200 CEST m=+117.075003299 failed to resolve peer NAMING REPLY RESULT=INVALID_KEY NAME=7tcc77edmwl4apdaaplgyh3do6jrcqcjcd5vl2hd5lbeswfqkrtq.b32.i2p
[NFO] 2017-09-15 12:00:26.402807093 +0200 CEST m=+120.065031256 Global Speed: Upload: 0.00B/sec Download: 11.21KB/sec
[NFO] 2017-09-15 12:00:36.403683871 +0200 CEST m=+130.065908185 Global Speed: Upload: 0.00B/sec Download: 4.80KB/sec
[NFO] 2017-09-15 12:00:46.2240353 +0200 CEST m=+139.886259524 xxx-torrent got piece 39
[NFO] 2017-09-15 12:00:46.40419205 +0200 CEST m=+140.066416157 Global Speed: Upload: 0.00B/sec Download: 19.21KB/sec
[NFO] 2017-09-15 12:00:48.023801638 +0200 CEST m=+141.686025784 i2pupdate-0.9.31.su3 got piece 33
[NFO] 2017-09-15 12:00:56.404772335 +0200 CEST m=+150.066996445 Global Speed: Upload: 0.00B/sec Download: 35.22KB/sec
[NFO] 2017-09-15 12:00:58.93085287 +0200 CEST m=+152.593077018 i2pupdate-0.9.31.su3 got piece 13
[NFO] 2017-09-15 12:01:06.405460901 +0200 CEST m=+160.067685048 Global Speed: Upload: 0.00B/sec Download: 44.07KB/sec
[NFO] 2017-09-15 12:01:16.406094021 +0200 CEST m=+170.068318162 Global Speed: Upload: 0.00B/sec Download: 72.95KB/sec
[NFO] 2017-09-15 12:01:19.515193376 +0200 CEST m=+173.177417634 i2pupdate-0.9.31.su3 got piece 42
[NFO] 2017-09-15 12:01:26.406660142 +0200 CEST m=+180.068884258 Global Speed: Upload: 0.00B/sec Download: 84.86KB/sec
Any plans on adding front-ends for end-users? Like transmission torrent client has: cli version, GTK, and web front-end.
currently XD requests pieces last to first. for swarm health it should do rarest pieces first.
On memory constrained devices XD gets OOMed pretty fast, queuing torrent would probably help with this.
Currently (with git) running a few dozen torrents causes high CPU usage due to events/s as per powertop.
At first run, when it prints forever
[DBG] 2017-08-10 17:04:02.564856198 +0000 UTC torrent waiting for network
I press ctrl+c and it throws new error
[DBG] 2017-08-10 17:04:03.565118023 +0000 UTC torrent waiting for network
^C[NFO] 2017-08-10 17:04:03.831307788 +0000 UTC Interrupted
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x55bf829ebff9]
goroutine 18 [running]:
github.com/majestrate/XD/vendor/xd/lib/bittorrent/swarm.(*torrentAnnounce).tryAnnounce(0x0, 0x55bf82aa26db, 0x7, 0x0, 0x55bf82fb0b40)
/root/go/src/github.com/majestrate/XD/vendor/xd/lib/bittorrent/swarm/announce.go:21 +0x39
github.com/majestrate/XD/vendor/xd/lib/bittorrent/swarm.(*Torrent).announce(0xc4200ba0c0, 0x0, 0x0, 0x55bf82aa26db, 0x7)
/root/go/src/github.com/majestrate/XD/vendor/xd/lib/bittorrent/swarm/torrent.go:246 +0xca
github.com/majestrate/XD/vendor/xd/lib/bittorrent/swarm.(*Torrent).StopAnnouncing(0xc4200ba0c0)
/root/go/src/github.com/majestrate/XD/vendor/xd/lib/bittorrent/swarm/torrent.go:218 +0xc9
github.com/majestrate/XD/vendor/xd/lib/bittorrent/swarm.(*Torrent).Close(0xc4200ba0c0, 0xc420114d80, 0xc42001cfa8)
/root/go/src/github.com/majestrate/XD/vendor/xd/lib/bittorrent/swarm/torrent.go:86 +0x73
github.com/majestrate/XD/vendor/xd/lib/bittorrent/swarm.(*Holder).Close.func1(0xc420052f18, 0xc4201b3230, 0x28)
/root/go/src/github.com/majestrate/XD/vendor/xd/lib/bittorrent/swarm/holder.go:90 +0xda
created by github.com/majestrate/XD/vendor/xd/lib/bittorrent/swarm.(*Holder).Close
/root/go/src/github.com/majestrate/XD/vendor/xd/lib/bittorrent/swarm/holder.go:91 +0x203
Hello, first of all - nice job with making a torrent client compatible with i2pd (:
My problem is that when I remove .torrent + the data from storage/downloads - XD keeps making the data-files again and keeps downloading. How to stop + remove some torrent?
It seems XD downloads even if files are not writable by XD "put piece failed" thus filling up ram and OOMing after awhile
Assign me ๐
BEP35, when implemented, would allow torrents to be signed by creators or authors that vouch for its authenticity. Likewise, it would allow client users to verify if I torrent came from a specific author, or if others vouch for it's authenticity. It would also work great in conjunction with BEP46: Updating Torrents Via DHT Mutable Items
TODO: add sam destination signature types.
git revision / version: master
OS: linux
Architecture: x86
with 32MB file testnet downloads to 0.99 progress, then stalls forever...
the last piece doesn't seem to download
peers:
-XD0100-%894%2B%3A%5B%0D%3E%DD%A2%97o%E1 tx=0.00B/sec rx=43.22KB/sec
downloading tx=0.00B/sec rx=43.22KB/sec (0.00 ratio)
files:
[0] testfile.iso (0.99 done)
Error messages: [yes/no]
Backtrace: [yes/no]
git revision / version: XD-0.1.0-e721a8d
OS: Synology DSM 6.1.5-15254 Update 1, Docker 17.05.0-ce
Architecture: Intel x86-64
Web UI remote access error:
http://192.168.1.254:1488/
expected host 127.0.0.1 but got 192.168.1.254
torrents.ini:
[i2p]
address=192.168.1.254:7656
[storage]
rootdir=/home/xd/storage
metadata=/home/xd/storage/metadata
downloads=/home/xd/storage/downloads
[rpc]
bind=192.168.1.254:1488
enabled=1
[log]
level=info
pprof=0
[bittorrent]
pex=1
dht=0
swarms=1
tracker-config=trackers.ini
[gnutella]
enabled=0
Error messages: no
Backtrace: yes
NFO] 2018-03-15 04:06:44.403997107 +0000 UTC m=+0.089092651 starting XD-0.1.0-e721a8d
,
NFO] 2018-03-15 04:06:44.506044633 +0000 UTC m=+0.191140039 loaded config torrents.ini
,
NFO] 2018-03-15 04:06:44.506123185 +0000 UTC m=+0.191218604 Ensure filesystem storage
,
NFO] 2018-03-15 04:06:44.506233639 +0000 UTC m=+0.191329057 generated peer id -XD0100-%FA%82%7D%DB%DD%DENf%B2%E7%D6x
,
NFO] 2018-03-15 04:06:44.624241485 +0000 UTC m=+0.309336891 RPC enabled
,
NFO] 2018-03-15 04:06:44.624491056 +0000 UTC m=+0.309586449 create new i2p session with 192.168.1.254:7656
,
NFO] 2018-03-15 04:06:44.624840429 +0000 UTC m=+0.309935823 opening i2p session
,
ERR] 2018-03-15 04:06:44.62527128 +0000 UTC m=+0.310366724 failed to create i2p session: dial tcp 192.168.1.254:7656: getsockopt: connection refused
,
NFO] 2018-03-15 04:06:45.625455101 +0000 UTC m=+1.310550544 opening i2p session
,
ERR] 2018-03-15 04:06:45.625709671 +0000 UTC m=+1.310805102 failed to create i2p session: dial tcp 192.168.1.254:7656: getsockopt: connection refused
,
NFO] 2018-03-15 04:07:10.637633094 +0000 UTC m=+26.322728600 opening i2p session
,
NFO] 2018-03-15 04:07:34.524917932 +0000 UTC m=+50.210013325 i2p session made, we are ahxypu7zvw3fvicgbun6hesth5x74l4optjvuksjik6sq3okekra.b32.i2p
,
NFO] 2018-03-15 04:07:34.575209909 +0000 UTC m=+50.260305327 network obtained
,
NFO] 2018-03-15 04:07:34.57531345 +0000 UTC m=+50.260408868 new network context obtained
,
NFO] 2018-03-15 04:07:34.576486074 +0000 UTC m=+50.261581480 checking local data for System Of A Down - Discography [MP3]
,
NFO] 2018-03-15 04:08:22.658648348 +0000 UTC m=+98.343743992 local data check done for System Of A Down - Discography [MP3]
,
NFO] 2018-03-15 04:08:22.659032348 +0000 UTC m=+98.344127754 System Of A Down - Discography [MP3] is seeding
,
NFO] 2018-03-15 04:08:46.204041509 +0000 UTC m=+121.889136940 http://tracker2.postman.i2p:80/announce.php got 10 peers for 3218c3405e877fe4eb3c709ac402e805ec67544e
,
NFO] 2018-03-15 04:09:02.634075722 +0000 UTC m=+138.319171153 http://s5ikrdyjwbcgxmqetxb3nyheizftms7euacuub2hic7defkh3xhq.b32.i2p:80/a got 10 peers for 3218c3405e877fe4eb3c709ac402e805ec67544e
,
NFO] 2018-03-15 04:09:24.979379045 +0000 UTC m=+160.664474439 http://uajd4nctepxpac4c4bdyrdw7qvja2a5u3x25otfhkptcjgd53ioq.b32.i2p:80/announce got 1 peers for 3218c3405e877fe4eb3c709ac402e805ec67544e
,
WRN] 2018-03-15 04:09:48.380522274 +0000 UTC m=+184.065617680 failed to resolve peer NAMING REPLY RESULT=INVALID_KEY NAME=ahxypu7zvw3fvicgbun6hesth5x74l4optjvuksjik6sq3okekra.b32.i2p
,
,
NFO] 2018-03-15 04:09:53.872734235 +0000 UTC m=+189.557829654 http://w7tpbzncbcocrqtwwm3nezhnnsw4ozadvi2hmvzdhrqzfxfum7wa.b32.i2p:80/a got 10 peers for 3218c3405e877fe4eb3c709ac402e805ec67544e
,
NFO] 2018-03-15 04:36:10.538120347 +0000 UTC m=+1766.223215916 http://s5ikrdyjwbcgxmqetxb3nyheizftms7euacuub2hic7defkh3xhq.b32.i2p:80/a got 10 peers for 3218c3405e877fe4eb3c709ac402e805ec67544e
,
NFO] 2018-03-15 04:36:59.073052447 +0000 UTC m=+1814.758147866 http://w7tpbzncbcocrqtwwm3nezhnnsw4ozadvi2hmvzdhrqzfxfum7wa.b32.i2p:80/a got 10 peers for 3218c3405e877fe4eb3c709ac402e805ec67544e
,
WRN] 2018-03-15 05:03:33.582203682 +0000 UTC m=+3409.267299126 http://s5ikrdyjwbcgxmqetxb3nyheizftms7euacuub2hic7defkh3xhq.b32.i2p:80/a got error while announcing: Get http://s5ikrdyjwbcgxmqetxb3nyheizftms7euacuub2hic7defkh3xhq.b32.i2p:80/a?downloaded=0&event=completed&info_hash=2%18%C3%40%5E%87%7F%E4%EB%3Cp%9A%C4%02%E8%05%ECgTN&ip=mw1Rqmvhel-oj05j8fUv~q3rqgaZkattO~kx0QZAcOVwfn4gQ49bNK7XXqFtiC0DlGR9LZPpZRZAVO130zkxsQkJlvzEmzuTsc-qePEhEV5tqKlklwG6wG-Wr40gfM74ZoqXlhZEyp291KpMPAbXwgrzf8O~Pa8XqmfRCGHVbDGecbhe~~trhSJwTj8hn3j~c~dgQdonaugu8kMjDuolnZVHPYUBIrTSW~b11jJkXXdrQnTOI4GiwcCLqNSDkIxN2Q~JSTvRsSEGyl3DWALzwDEjzvXlgMf-hP2Rpr2N4og4eWgHTWDD0n5wf9YfVXh8aaOiJr9KaoDqgy2VeKtfqIQiBD9PPHxmIsMPMUycNjgAIaIW2giNNY3NQU8mBW0RpYpaYHyrTnewNEfgZye4~yT7liWGiGc3l9cfuToanZ-kUzh1rFvOxQ~jyTaRJdiWK2e5hgI89OYsimNllmtCLUdRJ9gHmxiWkCJQzRCANGFLgql9yEXD91DzNg8g3UFcBQAEAAcAAA%3D%3D.i2p&left=18446744073709336700&numwant=10&peer_id=-XD0100-%FA%82%7D%DB%DD%DENf%B2%E7%D6x&port=6881&uploaded=0: EOF
,
WRN] 2018-03-15 05:03:33.582287983 +0000 UTC m=+3409.267383364 announce to http://s5ikrdyjwbcgxmqetxb3nyheizftms7euacuub2hic7defkh3xhq.b32.i2p/a failed: Get http://s5ikrdyjwbcgxmqetxb3nyheizftms7euacuub2hic7defkh3xhq.b32.i2p:80/a?downloaded=0&event=completed&info_hash=2%18%C3%40%5E%87%7F%E4%EB%3Cp%9A%C4%02%E8%05%ECgTN&ip=mw1Rqmvhel-oj05j8fUv~q3rqgaZkattO~kx0QZAcOVwfn4gQ49bNK7XXqFtiC0DlGR9LZPpZRZAVO130zkxsQkJlvzEmzuTsc-qePEhEV5tqKlklwG6wG-Wr40gfM74ZoqXlhZEyp291KpMPAbXwgrzf8O~Pa8XqmfRCGHVbDGecbhe~~trhSJwTj8hn3j~c~dgQdonaugu8kMjDuolnZVHPYUBIrTSW~b11jJkXXdrQnTOI4GiwcCLqNSDkIxN2Q~JSTvRsSEGyl3DWALzwDEjzvXlgMf-hP2Rpr2N4og4eWgHTWDD0n5wf9YfVXh8aaOiJr9KaoDqgy2VeKtfqIQiBD9PPHxmIsMPMUycNjgAIaIW2giNNY3NQU8mBW0RpYpaYHyrTnewNEfgZye4~yT7liWGiGc3l9cfuToanZ-kUzh1rFvOxQ~jyTaRJdiWK2e5hgI89OYsimNllmtCLUdRJ9gHmxiWkCJQzRCANGFLgql9yEXD91DzNg8g3UFcBQAEAAcAAA%3D%3D.i2p&left=18446744073709336700&numwant=10&peer_id=-XD0100-%FA%82%7D%DB%DD%DENf%B2%E7%D6x&port=6881&uploaded=0: EOF
,
NFO] 2018-03-15 05:04:05.180764811 +0000 UTC m=+3440.865860242 http://w7tpbzncbcocrqtwwm3nezhnnsw4ozadvi2hmvzdhrqzfxfum7wa.b32.i2p:80/a got 10 peers for 3218c3405e877fe4eb3c709ac402e805ec67544e
,
NFO] 2018-03-15 05:04:09.354752402 +0000 UTC m=+3445.039847808 http://s5ikrdyjwbcgxmqetxb3nyheizftms7euacuub2hic7defkh3xhq.b32.i2p:80/a got 8 peers for 3218c3405e877fe4eb3c709ac402e805ec67544e
,
NFO] 2018-03-15 05:09:05.681148519 +0000 UTC m=+3741.366243962 http://tracker2.postman.i2p:80/announce.php got 10 peers for 3218c3405e877fe4eb3c709ac402e805ec67544e
,
NFO] 2018-03-15 05:09:38.291499196 +0000 UTC m=+3773.976594615 http://uajd4nctepxpac4c4bdyrdw7qvja2a5u3x25otfhkptcjgd53ioq.b32.i2p:80/announce got 1 peers for 3218c3405e877fe4eb3c709ac402e805ec67544e
,
WRN] 2018-03-15 05:09:58.323871923 +0000 UTC m=+3794.008967342 failed to resolve peer NAMING REPLY RESULT=INVALID_KEY NAME=ahxypu7zvw3fvicgbun6hesth5x74l4optjvuksjik6sq3okekra.b32.i2p
,
,
The above version still has problems with download speed, and piece selection seems to level out after 20-30 minutes. When restarting XD, the number of pieces downloaded increases again, then gradually decrease over time.
Endless squirts of this appear.
[DBG] 2017-09-15 20:02:29.564094124 +0200 CEST m=+2046.260098035 get next piece excluding [1844 244 167 2089 2180]
[DBG] 2017-09-15 20:02:29.566503717 +0200 CEST m=+2046.262507432 no next piece to download for %00%00%00%00%00%00%00%00%00%03%03%03%A1%27%B3%EDH%22%DC%E0
[DBG] 2017-09-15 20:02:29.568044904 +0200 CEST m=+2046.264048616 no next piece request for idx=167
[DBG] 2017-09-15 20:02:29.568082297 +0200 CEST m=+2046.264086084 get next piece excluding [1844 244 167 2089 2180]
[DBG] 2017-09-15 20:02:29.571351689 +0200 CEST m=+2046.267355474 no next piece to download for %00%00%00%00%00%00%00%00%00%03%03%03%C3i+Y%05%1F%9D%C1
[DBG] 2017-09-15 20:02:29.571900193 +0200 CEST m=+2046.267903886 no next piece request for idx=167
[DBG] 2017-09-15 20:02:29.571947732 +0200 CEST m=+2046.267951473 get next piece excluding [1844 244 167 2089 2180]
[DBG] 2017-09-15 20:02:29.574465022 +0200 CEST m=+2046.270468738 no next piece to download for %00%00%00%00%00%00%00%00%00%03%03%03%F4-%CCu%5D%16%90%B8
[DBG] 2017-09-15 20:02:29.574564936 +0200 CEST m=+2046.270568637 no next piece request for idx=2180
[DBG] 2017-09-15 20:02:29.574596072 +0200 CEST m=+2046.270599790 get next piece excluding [2180 1844 244 167 2089]
[DBG] 2017-09-15 20:02:29.577731845 +0200 CEST m=+2046.273735592 no next piece to download for %00%00%00%00%00%00%00%00%00%03%03%03%A1%F8L%A8%C237%01
[DBG] 2017-09-15 20:02:29.577774802 +0200 CEST m=+2046.273778484 no next piece request for idx=244
[DBG] 2017-09-15 20:02:29.577791323 +0200 CEST m=+2046.273795015 get next piece excluding [167 2089 2180 1844 244]
[DBG] 2017-09-15 20:02:29.580697768 +0200 CEST m=+2046.276701512 no next piece to download for %00%00%00%00%00%00%00%00%00%03%03%03%F3%BEMc%DBX%A6%EB
[DBG] 2017-09-15 20:02:29.605007258 +0200 CEST m=+2046.301011035 no next piece request for idx=2089
[DBG] 2017-09-15 20:02:29.605072982 +0200 CEST m=+2046.301076815 get next piece excluding [2180 1844 244 167 2089]
[DBG] 2017-09-15 20:02:29.608670982 +0200 CEST m=+2046.304674695 no next piece to download for %00%00%00%00%00%00%00%00%00%03%03%03%1A%80%FC%E7%9C%7C%B3e
[DBG] 2017-09-15 20:02:30.333860549 +0200 CEST m=+2047.029864406 no next piece request for idx=2180
[DBG] 2017-09-15 20:02:30.333954858 +0200 CEST m=+2047.029958636 get next piece excluding [2180 1844 244 167 2089]
[DBG] 2017-09-15 20:02:30.339245155 +0200 CEST m=+2047.035248923 no next piece to download for %00%00%00%00%00%00%00%00%00%03%03%03%B6V%60%B1%60%CC%0A%D6
[DBG] 2017-09-15 20:02:30.542519994 +0200 CEST m=+2047.238523729 no next piece request for idx=2180
[DBG] 2017-09-15 20:02:30.542578034 +0200 CEST m=+2047.238581766 get next piece excluding [1844 244 167 2089 2180]
[DBG] 2017-09-15 20:02:30.546012522 +0200 CEST m=+2047.242016291 no next piece to download for %00%00%00%00%00%00%00%00%00%03%03%03P3%27T%A6%0F%BD%98
[DBG] 2017-09-15 20:02:30.556322667 +0200 CEST m=+2047.252326427 no next piece request for idx=167
[DBG] 2017-09-15 20:02:30.556402267 +0200 CEST m=+2047.252406017 get next piece excluding [1844 244 167 2089 2180]
[DBG] 2017-09-15 20:02:30.560145702 +0200 CEST m=+2047.256149473 no next piece to download for %00%00%00%00%00%00%00%00%00%03%03%03%839e%1D%17%BE%27%FB
[DBG] 2017-09-15 20:02:30.562284546 +0200 CEST m=+2047.258288333 no next piece request for idx=2180
[DBG] 2017-09-15 20:02:30.56232746 +0200 CEST m=+2047.258331274 get next piece excluding [2180 1844 244 167 2089]
No idea how to fix it though.
When user adds torrent with ./xd-cli add http://meme.i2p/file.torrent
it takes a long of time to fetch it and allocate space. All this time the terminal is blocked. Can XD just print information that request is received and do the job in background?
self explanatory.
Git pulled commit e4315ef and ran make
GOPATH=/home/user/source/go/XD go clean -v
rm -f storetest rpcdebug
GOPATH=/home/user/source/go/XD go build -v -ldflags "-X xd/lib/version.Git=-e4315ef"
github.com/zeebo/bencode
xd/lib/network
xd/lib/log
xd/lib/version
xd/lib/configparser
xd/lib/network/i2p
xd/lib/util
xd/lib/common
xd/lib/bittorrent
xd/lib/bittorrent/extensions
xd/lib/metainfo
xd/lib/tracker
xd/lib/storage
# xd/lib/tracker
src/xd/lib/tracker/http.go:52: t.u.Hostname undefined (type *url.URL has no field or method Hostname)
src/xd/lib/tracker/http.go:66: t.u.Hostname undefined (type *url.URL has no field or method Hostname)
src/xd/lib/tracker/http.go:66: t.u.Port undefined (type *url.URL has no field or method Port)
Makefile:6: recipe for target โXDโ failed
make: *** [XD] Error 2
EDIT: Saw that the method was implemented in the last commit, and is probably on the way, so you can maybe just ignore this issue..
Would SSH/SFTP be better handled via SSHFS and whatnot?
for protection from uptime correlation ideally XD should utilize multiple sessions and rotate the destination keys periodically.
Building my own XD from git (0253542) , I get
[ERR] 2017-09-27 17:31:45.713735207 +0200 CEST failed to fetch: invalid piece
on all torrents I try, even i2pupdate
EDIT: The files gets downloaded correctly, just not added to the queue. When starting an old version like 0.0.9-pre-2, the downloads is shown in the webgui and added for download.
It seems now when restarting I2P, XD won't reconnect until it's restarted. Latest git as of 03/16/2018
downloading files "does not work" because something in xd/lib/storage
stores files "wrong"
https://geti2p.net/en/docs/how/tunnel-routing
Maybe 2-hop tunnels will be fine? As a compromis, to get better speeds by default. And if user wants to go for maximum anonymity, he could configure XD for using 3-hop tunnels sacrificing speed.
From the latest commit 2cad16d . Same conditions as in #3 otherwise, same torrent.
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x4d5131]
goroutine 1021 [running]:
panic(0x73eaa0, 0xc4200100f0)
/usr/local/go/src/runtime/panic.go:500 +0x1a1
xd/lib/bittorrent/swarm.(*PeerConn).runReader(0xc4200fb6b0)
/home/mathias/source/go/XD/src/xd/lib/bittorrent/swarm/peer.go:215 +0x9d1
created by xd/lib/bittorrent/swarm.(*PeerConn).start
/home/mathias/source/go/XD/src/xd/lib/bittorrent/swarm/peer.go:68 +0x61
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.