Commit Graph

302 Commits

Author SHA1 Message Date
Bora Alper
2328087edb magneticow: web: enable caching static resources for 24 hours 2018-08-27 20:25:41 +03:00
Bora Alper
74ca0cac13 magneticow: api: return 404 when the resource is not found 2018-08-27 20:25:17 +03:00
Bora Alper
4c4dc1c173 added documentation, and Dockerfiles 2018-08-27 11:15:01 +03:00
Bora M. Alper
6cb7f3783e
fixes #133 2018-08-17 16:02:44 +03:00
Bora Alper
afbe7cd384 persistence: fixed tons of things, read the full description
- value returned from last_insert_rowid() is now checked
- INSERT OR IGNORE INTO torrents is removed in favour of explicitly checking if the torrent is in the database
- changed trigger names for keeping 'torrents_idx' up to date
- fixed 'modified_on' once again, but this time for sure (it seems...)
2018-08-16 13:41:25 +03:00
Bora Alper
1ee35d02c6 persistence: fixed nil error on empty 'torrents' and changed "modified_on" 2018-08-15 11:53:07 +03:00
Bora Alper
4854239576 [magneticod] added mutex to BT/metadata/Sink.incomingInfoHashes 2018-08-07 10:32:12 +03:00
Bora Alper
aa40589e0a updated Makefile (.PHONY) 2018-08-07 10:31:26 +03:00
Bora Alper
f7d426c200 updated .travis.yml 2018-08-07 10:30:23 +03:00
Bora Alper
85fb2f5ea9 resolved reqq question
reqq question
=============
reqq:
  An integer, the number of outstanding request messages this client supports
  without dropping any. The default in in libtorrent is 250.

  "handshake message" @ "Extension Protocol"
    @ http://www.bittorrent.org/beps/bep_0010.html

TODO: maybe by requesting all pieces at once we are exceeding this limit? maybe
      we should request as we receive pieces?

answer
======
almost every single peer I encountered (for brief 10 minutes... which I think
is enough) had 255 as reqq value and the number of metadata pieces we requested
very rarely exceeded 20... I think it's fair to assume that exceeding "that
limit" will never be a question, and requesting the next piece as we receive
the previous one might increase the latency, unnecessarily.
2018-08-03 16:16:33 +03:00
Bora Alper
4b9b354171 fixed some go vet warnings, fixed formatting 2018-08-03 15:40:04 +03:00
Bora Alper
e4bb7b5b35 fixed .travis.yml (4) 2018-08-03 13:11:36 +03:00
Bora Alper
0d77ddee94 fixed .travis.yml (3) 2018-08-03 12:54:26 +03:00
Bora Alper
c7dd6b9285 fixed .travis.yml #2 2018-08-03 12:23:00 +03:00
Bora Alper
e0a323d01c fixed .travis.yml 2018-08-03 11:51:20 +03:00
Bora Alper
dc420da802 cumulative commit! (see the description for changes)
magneticod:
!!! disabled the gradual increase in congestion control, for some reason we still can't detect congestion...
- `*net.UDPAddr` in dht/mainline instead of `net.Addr`
- fixed a bug when a very small extension message received
- simplified how peer adress is handled in bittorrent/metadata/sink
- simplified TrawlingResult in dht/mainline

magneticow:
- use WAL for sqlite3

persistence:
- use URL.String() instead of url.Path in sql.Open() so that URL parameters are not lost...
2018-08-03 11:28:50 +03:00
Bora Alper
c07daa3eca magneticod: metadata leech refactored heavily, now much more readable <3
+ persistence: we now make sure that rows are always closed using `defer`
2018-07-24 15:41:13 +03:00
Bora Alper
0614e9e0f9 magneticow: basic auth now works! 2018-07-12 10:58:39 +03:00
Bora Alper
a9cf795562 magneticow api is now *completely* done! 2018-07-08 12:08:24 +03:00
Bora Alper
ba1be368cf magneticow & api: statistics are now working! 2018-07-07 14:56:34 +03:00
Bora Alper
1e4b6d55aa magneticow: feeds now work! 2018-07-01 18:16:17 +03:00
Bora Alper
80881c42c3 magneticow: most recent torrents now works correctly 2018-07-01 17:30:06 +03:00
Bora Alper
cab54c6ec1 persistence: now using Row Value Comparsions as it should been using 2018-07-01 17:29:42 +03:00
Bora Alper
e20cdca890 magneticow: orderBy now works at API endpoint, no web interface yet 2018-06-29 20:08:00 +03:00
Bora Alper
3a45f17647 now torrent pages work too!
- Changed the URL structure of torrent pages:
  Before:
    /torrents/{{infoHash}}/{{name}}
  After:
    /torrents/{{infoHash}}
2018-06-29 18:58:57 +03:00
Bora Alper
0501fc3e3c magneticow: search now works perfectly!
- support for ordering is yet to be implemented
2018-06-19 18:49:46 +03:00
Bora Alper
44c6ebbb73 Merge branch 'go-rewrite' of github.com:boramalper/magnetico into go-rewrite 2018-04-29 14:54:27 +01:00
Bora M. Alper
05126b7449
Merge pull request #165 from izolight/fix-single-files
Fix adding of single file torrents
2018-04-29 12:59:03 +01:00
Gabor Tanz
8d1ea5ba0c fix handling of single file torrents 2018-04-28 23:48:36 +02:00
Bora Alper
0c54cc80dc [magneticow] the search now works, but need to change our approach 2018-04-25 21:33:50 +01:00
Bora Alper
ac7d0a514f QueryTorrents() of sqlite3 is complete! (testing needed) 2018-04-21 10:05:12 +01:00
Bora Alper
f8b489f4a0 fixed some imports 2018-04-16 16:40:54 +01:00
Bora Alper
7e2a2bc5d9 persistence/sqlite3 torrents_idx FTS5 table is created in user_version 3 (+ some other code improvements) 2018-03-04 11:07:53 +00:00
Bora Alper
ad839ae554 updated comments of QueryTorrents() and GetTorrent() in persistence/interface 2018-03-03 22:09:34 +00:00
Bora Alper
5c4d96402d removed enableFTS arg in MakeDatabase 2018-03-03 17:11:13 +00:00
Bora Alper
3a886229fc fixed pkg/persistence/interface.go 2018-03-03 17:09:49 +00:00
Bora Alper
7a49acb50a created /cmd and /pkg directories 2018-03-02 18:56:17 +00:00
Bora Alper
002d0af080 4rd attempt for appveyor 2017-11-15 00:51:20 +00:00
Bora Alper
506ff52665 2nd attempt for appveyor 2017-11-15 00:43:58 +00:00
Bora Alper
3b7beb2b98 yet another attempt at appveyor.yml 2017-11-15 00:40:35 +00:00
Bora Alper
64ff7e0749 Made database cmdline arg optional again, fixed appveyor.yml 2017-11-15 00:25:32 +00:00
Bora M. Alper
b44d56f07d
Added build status badges to README.md 2017-11-08 19:08:19 +00:00
Bora M. Alper
17f2971e11
Updated appveyor.yml 2017-11-08 18:58:25 +00:00
Bora M. Alper
8bb44f69c7
Added appveyor.yml 2017-11-08 18:56:12 +00:00
Bora Alper
e994a1d92b added CPU profiling 2017-11-08 00:03:02 +00:00
Bora Alper
d0c1b68692 Thanks to @anacrolix, we no longer need to monkey-patch the torrent!
Also added `operations_test.go` to ensure that it works as it's
advertised.
2017-11-07 21:20:40 +00:00
Bora Alper
e4d7bcac2d changed trawling interval from 1 to 3 seconds 2017-11-05 01:51:25 +00:00
Bora Alper
e9d23c3292 improved logging in main.go (tiny little bit) 2017-11-05 01:50:54 +00:00
Bora Alper
453ecae634 added incomingInfoHashes to keep track of active fetching operations 2017-11-05 01:50:20 +00:00
Bora Alper
7048110cd0 improved error handling in DoesTorrentExist() in persistence/sqlite3.go 2017-11-05 01:48:55 +00:00