Commit Graph

106 Commits

Author SHA1 Message Date
Širhoe Biazhkovič
c7edbb52f2 Merge commits 129aac230aa..828edb8fd8b from https://github.com/chihaya/chihaya 2022-04-12 15:58:14 +03:00
Lawrence, Rendall
fa4c7c49ad Add ping route for http listener 2021-12-21 16:36:38 +03:00
Lawrence, Rendall
4dbbb4ad83 Rename to MoChi 2021-12-21 15:24:25 +03:00
Širhoe Biazhkovič
5a1ac73a3d Update dependencies, fix invalid directory config parse 2021-12-21 15:24:25 +03:00
Širhoe Biazhkovič
360ac9d08d Add man to exported functions/fields 2021-12-21 15:24:25 +03:00
Širhoe Biazhkovič
0a5ac35c4d Fix e2e execution, append 2to1 hash in approvals, update dependencies 2021-12-21 15:24:25 +03:00
Širhoe Biazhkovič
dd0a455a4a Fix invalid http frontend listen call 2021-12-21 15:24:25 +03:00
Širhoe Biazhkovič
239a642bfc Fix varinterval panic if request IH is not provided 2021-12-21 15:24:25 +03:00
Širhoe Biazhkovič
beb4736b86 Implement simple PGDC methods for storage
* sanitize code a little
* move e2e build to 'e2e' tag
2021-12-21 15:24:25 +03:00
Širhoe Biazhkovič
566d99fcd7 Gegin work on shared store for handlers 2021-12-21 15:24:25 +03:00
Širhoe Biazhkovič
2f092bad45 Initial torrentV2 hash support 2021-12-21 15:24:11 +03:00
Širhoe Biazhkovič
114e8c0f06 Fix invalid time serialization 2021-09-05 18:16:10 +03:00
Širhoe Biazhkovič
cb4ac3c7f8 Remove zeebo/bencode dependency because of anacrolix/torrent usage 2021-09-05 16:17:21 +03:00
Širhoe Biazhkovič
8580bb37e0 WIP Add support for custom torrents' approval storages
* migrate torrentapproval to list storage
* add initial support for torrent file storage (watch directory with fsnotify)
* replace frontend/http/bencode package with github.com/zeebo/bencode module
* sanitize code (fix warnings)

TODO:
* parse torrent files to get hashes,
* watch directory event types

DON'T use for now
2021-09-04 01:49:01 +03:00
elotreum
77a52f9f30 http: allow for customized routes
Update to allow arrays of routes to be passed to the http frontend.
This also supports named parameters as permitted by the
router.

To avoid external dependencies in the middleware, a RouteParam and
RouteParams type was added to the bittorrent package.

Note: this eliminates the need for "enable_legacy_php_urls", as
the the additional route could be added to the route array. However,
this may be considered a breaking change.
2020-01-14 16:35:28 -07:00
elotreum
5082146ae9 http: explicitly set Content-Type header
Since Content-Type is not explicitly set, golang sniffs the responses
and attempts a guess. With announce responses, this usually means it
guesses application/octet-stream.

According to the godoc at
https://golang.org/pkg/net/http/#ResponseWriter

// If WriteHeader has not yet been called, Write calls
// WriteHeader(http.StatusOK) before writing the data. If the Header
// does not contain a Content-Type line, Write adds a Content-Type set
// to the result of passing the initial 512 bytes of written data to
// DetectContentType. Additionally, if the total size of all written
// data is under a few KB and there are no Flush calls, the
// Content-Length header is added automatically.
2020-01-14 13:31:25 -07:00
Leo Balduf
87c72bc516 config: update example config 2019-10-17 12:38:08 +09:00
Leo Balduf
cb88a11d6a frontend: add defaults for parser options 2019-10-12 12:52:16 +09:00
Cenk Alti
d0fc3a4634 split listen&serve for http 2018-12-30 13:36:32 +03:00
Cenk Alti
0de1d25448 fix listenAndServe comment 2018-12-27 15:17:43 +03:00
Cenk Alti
b345eb3899 split listenAndServe into 2 functions 2018-12-26 18:15:05 +03:00
Cenk Alti
2a26215f2a Revert "protect socket variable with mutex; fix #437"
This reverts commit 1b7ce4c378.
2018-12-26 18:10:48 +03:00
Cenk Alti
1b7ce4c378 protect socket variable with mutex; fix #437 2018-12-25 11:23:47 +03:00
Cenk Alti
fcbc168ae6 add test case for demonstrating panic 2018-12-25 11:23:08 +03:00
onestraw
e09d11e4b9 fix goimports error
Change-Id: I0f6e383ec1081cc47c690fdaab3fd35590a2634b
2018-12-17 16:59:44 +08:00
Jimmy Zelinskie
dcd8e8ea86 Merge pull request #429 from yashpal1995/canonicalize_real-ip-header
frontend/http: canonicalize http real_ip_header
2018-10-24 14:28:21 -04:00
Justin Li
3c80ed8a8e Fix goimports violations 2018-10-24 09:25:03 -04:00
Yashpal Choudhary
e749c9c6c9 frontend/http: canonicalize http real_ip_header
Fixes #428
2018-10-20 03:07:22 +05:30
Leo Balduf
495f2c2734 frontend/udp: pool connection ID generation state 2018-09-18 11:25:54 +02:00
Leo Balduf
96d0c3d829 frontend/udp: debug log connection ID generation/validation 2018-09-16 22:36:47 +02:00
Justin Li
1cb16ddb0c Add https_addr config, required to run HTTPS 2018-09-11 17:17:09 -04:00
Justin Li
1a4e4c833b Merge pull request #413 from chihaya/recursive-stop-groups
Return []error from Stop() channel, allow recursive stop groups
2018-09-11 17:14:41 -04:00
Justin Li
d95120c817 Return []error from Stop() channel, allow recursive stop groups 2018-09-09 11:30:15 -04:00
Justin Li
20edf7a136 Add config to enable keepalive/persistent connections 2018-09-09 09:01:53 -04:00
Leo Balduf
8095657735 http: fix TLS 2018-09-04 12:45:06 +02:00
Jimmy Zelinskie
f0780ad9cc frontend: isolate prometheus logic to one file 2018-06-15 13:33:26 -04:00
Leo Balduf
fa19d1125c udp: support both BEP15 and old opentracker v6 announces 2018-02-17 13:41:36 +01:00
Jimmy Zelinskie
2004489016 *: add subtests for all table driven tests
Because we use testify, this is less useful than normal, but this is
still best practice for table-driven tests.
2017-12-29 17:44:45 -05:00
mrd0ll4r
15bd5c41f3 Merge pull request #368 from mrd0ll4r/udp-connect-af
udp: set address family for connect metrics
2017-12-07 19:10:30 +01:00
Leo Balduf
fa6e360da4 udp: set address family for connect metrics 2017-12-06 23:00:36 +01:00
Leo Balduf
2f58e98832 http: add option for legacy PHP URLs 2017-12-05 10:41:43 +01:00
Jimmy Zelinskie
80558648d7 Merge pull request #363 from jzelinskie/req-san
Request Sanitizer via library
2017-10-18 12:45:25 -04:00
Jimmy Zelinskie
df0de94337 frontend/http: bandwidth are in bytes not pieces 2017-10-18 11:51:19 -04:00
Jimmy Zelinskie
1a0b5c56a6 frontend/http: disambiguate NumWantProvided 2017-10-17 22:06:03 -04:00
Jimmy Zelinskie
ca823e0e5f frontend: update to use non-object sanization 2017-10-17 22:02:45 -04:00
mrd0ll4r
e7b8264e50 Merge pull request #361 from mrd0ll4r/timecache
Timecache: cache time
2017-10-15 21:47:05 +02:00
Leo Balduf
6dfdb7e192 udp: clean up connection ID generation 2017-10-15 20:05:39 +02:00
Leo Balduf
89bc479a3b *: make use of timecache 2017-10-15 20:05:39 +02:00
Jimmy Zelinskie
47b5e67345 frontend/udp: add request sanitization 2017-10-08 18:02:34 -04:00
Jimmy Zelinskie
6dee48ce17 frontend/http: add request sanitization 2017-10-08 18:02:33 -04:00