TokenReturn
MessageType: "TokenReturn"
TokenReturn: string //Contains the JWT token for new clients, only returned once, not stored in server
torrentList
MessageType: "torrentList"
total: int //Integer containing the total number of torrents in the server
data: array //Array containing individual torrent stats (torrentListArray)
data Struct
data Array | Data Type | Notes |
---|---|---|
TorrentHashString | string | //Passed to client for displaying hash and is used to uniquly identify all torrents |
TorrentName | string | //String of the name of the torrent |
DownloadedSize | string | //how much the client has downloaded total |
Size | string | //total size of the torrent |
DownloadSpeed | string | //the dl speed of the torrent |
Status | string | //Whether the torrent is stopped, running, seeding etc |
PercentDone | string | //Passed to client to show percent done |
ActivePeers | string | //Active peers that uploading/downloading |
UploadSpeed | string | //passed to client to show Uploadspeed |
StoragePath | string | //Where the torrent Data will be stored after download |
DateAdded | string | //Passed to client (and stored in stormdb) |
ETA | string | //ETA for the torrent |
TorrentLabel | string | //user provided label for the torrent |
SourceType | string | //Stores whether the torrent came from a torrent file or a magnet link |
KnownSwarm | []torrent.Peer | //array of peers |
UploadRatio | string | //what the download to upload ratio is for the torrent |
TotalUploadedSize | string | //Humanized version of TotalUploadedBytes to pass to the client |
TotalUploadedBytes | int64 | //includes bytes that happened before reboot (from stormdb) |
NumberofFiles | int | //Number of files in the torrent |
NumberofPieces | int | //Total number of pieces in the torrent (Not currently used) |
MaxConnections | int | //Used to stop the torrent by limiting the max allowed connections |
torrentFileList
MessageType: "torrentFileList"
TotalFiles: int //Integer containing the total number of files in the torrent
FileList: array //TorrentFile Struct // Array containing individual torrent files
FileList array | data type | Notes |
---|---|---|
TorrentHashString | string | //Used to tie the file to a torrent //TODO not sure if needed |
FileName | string | //The name of the file |
FilePath | string | //The relative filepath to the file |
FileSize | string | //Humanized file size display |
FilePercent | string | //String value of percent of individual file percent done |
FilePriority | string | //Currently "High", "Normal", or "Cancel" |
torrentPeerList
MessageType: "torrentPeerList"
TotalPeers: int //Integer containing the total number of peers in the torrent
PeerList: []Peer //Peer Struct // Array containing individual torrent files
WARN: This will likely change in the future
Peer Struct | data type | Notes |
---|---|---|
ID | []byte | //TODO, plan on converting this to strings before sending |
IP | []byte | |
Port | int | //Port the peer is running on |
Source | string | //Will convert to a meaningful string at some point |
SupportsEncryption | bool | //Does the client support encyrption |
rssList
MessageType: "rssList"
TotalRSSFeeds: int //Integer containing the total number of RSS Feeds in the database
RSSFeeds: []RSSFeedsNames //RSSFeedsNames Struct // Array containing RSS Feed "Name" and "URL"
RSSFeedsNames | data type | Notes |
---|---|---|
RSSName | string | // Name is pulled from the RSS Name field |
RSSFeedURL | string |
rssTorrentList
MessageType: "rssTorrentList"
URL: string //URL of the RSS feed
Name: string //Name of the RSS feed, as extracted from the feed
TotalTorrents: int //Integer containing the total number of torrents in the feed
Torrents: []SingleRSSTorrent //SingleRSSTorrent Struct // Array containing RSS Feed "Name" and "URL"
SingleRSSTorrent | data type | Notes |
---|---|---|
Link | string | //Link field should contain the magnet link for the torrent |
Title | string | //Title field also pulled from the RSS Feed |
PubDate | string | //Date the torrent was published to the feed |
settingsFile
MessageType: "settingsFile"
Config: FullClientSettings //
FullClientSettings | data type | Notes |
---|---|---|
ID | int | //unique database ID |
LoggingLevel | int | //What logging level we are running at |
LoggingOutput | string | //Whether we are outputting to stdout or to a file |
Version | int | //what version of the software we are running (currently not used) |
TFileUploadFolder | string | //Uploaded Torrent files from the client will be stored in this folder |
SeedRatioStop | float64 | //At what ratio to automatically stop seeding a torrent |
DefaultMoveFolder | string | //Full path w |
TorrentWatchFolder | string | //Full path of the folder that is watched every 5 minutes for torrent files to add |
ClientConnectSettings | struct | //At what ratio to automatically stop seeding a torrent |
clientConnectSettings
Embedded Struct in settingsFile
clientConnectSettings | data type | Notes |
---|---|---|
HTTPAddr | string | //HTTP Port with colon |
HTTPAddrIP | string | //HTTP IP address that the client connects at |
UseProxy | bool | //Whether or not we are using a reverse Proxy (like nginx or apache) |
WebsocketClientPort | int | //HTTPAddr with the colon stripped off |
BaseURL | string | //Full URL to the your goTorrent server (used with proxy) "derajnet.duckdns.org/gopher/" |
ClientUsername | string | //the username for the client login |
ClientPassword | string | //the SHA256 hash string of the password |