WindTurbine

An experimental tracker server designed to work with WindPT.
Requirements
- Go 1.5 or higher
- MySQL (4.1+) or MariaDB
Installation
Download the zip file provided in Release and unzip it.
Usage
Make a copy of config.sample.xml, rename it to config.xml and modify it.
Then, run this application.
Compiling manually
You can compile this project manually by yourself.
$ go get github.com/kinosang/WindTurbine
$ cd $GOPATH/src/github.com/kinosang/WindTurbine
$ godep restore
$ make
Expression
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.
TODO
- Peer Exchanging
- Logging for Data Transfer and History
- Credit
Donate us
Donate us
License
GNU GENERAL PUBLIC LICENSE Version 2
More info see LICENSE