Skip to content

MeowcaTheoRange/Tractor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tractor

Tractor is a JavaScript library made for interfacing with Drawpile servers as a client.

Copyright

Tractor v0.1.0 © 2026 Theo Range @ abtmtr.link

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see the copy hosted at codeberg.org:MeowcaTheoRange/Tractor, or the original copy at https://www.gnu.org/licenses/.

Functionality

  • [-] Can log into locally hosted servers and the Drawpile built-in server
    • .. with TCP
    • .. with TCP+STARTTLS
    • .. with WebSocket
    • .. as a web browser
  • [-] Can log into remote servers
    • .. with TCP
    • .. with TCP+STARTTLS
    • .. with WebSocket
    • .. as a web browser
  • [-] State handling
    • Recieves and stores login state
    • [-] Recieves and stores session catch-up state
    • [-] Recieves and stores user state
    • Recieves and stores layer state
    • Recieves and stores session config state
    • Recieves and stores session listing state
    • Recieves and stores chat state
    • Recieves and stores private chat state
    • Recieves and stores drawing state ← Will probably only happen outside of upstream - I don't want to support this.
  • [-] State sending
    • Sends login state
    • Sends user state
    • Sends layer state
    • Sends session config state
    • Sends chat state
    • Sends private chat state
    • [-] Sends drawing state

Installation

Run this command to install directly from Codeberg:

npm install git+https://codeberg.org/MeowcaTheoRange/Tractor.git

Install a version of Tractor compatible with Drawpile protocol version dp:4.25.1:

npm install "git+https://codeberg.org/MeowcaTheoRange/Tractor.git#tractor-4.25.1"

Manifesto / Contributing

See MANIFESTO.

About

Tractor is a JavaScript library made for interfacing with Drawpile servers as a client. This repository is a mirror of the codeberg.org:MeowcaTheoRange/Tractor repo.

Topics

Resources

License

Stars

Watchers

Forks

Contributors