diff --git a/README.md b/README.md index 9fdd28b..9931d60 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,145 @@ ## TorrServer TorrServer, stream torrent to http +# +### Server args: +#### Usage +TorrServer [--port PORT] [--path PATH] [--logpath LOGPATH] [--rdb] [--httpauth] [--dontkill] [--ui] + +#### Options +* --port PORT, -p PORT web server port +* --path PATH, -d PATH database and settings path +* --logpath LOGPATH, -l LOGPATH log path +* --rdb, -r start in read-only DB mode +* --httpauth, -a http auth on all requests +* --dontkill, -k dont kill server on signal +* --ui, -u run page torrserver in browser +* --version display version and exit + + +# + +--- +### Http Api of TorrServer: +#### GET + +###### /echo +*Return version of server* + +###### /shutdown +*Shutdown server* + +###### /stream... +#### args: +* link - magnet/hash/link to torrent +* index - index of file +* preload - preload torrent +* stat - return stat of torrent +* save - save to db +* m3u - return m3u +* fromlast - return m3u from last play +* play - start stream torrent +* title - set title of torrent +* poster - set poster link of torrent + +##### Examples: +>**get stat** +> +>http://127.0.0.1:8090/stream/fname?link=...&stat +> +>**get m3u** +> +>http://127.0.0.1:8090/stream/fname?link=...&index=1&m3u +>http://127.0.0.1:8090/stream/fname?link=...&index=1&m3u&fromlast +> +>**stream torrent** +> +>http://127.0.0.1:8090/stream/fname?link=...&index=1&play +>http://127.0.0.1:8090/stream/fname?link=...&index=1&play&save +>http://127.0.0.1:8090/stream/fname?link=...&index=1&play&save&title=...&poster=... +> +>**only save** +> +>http://127.0.0.1:8090/stream/fname?link=...&save&title=...&poster=... + +###### /playlistall/all.m3u +*Get all http links of all torrents in m3u list* + +###### /playlist +*Get http link of torrent in m3u list* +#### args: +* hash - hash of torrent +* fromlast - from last play file + +# +#### POST +###### /torrents +##### Send json: +{\ + "action": "add/get/rem/list/drop",\ + "link": "hash/magnet/link to torrent",\ + "hash": "hash of torrent",\ + "title": "title of torrent",\ + "poster": "link to poster of torrent",\ + "data": "custom data of torrent, may be json",\ + "save_to_db": true/false\ +} +##### Return json of torrent(s) + +###### /torrent/upload +##### Send multipart/form data +Only one file support +#### args: +* title - set title of torrent +* poster - set poster link of torrent +* data - set custom data of torrent, may be json +* save - save to db + +###### /cache +##### Send json: +{\ + "action": "get"\ + "hash" : ""hash": "hash of torrent",\ +} +##### Return cache stat +https://github.com/YouROK/TorrServer/blob/d36d0c28f805ceab39adb4aac2869cd7a272085b/server/torr/storage/state/state.go + +###### /settings +##### Send json: +{\ + "action": "get/set/def",\ + _fields of BTSets_\ +} +##### Return json of BTSets +https://github.com/YouROK/TorrServer/blob/d36d0c28f805ceab39adb4aac2869cd7a272085b/server/settings/btsets.go + +###### /viewed +##### Send json: +{\ + "action": "set/rem/list",\ + "hash": "hash of torrent",\ + "file_index": int, id of file,\ +} +##### Return +if hash is empty, return all viewed files\ +if hash is not empty, return viewed file of torrent +##### Json struct see in +https://github.com/YouROK/TorrServer/blob/d36d0c28f805ceab39adb4aac2869cd7a272085b/server/settings/viewed.go + +# + +--- ### Donate: [PayPal](https://www.paypal.me/yourok) -[Yandex.Деньги](https://yoomoney.ru/to/410013733697114/200) +[YooMoney](https://yoomoney.ru/to/410013733697114/200) +YooMoney card: 5599 0050 6424 4747 +SberBank card: 4276 4000 6707 2919 + +# + +--- ### Thanks to everyone who tested and helped ###### **Anacrolix Matt Joiner** [github.com/anacrolix](https://github.com/anacrolix/)