An experimental tracker server designed to work with WindPT.
- Go 1.13 or higher
- MySQL (4.1+) or MariaDB
Download the zip file provided in Release and unzip it.
Make a copy of config.sample.xml
, rename it to config.xml
and modify it.
Then, run this application.
You can compile this project manually by yourself.
$ go get github.com/WindPT/WindTurbine
$ cd $GOPATH/src/github.com/WindPT/WindTurbine
$ make
This project use Knetic/govaluate (Arbitrary expression evaluation for golang) to support for credit expressions.
Operators and types supported by govaluate
:
- Modifiers:
+
-
/
*
&
|
^
**
%
>>
<<
- Comparators:
>
>=
<
<=
==
!=
=~
!~
- Logical ops:
||
&&
- Numeric constants, as 64-bit floating point (
12345.678
) - String constants (single quotes:
'foobar'
) - Date constants (single quotes, using any permutation of RFC3339, ISO8601, ruby date, or unix date; date parsing is automatically tried with any string constant)
- Boolean constants:
true
false
- Parenthesis to control order of evaluation
(
)
- Arrays (anything separated by
,
within parenthesis:(1, 2, 'foo')
) - Prefixes:
!
-
~
- Ternary conditional:
?
:
- Null coalescence:
??
Parameters supported by this project:
- Constants:
e
,pi
,phi
- Torrent:
alive
,seeders
,leechers
,size
- User:
seeding
,leeching
,torrents
,credit
- Peer:
downloaded
,downloaded_add
,uploaded
,uploaded_add
,rotio
,time
,time_la
,time_leeched
,time_seeded
Functions supported by this project:
- Trigonometrics:
sin
cos
tan
sinh
cosh
tanh
arcsin
arccos
arctan
arcsinh
arccosh
arctanh
hypot
- Roots:
sqrt
cbrt
- Logarithms:
lb
ln
lg
- Exponentials:
pow10
pow
- Others:
abs
ceil
floor
mod
max
min
remainder
Restricted to PHPWind, you should change types of all fields named credit(n)
of pw_user_data
table and pw_windid_user_data
table in your databse from int
to double
.
- Peer Exchanging
- Logging for Data Transfer and History
- Credit
GNU GENERAL PUBLIC LICENSE Version 2
More info see LICENSE