Go library for native RPC connection to a Deluge daemon; it uses go-rencode for the RPC protocol serialization/deserialization.
This project uses an automatically-provisioned GOPATH. Example init/building commands on a Linux system:
git submodule update --init --recursive
make
The library by itself is a Go package and needs to be embedded in an UI or CLI application.
deluge := delugeclient.New(delugeclient.Settings{
Hostname: "localhost",
Port: 58846,
Login: "localclient",
Password: "*************",
V2Daemon: v2daemon})
// perform connection to Deluge server
err := deluge.Connect()
// ... use the 'deluge' client methods
To debug the library you may want to set DebugSaveInteractions
to true.
An example CLI application is available through:
go get github.com/gdm85/go-libdeluge/delugecli
Example usage:
DELUGE_PASSWORD="mypassword" bin/delugecli -add magnet:?xt=urn:btih:C1939CA413B9AFCC34EA0CF3C128574E93FF6CB0&tr=http%3A%2F%2Ftorrent.ubuntu.com%3A6969%2Fannounce
This will start downloading the latest Ubuntu 14.04 LTS server ISO. Multiple magnet URIs are supported as command-line arguments; run bin/delugecli
alone to see all available options and their description.
Both deluge v2.0+ and v1.3+ are supported; in order to use the modern deluge v2 daemon you must set V2Daemon
to true in delugeclient.Settings
.
-
daemon.login
-
daemon.info
-
daemon.authorized_call
-
daemon.get_method_list
-
daemon.get_version
-
daemon.shutdown
-
core.add_torrent_file
-
core.add_torrent_file_async
-
core.add_torrent_files
-
core.add_torrent_magnet
-
core.add_torrent_url
-
core.connect_peer
-
core.create_account
-
core.create_torrent
-
core.disable_plugin
-
core.enable_plugin
-
core.force_reannounce
-
core.force_recheck
-
core.get_auth_levels_mappings
-
core.get_available_plugins
-
core.get_completion_paths
-
core.get_config
-
core.get_config_value
-
core.get_config_values
-
core.get_enabled_plugins
-
core.get_external_ip
-
core.get_filter_tree
-
core.get_free_space
-
core.get_known_accounts
-
core.get_libtorrent_version
-
core.get_listen_port
-
core.get_path_size
-
core.get_proxy
-
core.get_session_state
-
core.get_session_status
-
core.get_torrent_status
-
core.get_torrents_status
-
core.glob
-
core.is_session_paused
-
core.move_storage
-
core.pause_session
-
core.pause_torrent
-
core.pause_torrents
-
core.prefetch_magnet_metadata
-
core.queue_bottom
-
core.queue_down
-
core.queue_top
-
core.queue_up
-
core.remove_account
-
core.remove_torrent
-
core.remove_torrents
-
core.rename_files
-
core.rename_folder
-
core.rescan_plugins
-
core.resume_session
-
core.resume_torrent
-
core.resume_torrents
-
core.set_config
-
core.set_torrent_options
-
core.set_torrent_trackers
-
core.test_listen_port
-
core.update_account
-
core.upload_plugin
-
label.set_torrent