Sonarcloud warnings 4 (#1499)

* chore: fix some sonarcloud html warnings (e.g. deprecated attribute use)

* chore: uppercase literal suffixes

* chore: remove redundant casts

* chore: remove commented-out code

* chore: use qInfo() instead of std::cerr
This commit is contained in:
Charles Kerr 2020-11-02 09:16:12 -06:00 committed by GitHub
parent 73fdd722a7
commit 0bfbc3eba7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
48 changed files with 536 additions and 640 deletions

View File

@ -243,7 +243,6 @@ static gboolean tracker_filter_model_update(gpointer gstore)
/* do something */
if (remove_row)
{
/* g_message ("removing row and incrementing i"); */
gtk_tree_store_remove(store, &iter);
}
else if (insert_row)

View File

@ -129,8 +129,8 @@ static char const* getIconName(void)
GtkIconTheme* theme = gtk_icon_theme_get_default();
/* if the tray's icon is a 48x48 file, use it;
* otherwise, use the fallback builtin icon */
// if the tray's icon is a 48x48 file, use it.
// otherwise, use the fallback builtin icon.
if (!gtk_icon_theme_has_icon(theme, TRAY_ICON))
{
icon_name = ICON_NAME;

View File

@ -1114,11 +1114,9 @@ static void onPortTested(TrCore* core, gboolean isOpen, gpointer vdata)
struct network_page_data* data = vdata;
char const* markup = isOpen ? _("Port is <b>open</b>") : _("Port is <b>closed</b>");
// gdk_threads_enter();
gtk_label_set_markup(GTK_LABEL(data->portLabel), markup);
gtk_widget_set_sensitive(data->portButton, TRUE);
gtk_widget_set_sensitive(data->portSpin, TRUE);
// gdk_threads_leave();
}
static void onPortTest(GtkButton* button, gpointer vdata)

View File

@ -899,8 +899,6 @@ bool tau_handle_message(tr_session* session, uint8_t const* msg, size_t msglen)
tau_transaction_t transaction_id;
struct evbuffer* buf;
/*fprintf(stderr, "got an incoming udp message w/len %zu\n", msglen);*/
if (session == NULL || session->announcer_udp == NULL)
{
return false;
@ -926,7 +924,6 @@ bool tau_handle_message(tr_session* session, uint8_t const* msg, size_t msglen)
tau = session->announcer_udp;
transaction_id = evbuffer_read_ntoh_32(buf);
/* fprintf(stderr, "UDP got a transaction_id %u...\n", transaction_id); */
for (int i = 0, n = tr_ptrArraySize(&tau->trackers); i < n; ++i)
{
tr_ptrArray* reqs;

View File

@ -619,13 +619,6 @@ static tr_tracker_info* filter_trackers(tr_tracker_info* input, int input_count,
struct tr_tracker_info* ret;
struct ann_tracker_info* tmp = tr_new0(struct ann_tracker_info, input_count);
/*
for (int i = 0; i < input_count; ++i)
{
fprintf(stderr, "IN: [%d][%s]\n", input[i].tier, input[i].announce);
}
*/
/* build a list of valid trackers */
for (int i = 0; i < input_count; ++i)
{
@ -704,13 +697,6 @@ static tr_tracker_info* filter_trackers(tr_tracker_info* input, int input_count,
tr_free(tmp);
/*
for (int i = 0; i < n; ++i)
{
fprintf (stderr, "OUT: [%d][%s]\n", ret[i].tier, ret[i].announce);
}
*/
return ret;
}

View File

@ -91,12 +91,8 @@ static int getBlockRun(tr_cache const* cache, int pos, struct run_info* info)
{
break;
}
// fprintf(stderr, "pos %d tor %d block %zu time %zu\n", i, b->tor->uniqueId, (size_t)b->block, (size_t)b->time);
}
// fprintf(stderr, "run is %d long from [%d to %d)\n", len, pos, pos + len);
if (info != NULL)
{
struct cache_block const* b = blocks[pos + len - 1];
@ -152,12 +148,8 @@ static int calcRuns(tr_cache* cache, struct run_info* runs)
rank |= runs[i].is_multi_piece ? MULTIFLAG : 0;
runs[i].rank = rank;
// fprintf(stderr, "block run at pos %d of length %d and age %ld adjusted +%d\n", runs[i].pos, runs[i].len,
// now - runs[i].last_block_time, rank - runs[i].len);
}
// fprintf(stderr, "%d block runs\n", i);
qsort(runs, i, sizeof(struct run_info), compareRuns);
return i;
}

View File

@ -56,7 +56,7 @@ void tr_logAddMessage(char const* file, int line, tr_log_level level, char const
tr_sys_file_t tr_logGetFile(void);
/** @brief return true if deep logging has been enabled by the user; false otherwise */
/** @brief return true if deep logging has been enabled by the user, false otherwise */
bool tr_logGetDeepEnabled(void);
void tr_logAddDeep(char const* file, int line, char const* name, char const* fmt, ...) TR_GNUC_PRINTF(4, 5) \

View File

@ -438,7 +438,6 @@ static char const* getannounce(tr_info* inf, tr_variant* meta)
trackers[trackerCount].scrape = tr_convertAnnounceToScrape(url);
trackers[trackerCount].id = 0;
trackerCount++;
/* fprintf(stderr, "single announce: [%s]\n", url); */
}
}

View File

@ -747,9 +747,6 @@ static void requestListAdd(tr_swarm* s, tr_block_index_t block, tr_peer* peer)
++peer->pendingReqsToPeer;
TR_ASSERT(peer->pendingReqsToPeer >= 0);
}
// fprintf(stderr, "added request of block %lu from peer %s... there are now %d block\n", (unsigned long)block,
// tr_atomAddrStr(peer->atom), s->requestCount);
}
static struct block_request* requestListLookup(tr_swarm* s, tr_block_index_t block, tr_peer const* peer)
@ -810,9 +807,6 @@ static void requestListRemove(tr_swarm* s, tr_block_index_t block, tr_peer const
tr_removeElementFromArray(s->requests, pos, sizeof(struct block_request), s->requestCount);
--s->requestCount;
// fprintf(stderr, "removing request of block %lu from peer %s... there are now %d block requests left\n", (unsigned long)block,
// tr_atomAddrStr(peer->atom), t->requestCount);
}
}
@ -1498,7 +1492,7 @@ void tr_peerMgrGetNextRequests(tr_torrent* tor, tr_peer* peer, int numwant, tr_b
bool tr_peerMgrDidPeerRequest(tr_torrent const* tor, tr_peer const* peer, tr_block_index_t block)
{
return requestListLookup((tr_swarm*)tor->swarm, block, peer) != NULL;
return requestListLookup(tor->swarm, block, peer) != NULL;
}
/* cancel requests that are too old */
@ -1989,7 +1983,7 @@ static int getMaxPeerCount(tr_torrent const* tor)
static int getPeerCount(tr_swarm const* s)
{
return tr_ptrArraySize(&s->peers); /* + tr_ptrArraySize(&t->outgoingHandshakes); */
return tr_ptrArraySize(&s->peers);
}
static void createBitTorrentPeer(tr_torrent* tor, struct tr_peerIo* io, struct peer_atom* atom, tr_quark client)
@ -2567,17 +2561,17 @@ void tr_peerUpdateProgress(tr_torrent* tor, tr_peer* peer)
}
/* clamp the progress range */
if (peer->progress < 0.0f)
if (peer->progress < 0.0F)
{
peer->progress = 0.0f;
peer->progress = 0.0F;
}
if (peer->progress > 1.0f)
if (peer->progress > 1.0F)
{
peer->progress = 1.0f;
peer->progress = 1.0F;
}
if (peer->atom != NULL && peer->progress >= 1.0f)
if (peer->atom != NULL && peer->progress >= 1.0F)
{
atomSetSeed(tor->swarm, peer->atom);
}
@ -3413,12 +3407,6 @@ static bool shouldPeerBeClosed(tr_swarm const* s, tr_peer const* peer, int peerC
int const limit = hi - (hi - lo) * strictness;
int const idleTime = now - MAX(atom->time, atom->piece_data_time);
/*
fprintf(stderr, "strictness is %.3f, limit is %d seconds... time since connect is %d, time since piece is %d ... "
"idleTime is %d, doPurge is %d\n", (double)strictness, limit, (int)(now - atom->time),
(int)(now - atom->piece_data_time), idleTime, idleTime > limit);
*/
if (idleTime > limit)
{
tordbg(s, "purging peer %s because it's been %d secs since we shared anything", tr_atomAddrStr(atom), idleTime);

View File

@ -180,8 +180,6 @@ struct tr_peerMsgs
bool clientSentLtepHandshake;
bool peerSentLtepHandshake;
/*bool haveFastSet;*/
int desiredRequestCount;
int prefetchCount;
@ -224,7 +222,6 @@ struct tr_peerMsgs
tr_pex* pex;
tr_pex* pex6;
/*time_t clientSentPexAt;*/
time_t clientSentAnythingAt;
time_t chokeChangedAt;
@ -851,8 +848,6 @@ static bool requestIsValid(tr_peerMsgs const* msgs, struct peer_request const* r
void tr_peerMsgsCancel(tr_peerMsgs* msgs, tr_block_index_t block)
{
struct peer_request req;
// fprintf(stderr, "SENDING CANCEL MESSAGE FOR BLOCK %zu\n\t\tFROM PEER %p ------------------------------------\n",
// (size_t)block, msgs->peer);
blockToReq(msgs->torrent, block, &req);
protocolSendCancel(msgs, &req);
}
@ -1330,7 +1325,6 @@ static void updatePeerProgress(tr_peerMsgs* msgs)
{
tr_peerUpdateProgress(msgs->torrent, &msgs->peer);
/* updateFastSet(msgs); */
updateInterest(msgs);
}
@ -2546,8 +2540,6 @@ static void sendPex(tr_peerMsgs* msgs)
tr_free(diffs6.added);
tr_free(diffs6.dropped);
tr_free(newPex6);
/* msgs->clientSentPexAt = tr_time(); */
}
}

View File

@ -722,7 +722,6 @@ static void onNowTimer(evutil_socket_t fd, short what, void* vsession)
}
tr_timerAdd(session->nowTimer, 0, usec);
/* fprintf (stderr, "time %zu sec, %zu microsec\n", (size_t)tr_time (), (size_t)tv.tv_usec); */
}
static void loadBlocklists(tr_session* session);

View File

@ -373,7 +373,7 @@ uint32_t tr_getBlockSize(uint32_t pieceSize);
void tr_torrentGotBlock(tr_torrent* tor, tr_block_index_t blockIndex);
/**
* @brief Like tr_torrentFindFile(), but splits the filename into base and subpath;
* @brief Like tr_torrentFindFile(), but splits the filename into base and subpath.
*
* If the file is found, "tr_buildPath(base, subpath, NULL)"
* will generate the complete filename.

View File

@ -159,8 +159,8 @@ static int lpd_unsolicitedMsgCounter;
* @brief Checks for BT-SEARCH method and separates the parameter section
* @param[in] s The request string
* @param[out] ver If non-NULL, gets filled with protocol info from the request
* @return Returns a relative pointer to the beginning of the parameter section;
* if result is NULL, s was invalid and no information will be returned
* @return Returns a relative pointer to the beginning of the parameter section.
* If result is NULL, s was invalid and no information will be returned
* @remark Note that the returned pointer is only usable as long as the given
* pointer s is valid; that is, return storage is temporary.
*

View File

@ -257,9 +257,9 @@ static void event_callback(evutil_socket_t s, short type, void* sv)
/* Since most packets we receive here are µTP, make quick inline
checks for the other protocols. The logic is as follows:
- all DHT packets start with 'd';
- all DHT packets start with 'd'
- all UDP tracker packets start with a 32-bit (!) "action", which
is between 0 and 3;
is between 0 and 3
- the above cannot be µTP packets, since these start with a 4-bit
version number (1). */
if (rc > 0)

View File

@ -8,8 +8,8 @@
/*
* This file defines the public API for the libtransmission library.
* The other public API headers are variant.h and utils.h;
* most of the remaining headers in libtransmission are private.
* The other public API headers are variant.h and utils.h.
* Most of the remaining headers in libtransmission are private.
*/
#pragma once
@ -958,8 +958,8 @@ void tr_metainfoFree(tr_info* inf);
* Returns a pointer to the torrent on success, or NULL on failure.
*
* @param ctor the builder struct
* @param setme_error TR_PARSE_ERR if the parsing failed;
* TR_PARSE_OK if parsing succeeded and it's not a duplicate;
* @param setme_error TR_PARSE_ERR if the parsing failed.
* TR_PARSE_OK if parsing succeeded and it's not a duplicate.
* TR_PARSE_DUPLICATE if parsing succeeded but it's a duplicate.
* @param setme_duplicate_id when setmeError is TR_PARSE_DUPLICATE,
* this field is set to the duplicate torrent's id.

View File

@ -118,7 +118,7 @@ static int tr_upnpGetSpecificPortMappingEntry(tr_upnp* handle, char const* proto
*intClient = '\0';
*intPort = '\0';
tr_snprintf(portStr, sizeof(portStr), "%d", (int)handle->port);
tr_snprintf(portStr, sizeof(portStr), "%d", handle->port);
#if (MINIUPNPC_API_VERSION >= 10) /* adds remoteHost arg */
err = UPNP_GetSpecificPortMappingEntry(handle->urls.controlURL, handle->data.first.servicetype, portStr, proto,

View File

@ -467,7 +467,6 @@ static void tr_webThreadFunc(void* vsession)
dbgmsg("adding task to curl: [%s]", task->url);
curl_multi_add_handle(multi, createEasy(session, web, task));
// fprintf(stderr, "adding a task.. taskCount is now %d\n", taskCount);
++taskCount;
}

View File

@ -608,7 +608,6 @@ tr_webseed* tr_webseedNew(struct tr_torrent* tor, char const* url, tr_peer_callb
w->callback = callback;
w->callback_data = callback_data;
w->file_urls = tr_new0(char*, inf->fileCount);
// tr_rcConstruct(&w->download_rate);
tr_bandwidthConstruct(&w->bandwidth, tor->session, &tor->bandwidth);
w->timer = evtimer_new(w->session->event_base, webseed_timer_func, w);
tr_timerAddMsec(w->timer, TR_IDLE_TIMER_MSEC);

View File

@ -1,22 +1,21 @@
html
{
color: rgb(0,0,0);
font-family:'Lucida Grande';
text-align:left;
html {
color: rgb(0,0,0);
font-family: 'Lucida Grande', Sans-serif;
text-align: left;
}
th
{
color: rgb(50,50,50);
font-weight: bold;
text-align:left;
th {
color: rgb(50,50,50);
font-weight: bold;
text-align: left;
}
td
{
color: rgb(80,80,80);
text-align:left;
td {
color: rgb(80,80,80);
text-align: left;
}
img.icon
{
vertical-align:text-bottom;
margin-right:8px;
img.icon {
margin-right: 8px;
vertical-align: text-bottom;
}

View File

@ -1,86 +1,78 @@
<!DOCTYPE html>
<html lang="en">
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link media="all" rel="stylesheet" href="../styles/TransBody.css" />
<title>Frequently Asked Questions</title>
</head>
<body>
<div id="mainbox">
<a name="TransFAQ"><a/>
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link media="all" rel="stylesheet" href="../styles/TransBody.css" />
<title>Frequently Asked Questions</title>
</head>
<body>
<div id="mainbox">
<div id="banner">
<a name="menus"></a>
<div id="machelp"><a class="bread" href="../index.html">Transmission Help</a>
</div>
<div id="index">
<a class="leftborder" href="../html/index2.html">Index</a></div>
</div>
</div>
<div class="pagetitle">
<h1>Why is my download so slow? </h1>
</div>
<p>Read these tips for <a href="speed.html">maximizing your download speed</a>.
<p>Some Internet Service Providers (ISPs) throttle peer-to-peer traffic, and even block it completely on well known peer-to-peer ports. If your ISP is listed on <a href="http://wiki.vuze.com/w/Bad_ISPs">this page</a>, it is likely you will experience these issues.
<p> Transmission's encryption feature may overcome some ISP throttling. Checking the 'Ignore unencrypted peers' box (Preferences -> Peers) also may improve your speed further, at the expense of losing some potential peers in the swarm. Changing the port Transmission uses may help if the ISP targets particular ports.
<p>Ultimately, the speed you get depends on the quality of the peers you are downloading from. If they have dial up connections, you are only going to be able to download at dial up speeds.
Furthermore, if there are few seeds and many peers, more people will be fighting for the same scarce pieces which will slow things down.
Best results are achieved when the torrent has more seeds than peers.
<p>
<div class="pagetitle">
<h1>Why isn't my torrent downloading at all? </h1>
</div>
<p>Often this is because the tracker is down, and thus Transmission is unable to interact with other peers. If this is the case, enabling DHT (trackerless torrents) (Preferences -> Peers) might help for public torrents.
<p>If there are no seeders in the swarm, and all the other peers have sent you what they have, you (and everyone else) will not be able to complete the download, and your speed will drop to zero.
<p>Torrents take a while to get going and so may not download much (if at all) initially. Most torrents are downloading at some rate after 15 or so minutes.
<p>
<div class="pagetitle">
<h1>Transmission crashed, what should I do? </h1>
</div>
<p>Post the crash log on the <a href="https://forum.transmissionbt.com/viewforum.php?f=4">support forums</a> so that the issue can be fixed as quickly as possible. Crash logs are held in <em>~/Library/Logs/CrashReporter/</em>.
<p>If your torrents' progress are incorrect when you reopen Transmission (e.g. they are starting from 0%) then you should manually recheck them. <a href="check.html">Click here</a> for instructions.
<p>
<div class="pagetitle">
<h1>What do the colors mean in the pieces box? </h1>
</div>
<p><span style="color: blue">Blue</span>: we have this piece - lighter shades of blue (progress only) indicate incomplete pieces <br>
<span style="color: green">Green</span>: connected peers have this piece (available only) - the darker the green, the more there are <br>
<span style="color: gray">White</span>: no connected peers have this piece (available) or we do not have any of this piece (progress) <br>
<p>
<div class="pagetitle">
<h1>What are seeds/peers/leechers? </h1>
</div>
<p>Peers are people you are connected to. If they have the whole file and are only uploading, they are referred to as a 'seeder'. If they only have part of the torrent, and are downloading and uploading, they are referred to as a 'leecher'.
<p>
<div class="pagetitle">
<h1>What is the ratio shown during seeding? </h1>
</div>
<p>This shows your upload/download ratio. 1.00 means you have uploaded as much as you have downloaded, 2.00 means you have uploaded twice the amount you have downloaded, etc.
<p>
<div class="pagetitle">
<h1>What are 'Magnet links'?</h1>
</div>
<P>Magnet links contain a torrent's hash, or unique identifier, as well as a tracker address, allowing a torrent to be added without downloading a torrent file.</p>
<div class="pagetitle">
<h1>What do the stats in the Activity tab of the Inspector mean? </h1>
</div>
<p> <em>Have</em> is the sum of verified and unverified data. The <em>Verified</em> amount, in brackets, is how much checksum-verified data you have downloaded.<br>
<em>Downloaded</em> is all the data you have downloaded. <br>
<em>Uploaded</em> is all of the data you have uploaded. <br>
<em>Failed DL</em> is data that failed our checksum test and needs to be downloaded again. <br>
<em>Ratio</em> is the ratio of download data to uploaded data.
<p>
<div class="pagetitle">
<h1>What does the 'Tracker' tab mean in the Inspector? </h1>
</div>
<p>See <a href="tracker.html">this page</a>.
<div class="pagetitle">
<h1>What are 'nightlies'?</h1>
</div>
<p>Nightlies are releases on the bleeding edge of development. They normally contain new features and bugfixes, but are not officially supported (although you are more than welcome to discuss them on the <a href="https://forum.transmissionbt.com">Transmission forums</a>). You can try one out <a href="https://build.transmissionbt.com/job/trunk-mac/">here</a>.
<div id="machelp"><a class="bread" href="../index.html">Transmission Help</a></div>
<div id="index"><a class="leftborder" href="../html/index2.html">Index</a></div>
</div>
</body>
</div>
<div class="pagetitle">
<h1>Why is my download so slow? </h1>
</div>
<p>Read these tips for <a href="speed.html">maximizing your download speed</a>.
<p>Some Internet Service Providers (ISPs) throttle peer-to-peer traffic, and even block it completely on well known peer-to-peer ports. If your ISP is listed on <a href="http://wiki.vuze.com/w/Bad_ISPs">this page</a>, it is likely you will experience these issues.</p>
<p> Transmission's encryption feature may overcome some ISP throttling. Checking the 'Ignore unencrypted peers' box (Preferences &rarr; Peers) also may improve your speed further, at the expense of losing some potential peers in the swarm. Changing the port Transmission uses may help if the ISP targets particular ports.</p>
<p>Ultimately, the speed you get depends on the quality of the peers you are downloading from. If they have dial up connections, you are only going to be able to download at dial up speeds. Furthermore, if there are few seeds and many peers, more people will be fighting for the same scarce pieces which will slow things down. Best results are achieved when the torrent has more seeds than peers. </p>
<div class="pagetitle">
<h1>Why isn't my torrent downloading at all? </h1>
</div>
<p>Often this is because the tracker is down, and thus Transmission is unable to interact with other peers. If this is the case, enabling DHT (trackerless torrents) (Preferences &rarr; Peers) might help for public torrents.</p>
<p>If there are no seeders in the swarm, and all the other peers have sent you what they have, you (and everyone else) will not be able to complete the download, and your speed will drop to zer.</p>
<p>Torrents take a while to get going and so may not download much (if at all) initially. Most torrents are downloading at some rate after 15 or so minutes.</p>
<div class="pagetitle">
<h1>Transmission crashed, what should I do? </h1>
</div>
<p>Post the crash log on the <a href="https://forum.transmissionbt.com/viewforum.php?f=4">support forums</a> so that the issue can be fixed as quickly as possible. Crash logs are held in <em>~/Library/Logs/CrashReporter/</em>.
<p>If your torrents' progress are incorrect when you reopen Transmission (e.g. they are starting from 0%) then you should manually recheck them. <a href="check.html">Click here</a> for instructions.
<p>
<div class="pagetitle">
<h1>What do the colors mean in the pieces box? </h1>
</div>
<p><span style="color: blue">Blue</span>: we have this piece - lighter shades of blue (progress only) indicate incomplete pieces <br>
<span style="color: green">Green</span>: connected peers have this piece (available only) - the darker the green, the more there are <br>
<span style="color: gray">White</span>: no connected peers have this piece (available) or we do not have any of this piece (progress) <br>
<p>
<div class="pagetitle">
<h1>What are seeds/peers/leechers? </h1>
</div>
<p>Peers are people you are connected to. If they have the whole file and are only uploading, they are referred to as a 'seeder'. If they only have part of the torrent, and are downloading and uploading, they are referred to as a 'leecher'.</p>
<div class="pagetitle">
<h1>What is the ratio shown during seeding? </h1>
</div>
<p>This shows your upload/download ratio. 1.00 means you have uploaded as much as you have downloaded, 2.00 means you have uploaded twice the amount you have downloaded, etc.</p>
<div class="pagetitle">
<h1>What are 'Magnet links'?</h1>
</div>
<P>Magnet links contain a torrent's hash, or unique identifier, as well as a tracker address, allowing a torrent to be added without downloading a torrent file.</p>
<div class="pagetitle">
<h1>What do the stats in the Activity tab of the Inspector mean? </h1>
</div>
<p> <em>Have</em> is the sum of verified and unverified data. The <em>Verified</em> amount, in brackets, is how much checksum-verified data you have downloaded.<br>
<em>Downloaded</em> is all the data you have downloaded. <br>
<em>Uploaded</em> is all of the data you have uploaded. <br>
<em>Failed DL</em> is data that failed our checksum test and needs to be downloaded again. <br>
<em>Ratio</em> is the ratio of download data to uploaded data.
<p>
<div class="pagetitle">
<h1>What does the 'Tracker' tab mean in the Inspector? </h1>
</div>
<p>See <a href="tracker.html">this page</a>.
<div class="pagetitle">
<h1>What are 'nightlies'?</h1>
</div>
<p>Nightlies are releases on the bleeding edge of development. They normally contain new features and bugfixes, but are not officially supported (although you are more than welcome to discuss them on the <a href="https://forum.transmissionbt.com">Transmission forums</a>). You can try one out <a href="https://build.transmissionbt.com/job/trunk-mac/">here</a>.
</div>
</body>
</html>

View File

@ -13,7 +13,7 @@
</head>
<body>
<p><a name="ax-index" id="ax-index"></a><a name="ax-index-link" id="ax-index-link"></a></p>
<p><a id="ax-index"></a><a id="ax-index-link"></a></p>
<div id="banner">
<div id="machelp">

View File

@ -9,7 +9,6 @@
<body>
<div id="mainbox">
<div id="banner">
<a name="menus"></a>
<div id="machelp">
<a class="bread" href="../index.html">Transmission Help</a>
</div>
@ -22,22 +21,22 @@
</div>
<ol>
<li>Make sure Transmission's <a href="portforward.html">port is forwarded</a>. Port forwarding makes it easier for others to connect to you, which therefore increases your speed.
<div summary="To do this" class="taskbox">
<p>If your router supports NAT-PMP, UPnP, or you have Apple AirPort, Transmission can do this automatically; just tick the checkbox in Preferences -> Network.
<div class="taskbox">
<p>If your router supports NAT-PMP, UPnP, or you have Apple AirPort, Transmission can do this automatically; just tick the checkbox in Preferences &rarr; Network.
</div>
</li>
<li>Make sure you cap your upload speed, so that it isn't flooded. A good rule of thumb is about 60-70% of your maximum upload bandwidth. This can be adjusted in Preferences -> Bandwidth, or in real time using the Action menu.
<div summary="To do this" class="taskbox">
<li>Make sure you cap your upload speed, so that it isn't flooded. A good rule of thumb is about 60-70% of your maximum upload bandwidth. This can be adjusted in Preferences &rarr; Bandwidth, or in real time using the Action menu.
<div class="taskbox">
<p>eg. If your upload connection is 256 Kilobits/sec, then you should cap it at 21 KB/sec ((<strong>256</strong> / 8) * 0.66 = <strong>21</strong>).
</div>
</li>
<li><a href="gettingstarted.html#queue">Queue</a> your transfers. Transmission's queue preferences are located in Transfers -> Management.
<li><a href="gettingstarted.html#queue">Queue</a> your transfers. Transmission's queue preferences are located in Transfers &rarr; Management.
<p>Remember, your download speed is proportional to how fast you upload. If there are many transfers running, then each transfer will only receive a small proportion of your upload bandwidth, reducing their respective download speeds.
To avoid spreading your upload too thinly, a good rule of thumb is to have at least 128 KBit/sec of upload bandwidth for every torrent you wish to run simultaneously.
<div summary="To do this" class="taskbox">
<div class="taskbox">
<p>eg. If your upload bandwidth is 256 KBit/sec, then you should only have two (<strong>256</strong>/128 = <strong>2</strong>) downloading transfers in the queue.
</div>
</li>
@ -46,5 +45,5 @@
</div>
</body>
</html>

View File

@ -1,37 +1,34 @@
<!DOCTYPE html>
<html lang="en">
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link media="all" rel="stylesheet" href="../styles/TransBody.css" />
<title>Troubleshooting Manual Recheck</title>
</head>
<body>
<div id="mainbox">
<div id="banner">
<div id="machelp"><a class="bread" href="../index.html">Transmission Help</a>
</div>
<div id="index">
<a class="leftborder" href="../html/index2.html">Index</a></div>
</div>
</div>
<div class="pagetitle">
<h1>How do I manually recheck my files?</h1>
</div>
<p>If Transmission crashes, you may want to manually recheck your files to both verify that the download has not been corrupted, and to ensure that the download continues where it left off, and does not start over.
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link media="all" rel="stylesheet" href="../styles/TransBody.css" />
<title>Troubleshooting Manual Recheck</title>
</head>
<body>
<div id="mainbox">
<div id="banner">
<a name="menus"></a>
<div id="machelp"><a class="bread" href="../index.html">Transmission Help</a>
</div>
<div id="index">
<a class="leftborder" href="../html/index2.html">Index</a></div>
</div>
</div>
<div class="pagetitle">
<h1>How do I manually recheck my files?</h1>
</div>
<p>If Transmission crashes, you may want to manually recheck your files to both verify that the download has not been corrupted, and to ensure that the download continues where it left off, and does not start over.
<p>To do this:
<div summary="To do this" class="taskbox">
<ol>
<li>Select the relevant torrent.</li>
<li>Go to the Transfers menu -> Verify Local Data.</li>
</ol>
</div>
<p>To do this:
<div class="taskbox">
<ol>
<li>Select the relevant torrent.</li>
<li>Go to the Transfers menu &rarr; Verify Local Data.</li>
</ol>
</div>
</div>
</body>
</div>
</body>
</html>

View File

@ -1,163 +1,129 @@
<!DOCTYPE html>
<html lang="en">
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link media="all" rel="stylesheet" href="../styles/task_style.css" />
<title>Getting Started</title>
</head>
<body>
<A NAME="GettingStarted"></A>
<div id="banner">
<a name="menus"></a>
<div id="machelp">
<a class="bread" href="../index.html">Transmission Help</a>
</div>
<div id="index">
<a class="leftborder" href="../html/index2.html">Index</a></div>
</div>
</div>
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link media="all" rel="stylesheet" href="../styles/task_style.css" />
<title>Getting Started</title>
<style>
.logo {
border: 0;
height: 32px;
width: 32px;
}
.questions-and-answers {
display: grid;
flex-direction: column;
width: 100%;
}
.question {
grid-column: span 2;
background-color: #eef;
font-size: 9pt;
font-weight: bolder;
padding: 6px;
text-align: left;
vertical-align: top;
}
.answer-thumbnail {
border-bottom: solid #eef 2px;
border-left: solid #eef 2px;
margin-bottom: 10px;
padding: 10px;
}
.answer-text {
border-bottom: solid #eef 2px;
border-right: solid #eef 2px;
margin-bottom: 10px;
padding: 0 10px;
}
</style>
</head>
<body>
<div id="banner">
<div id="machelp"><a class="bread" href="../index.html">Transmission Help</a></div>
<div id="index"><a class="leftborder" href="../html/index2.html">Index</a></div>
</div>
<div id="mainbox">
<div id="caticon"><img src="../gfx/TransmissionIcon.png" alt="Transmission Logo" class="logo"/></div>
<div class="pagetitle"><h1>Welcome to Transmission! </h1></div>
<p>Transmission is a BitTorrent client. It is used for peer to peer filesharing over the internet. BitTorrent is a fast way of transferring files, because everyone who downloads must also upload to others. This means speeds are only limited by the number of people connected to a given torrent - the more people the better!</p>
<div class="questions-and-answers">
<div class="question">How do I use it?</div>
<div class="answer-thumbnail"><img alt="adding a torrent" src="../gfx/open.png"/></div>
<div class="answer-text">
<p>Download your file's associated 'torrent file' (extension .torrent). These are commonly found at <a href="http://en.wikipedia.org/wiki/BitTorrent_tracker">'tracker' websites</a>.</p>
<p>Once you have the torrent file, drag it into Transmission - downloading should start immediately.</p>
<p>You can pause and resume transfers at any time, so long as the files remain in your download folder.</p>
<p>It is good etiquette to share or 'seed' the file for a while (ie leave it uploading) once your download is complete.</p>
<p>You can use Transmission's action menu, the individual torrent menu, as well as the Inspector to adjust download and seeding preferences on the fly.</p>
<ul>
<li><a href="usingt.html">Downloading and sharing with Transmission</a></li>
</ul>
</div>
<div class="question">Can I create my own torrents?</div>
<div class="answer-thumbnail"><img alt="creating a torrent" src="../gfx/creation.png"/></div>
<div class="answer-text">
<p>Yes, you can share a file or folder by dragging it into Transmission. Alternatively, click 'Create' in the toolbar, and choose your file.</p>
<p>When the dialog box appears, enter your tracker address (or addresses), comments, and private status.</p>
<p>You can change the torrent filename, as well as where it will be saved to, by clicking 'Change'.</p>
<p>Once you are done, click 'Create'. Transmission will automatically optimize the torrent file for what you are sharing. </p>
</div>
<div class="question">Can I schedule my transfers?</div>
<div class="answer-thumbnail"><img alt="scheduling" src="../gfx/scheduler.png"/></div>
<div class="answer-text">
<p>Yes, by using 'Speed Limit Mode'. Simply go to Preferences &rarr; Bandwidth, and then set both the speed you would like Transmission to be limited to, as well as the period of time you would like the limits applied.</p>
<p>When Speed Limit Mode is enabled, the turtle will be illuminated in blue.</p>
</div>
<div class="question">Can I queue my transfers?</div>
<div class="answer-thumbnail"><img alt="queue" src="../gfx/queue.png"/></div>
<div class="answer-text">
<p>Yes, you can queue seeding and/or downloading transfers via Preferences &rarr; Transfers &rarr; Management.</p>
<p>The queue system is very simple: You start and pause transfers as usual, but if you're over the queue limit starting a transfer will instead make it "Waiting to download..."</p>
<p>You can force a transfer to start by holding down option and clicking the orange resume button, or by using the Transfers menu item "Resume Selected Without Wait". </p>
</div>
<div class="question">How can I organize my torrents?</div>
<div class="answer-thumbnail"><img alt="groups" src="../gfx/group.png"/></div>
<div class="answer-text">
<p>Transmission allows you to sort your torrents by various criteria. Choose "Sort Transfers By" in the View menu, as well as the Action menu.</p>
<p>You can also filter your torrents by their activity state. Simply enable the Filter bar in the View menu.</p>
<p>Transmission allows you to group torrents by color labels. Groups can be assigned upon adding a transfer to the list by establishing rules in Preferences &rarr; Groups. Groups can be manually changed with Transfers &rarr; Group and by dragging transfers to different groups in the main window (when "Use Groups" is enabled in the View menu).</p>
<p>These groups can be used as sorting and filtering criteria. Add, remove, and modify groups in Preferences &rarr; Groups. Groups can also be used for choosing the data location when adding transfers - this location is also set in the Groups preference window tab.</p>
</div>
<div class="question">Where can I find more detailed information on my torrents?</div>
<div class="answer-thumbnail"><img alt="inspector" src="../gfx/inspector.png"/></div>
<div class="answer-text">
<p>Click the Inspector icon, or simply double-click any transfer in the main window.
<p>The inspector gives you:
<ul>
<li>Statistics on the torrent and files you are downloading </li>
<li>Information about the peers and trackers you are connected to </li>
<li>Options to fine-tune your bandwidth allocation </li>
<ul>
</p>
</div>
<div class="question">Can I choose to download specific files?</div>
<div class="answer-thumbnail"><img alt="file selection" src="../gfx/fileselection.png"/></div>
<div class="answer-text">
<p>Yes, either upon opening a torrent, or once it has started. When you open a multi-file torrent, a detailed Open window will appear, allowing you to select specific files.</p>
<p>For transfers which are already running, double click them to open the Inspector, and then click the 'Files' tab. Simply check the boxes next to the files you want to download (the default is all of them).</p>
<p>You can even set a priority (high, normal, or low) to each file, if you want some to finish faster than others. To do so, use the selector that appears next to the checkboxes.</p>
<p>If the window doesn't appear when opening a torrent, ensure that "Display options window" is checked in Preferences &rarr; Transfers &rarr; Adding.</p>
</div>
</div><!-- questions-and-answers -->
</body>
<div id="mainbox">
<div id="caticon">
<img src="../gfx/TransmissionIcon.png" alt="Transmission Logo" height="32" width="32" border="0">
&nbsp;
</div>
<div class="pagetitle">
<h1>Welcome to Transmission! </h1>
</div>
<p>Transmission is a BitTorrent client. It is used for peer to peer filesharing over the internet. BitTorrent is a fast way of transferring files, because everyone who downloads must also upload to others. This means speeds are only limited by the number of people connected to a given torrent - the more people the better!
<p>
<table class="dots" width="100%" border="0" cellspacing="0" cellpadding="0" summary="One column table with heading">
<tr>
<td class="blue" colspan="2">
<h3>How do I use it?</h3>
</td>
</tr>
<tr>
<td valign="top" width="150"><img alt="adding a torrent" src="../gfx/open.png" height="auto" width="150" border="0"></td>
<td valign="top">
<p>Download your file's associated 'torrent file' (extension .torrent). These are commonly found at <a href="http://en.wikipedia.org/wiki/BitTorrent_tracker">'tracker' websites</a>.
<p>Once you have the torrent file, drag it into Transmission - downloading should start immediately.
<p>You can pause and resume transfers at any time, so long as the files remain in your download folder.
<p>It is good etiquette to share or 'seed' the file for a while (ie leave it uploading) once your download is complete.
<p>You can use Transmission's action menu, the individual torrent menu, as well as the Inspector to adjust download and seeding preferences on the fly.
<ul>
<li><a href="usingt.html">Downloading and sharing with Transmission</a></li>
</ul>
</td>
</tr>
</table>
<br>
<table class="dots" width="100%" border="0" cellspacing="0" cellpadding="0" summary="One column table with heading">
<tr>
<td class="blue" colspan="2">
<h3>Can I create my own torrents? </h3>
</td>
</tr>
<tr>
<td valign="top" width="150"><img alt="creating a torrent" src="../gfx/creation.png" height="auto" width="150" border="0"></td>
<td valign="top">
<p>Yes, you can share a file or folder by dragging it into Transmission. Alternatively, click 'Create' in the toolbar, and choose your file.
<p>When the dialog box appears, enter your tracker address (or addresses), comments, and private status.
<p>You can change the torrent filename, as well as where it will be saved to, by clicking 'Change'.
<p>Once you are done, click 'Create'. Transmission will automatically optimize the torrent file for what you are sharing.
</td>
</tr>
</table>
<br>
<table class="dots" width="100%" border="0" cellspacing="0" cellpadding="0" summary="One column table with heading">
<tr>
<td class="blue" colspan="2">
<h3>Can I schedule my transfers? </h3>
</td>
</tr>
<tr>
<td valign="top" width="150"><img alt="scheduler" src="../gfx/scheduler.png" height="auto" width="150" border="0"></td>
<td valign="top">
<p>Yes, by using 'Speed Limit Mode'. Simply go to Preferences -> Bandwidth, and then set both the speed you would like Transmission to be limited to, as well as the period of time you would like the limits applied.
<p>When Speed Limit Mode is enabled, the turtle will be illuminated in blue.</p>
</td>
</tr>
</table>
<br id="queue">
<table class="dots" width="100%" border="0" cellspacing="0" cellpadding="0" summary="One column table with heading">
<tr>
<td class="blue" colspan="2">
<h3>Can I queue my transfers? </h3>
</td>
</tr>
<tr>
<td valign="top" width="150"><img alt="queue" src="../gfx/queue.png" height="auto" width="150" border="0"></td>
<td valign="top">
<p>Yes, you can queue seeding and/or downloading transfers via Preferences -> Transfers -> Management.
<p>The queue system is very simple: You start and pause transfers as usual, but if you're over the queue limit starting a transfer will instead make it "Waiting to download..."
<p>You can force a transfer to start by holding down option and clicking the orange resume button, or by using the Transfers menu item "Resume Selected Without Wait". </p>
</td>
</tr>
</table>
<br>
<table class="dots" width="100%" border="0" cellspacing="0" cellpadding="0" summary="One column table with heading">
<tr>
<td class="blue" colspan="2">
<h3>How can I organize my torrents? </h3>
</td>
</tr>
<tr>
<td valign="top" width="150"><img alt="groups" src="../gfx/group.png" height="auto" width="150" border="0"></td>
<td valign="top">
<p>Transmission allows you to sort your torrents by various criteria. Choose "Sort Transfers By" in the View menu, as well as the Action menu.
<p>You can also filter your torrents by their activity state. Simply enable the Filter bar in the View menu.
<p>Transmission allows you to group torrents by color labels. Groups can be assigned upon adding a transfer to the list by establishing rules in Preferences -> Groups. Groups can be manually changed with Transfers -> Group and by dragging transfers to different groups in the main window (when "Use Groups" is enabled in the View menu).
<p>These groups can be used as sorting and filtering criteria. Add, remove, and modify groups in Preferences -> Groups. Groups can also be used for choosing the data location when adding transfers - this location is also set in the Groups preference window tab.
</td>
</tr>
</table>
<br>
<table class="dots" width="100%" border="0" cellspacing="0" cellpadding="0" summary="One column table with heading">
<tr>
<td class="blue" colspan="2">
<h3>Where can I find more detailed information on my torrents? </h3>
</td>
</tr>
<tr>
<td valign="top" width="150"><img alt="inspector" src="../gfx/inspector.png" height="auto" width="150" border="0"></td>
<td valign="top">
<p>Click the Inspector icon, or simply double-click any transfer in the main window.
<p>The inspector gives you:
<ul>
<li>Statistics on the torrent and files you are downloading </li>
<li>Information about the peers and trackers you are connected to </li>
<li>Options to fine-tune your bandwidth allocation </li>
<ul>
</p>
</td>
</tr>
</table>
<br>
<table class="dots" width="100%" border="0" cellspacing="0" cellpadding="0" summary="One column table with heading">
<tr>
<td class="blue" colspan="2">
<h3>Can I choose to download specific files? </h3>
</td>
</tr>
<tr>
<td valign="top" width="150"><img alt="file selection" src="../gfx/fileselection.png" height="auto" width="150" border="0"></td>
<td valign="top">
<p>Yes, either upon opening a torrent, or once it has started. When you open a multi-file torrent, a detailed Open window will appear, allowing you to select specific files.
<p>For transfers which are already running, double click them to open the Inspector, and then click the 'Files' tab. Simply check the boxes next to the files you want to download (the default is all of them).
You can even set a priority (high, normal, or low) to each file, if you want some to finish faster than others. To do so, use the selector that appears next to the checkboxes.
<p>If the window doesn't appear when opening a torrent, ensure that "Display options window" is checked in Preferences -> Transfers -> Adding.
</td>
</tr>
</table>
<br>
</div>
</body>
</html>

View File

@ -1,35 +1,29 @@
<!DOCTYPE html>
<html lang="en">
<a name="network"></a>
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link media="all" rel="stylesheet" href="../styles/TransBody.css" />
<title>Network Help</title>
</head>
<body>
<div id="mainbox">
<div id="banner">
<a name="menus"></a>
<div id="machelp"><a class="bread" href="../index.html">Transmission Help</a>
</div>
<div id="index">
<a class="leftborder" href="../html/Index2.html">Index</a></div>
</div>
</div>
<div class="pagetitle">
<h1>What is the 'Micro Transport Protocol'? </h1>
</div>
<p><a href='http://en.wikipedia.org/wiki/Micro_Transport_Protocol'>The Micro Transport Protocol (µTP)</a> is a protocol designed to reduce latency and network congestion. Transfers are automatically slowed down when they are interfering with other applications. This feature is compatible with all other µTP-compatible clients.
<p>
<div class="pagetitle">
<h1>Why do I see a red dot and 'Port is closed'? </h1>
</div>
<p>You haven't port forwarded correctly. Port forwarding opens a port in your firewall or router so that incoming connections from the outside world can be made with Transmission. If the port is forwarded, other people in the torrent can see you, thus increasing your potential number of connections, which more importantly, might increase the speed of your download.
<p>You need to port forward if you share your internet connection with a router, or if your broadband modem is a router itself. In most cases Transmission can do this automatically, see <a href="portforward.html">this page</a> for instructions on port forwarding.
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link media="all" rel="stylesheet" href="../styles/TransBody.css" />
<title>Network Help</title>
</head>
<body>
<div id="mainbox">
<div id="banner">
<div id="machelp"><a class="bread" href="../index.html">Transmission Help</a></div>
<div id="index"><a class="leftborder" href="../html/Index2.html">Index</a></div>
</div>
</body>
</div>
<div class="pagetitle">
<h1>What is the 'Micro Transport Protocol'? </h1>
</div>
<p><a href="http://en.wikipedia.org/wiki/Micro_Transport_Protocol">The Micro Transport Protocol (µTP)</a> is a protocol designed to reduce latency and network congestion. Transfers are automatically slowed down when they are interfering with other applications. This feature is compatible with all other µTP-compatible clients.</p>
<div class="pagetitle">
<h1>Why do I see a red dot and 'Port is closed'? </h1>
</div>
<p>You haven't port forwarded correctly. Port forwarding opens a port in your firewall or router so that incoming connections from the outside world can be made with Transmission. If the port is forwarded, other people in the torrent can see you, thus increasing your potential number of connections, which more importantly, might increase the speed of your download.</p>
<p>You need to port forward if you share your internet connection with a router, or if your broadband modem is a router itself. In most cases Transmission can do this automatically, see <a href="portforward.html">this page</a> for instructions on port forwarding.</p>
</body>
</html>

View File

@ -1,8 +1,5 @@
<!DOCTYPE html>
<html lang="en">
<a name="peers"></a>
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link media="all" rel="stylesheet" href="../styles/TransBody.css" />
@ -11,7 +8,6 @@
<body>
<div id="mainbox">
<div id="banner">
<a name="menus"></a>
<div id="machelp"><a class="bread" href="../index.html">Transmission Help</a>
</div>
<div id="index">
@ -22,44 +18,37 @@
<div class="pagetitle">
<h1>What is 'peer exchange'? </h1>
</div>
<p><a href='http://en.wikipedia.org/wiki/Peer_exchange'>Peer Exchange (PEX)</a> is a method of discovering new peers via other peers, rather than the tracker. It allows Transmission to attach to the swarm much quicker.
PEX is automatically disabled for privately tracked torrents. The feature is compatible with both Vuze and µTorrent peers.
<p>
<p><a href="http://en.wikipedia.org/wiki/Peer_exchange">Peer Exchange (PEX)</a> is a method of discovering new peers via other peers, rather than the tracker. It allows Transmission to attach to the swarm much quicker. PEX is automatically disabled for privately tracked torrents. The feature is compatible with both Vuze and µTorrent peers.</p>
<div class="pagetitle">
<h1>What is the 'distributed hash table'? </h1>
</div>
<p>The <a href='http://en.wikipedia.org/wiki/Distributed_hash_table'>Distributed Hash Table (DHT)</a> allows peers to be obtained without connecting to the tracker. This allows transfers to continue even if trackers are unreachable.
It is another way that Transmission can attach to the swarm quicker. DHT is automatically disabled for privately tracked torrents.
<p>
<p>The <a href="http://en.wikipedia.org/wiki/Distributed_hash_table">Distributed Hash Table (DHT)</a> allows peers to be obtained without connecting to the tracker. This allows transfers to continue even if trackers are unreachable. It is another way that Transmission can attach to the swarm quicker. DHT is automatically disabled for privately tracked torrents.</p>
<div class="pagetitle">
<h1>What is encryption? </h1>
</div>
<p>Transmission encrypts the connections it makes with other peers when necessary, using the RC4 cipher. The implementation is compatible with other clients such as Vuze and µTorrent. It is always enabled, however you can set Transmission (Preferences -> Peers) to prefer encrypted peers or to ignore unencrypted peers completely.
<p>Note that the latter option may make Transmission unconnectable in some swarms. The encryption feature does not mean your session is secure or anonymous, it is merely a way to avoid the traffic shaping measures some ISPs have implemented.
<p>Transmission encrypts the connections it makes with other peers when necessary, using the RC4 cipher. The implementation is compatible with other clients such as Vuze and µTorrent. It is always enabled, however you can set Transmission (Preferences &rarr; Peers) to prefer encrypted peers or to ignore unencrypted peers completely.</p>
<p>Note that the latter option may make Transmission unconnectable in some swarms. The encryption feature does not mean your session is secure or anonymous, it is merely a way to avoid the traffic shaping measures some ISPs have implemented.</p>
<p>
<div class="pagetitle">
<h1>What are 'connections'?</h1>
</div>
<p><em>Global maximum connections</em> (Preferences -> Peers) is the total number of peers that Transmission will connect to across all of your transfers. Connections per torrent can also be adjusted here, as well as in the Inspector.
<p>It is recommended that these values are left at their default setting, as allowing too many connections will severely hinder web browsing and other online activities, as well as possibly crashing your router. Increase this value at your own risk!
<p>
<div summary="To do this" class="taskbox">
<p>Recommended settings:
<ul>
<li><strong>Global maximum connections</strong>: 200 </li>
<li><strong>Maximum connections for new transfers</strong>: 60 </li>
</ul>
</div>
<p>
<div class="pagetitle">
<h1>What is a blocklist? </h1>
</div>
<p>Transmission can block specific peers by utilizing a blocklist. An internet address for a blocklist file containing a list of IP addresses can be entered (Preferences -> Peers) and configured to auto-update weekly. Blocklists can also be manually added into ~/Library/Application Support/Transmission.
<p>The internet address may be to a text file or compressed file. Most standard compression formats are supported, including ZIP.
<p>
<p><em>Global maximum connections</em> (Preferences &rarr; Peers) is the total number of peers that Transmission will connect to across all of your transfers. Connections per torrent can also be adjusted here, as well as in the Inspector.</p>
<p>It is recommended that these values are left at their default setting, as allowing too many connections will severely hinder web browsing and other online activities, as well as possibly crashing your router. Increase this value at your own risk!</p>
<div class="taskbox">
<p>Recommended settings:
<ul>
<li><strong>Global maximum connections</strong>: 200 </li>
<li><strong>Maximum connections for new transfers</strong>: 60 </li>
</ul>
</div>
<div class="pagetitle">
<h1>What is a blocklist? </h1>
</div>
<p>Transmission can block specific peers by utilizing a blocklist. An internet address for a blocklist file containing a list of IP addresses can be entered (Preferences &rarr; Peers) and configured to auto-update weekly. Blocklists can also be manually added into ~/Library/Application Support/Transmission.</p>
<p>The internet address may be to a text file or compressed file. Most standard compression formats are supported, including ZIP.</p>
</div>
</body>
</html>

View File

@ -1,36 +1,31 @@
<!DOCTYPE html>
<html lang="en">
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link media="all" rel="stylesheet" href="../styles/TransBody.css" />
<title>Configuring the Mac OS X Firewall</title>
</head>
<body>
<div id="mainbox">
<div id="banner">
<a name="menus"></a>
<div id="machelp">
<a class="bread" href="../index.html">Transmission Help</a>
</div>
<div id="index">
<a class="leftborder" href="../html/index2.html">Index</a></div>
</div>
</div>
<div class="pagetitle">
<h1>Configuring the Mac OS X Firewall</h1>
</div>
<br>
<p>Upon opening Transmission for the first time, a Mac OS X dialog box should appear asking if you will allow Transmission to receive incoming connections. Click Accept.
<p>If this doesn't happen, you can add Transmission to the firewall manually:
<div summary="To do this" class="taskbox">
<ol>
<li>Open System Prefs -> Security -> Firewall. Make sure "Set access for specific services and applications" is selected.</li>
<li>Click the "+" button and select Transmission from your Applications folder. </li>
<li>Make sure the pull down menu is set to "Allow incoming connections".
</ol>
</div>
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link media="all" rel="stylesheet" href="../styles/TransBody.css" />
<title>Configuring the Mac OS X Firewall</title>
</head>
<body>
<div id="mainbox">
<div id="banner">
<div id="machelp"><a class="bread" href="../index.html">Transmission Help</a></div>
<div id="index"><a class="leftborder" href="../html/index2.html">Index</a></div>
</div>
</body>
</div>
<div class="pagetitle">
<h1>Configuring the Mac OS X Firewall</h1>
</div>
<br>
<p>Upon opening Transmission for the first time, a Mac OS X dialog box should appear asking if you will allow Transmission to receive incoming connections. Click Accept.</p>
<p>If this doesn't happen, you can add Transmission to the firewall manually:</p>
<div class="taskbox">
<ol>
<li>Open System Prefs &rarr; Security &rarr; Firewall. Make sure "Set access for specific services and applications" is selected.</li>
<li>Click the "+" button and select Transmission from your Applications folder. </li>
<li>Make sure the pull down menu is set to "Allow incoming connections".
</ol>
</div>
</body>
</html>

View File

@ -1,76 +1,74 @@
<!DOCTYPE html>
<html lang="en">
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link media="all" rel="stylesheet" href="../styles/TransBody.css" />
<title>Port Forwarding a Router</title>
</head>
<body>
<div id="mainbox">
<div id="banner">
<a name="menus"></a>
<div id="machelp">
<a class="bread" href="../index.html">Transmission Help</a>
</div>
<div id="index">
<a class="leftborder" href="../html/index2.html">Index</a></div>
</div>
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link media="all" rel="stylesheet" href="../styles/TransBody.css" />
<title>Port Forwarding a Router</title>
</head>
<body>
<div id="mainbox">
<div id="banner">
<div id="machelp">
<a class="bread" href="../index.html">Transmission Help</a>
</div>
<div class="pagetitle">
<h1>Port Forwarding a Router</h1>
<div id="index">
<a class="leftborder" href="../html/index2.html">Index</a></div>
</div>
<p>If you are using a router, it is probably OK to disable the OS X firewall, as you are already being protected by the router. To disable the firewall, open System Prefs -> Security -> Firewall. Click Stop.
<p>To forward a port in your router manually:
<div summary="To do this" class="taskbox">
<ol>
<li>Find out what your IP address is. You can find your computer's IP address by going to System Prefs -> Network, double-clicking on your connection (for instance, Built-in Ethernet), and clicking the TCP/IP tab. It's probably something like 192.168.1.100, or 10.0.1.2.</li>
<li>Open Transmission, go to preferences, and enter a number for the port. It is recommended you pick a random number between 49152 and 65535. Let's use 50001 for now. Then quit Transmission.</li>
<li>Go into your router configuration screen. Normally this is done via your web browser using the address <a href="http://192.168.0.1">192.168.0.1</a> etc.
<br>Note: Apple's AirPort uses an application called 'AirPort Utility' to configure it.</li>
<li>Find the port forwarding (sometimes called port mapping) screen. While the page will be different for each router generally you will enter something similar to the following:</li>
<ul>
<li>For 'Application' type 'Trans'. </li>
<li>For 'Start Port' and 'End Port' type in the port you chose in Step 2. eg 50001. </li>
<li>For Protocol, choose Both. </li>
<li>For IP address, type in your IP address you found in Step 1. eg 10.0.1.2. </li>
<li>Check Enable. </li>
<li>Click save settings. </li>
</ul>
</ol>
<p>For more comprehensive instructions specific to your router, <a href="http://www.portforward.com/english/routers/port_forwarding/routerindex.htm">click here</a> and choose your router from the list.
<p>
</div>
<p>If you find yourself having to change your router settings all the time, a static IP address might be beneficial.
<div class="pagetitle">
<h1>What is a static IP?</h1>
</div>
<p>A static IP is when your computer is assigned an IP address which does not change. This can be helpful if you have a laptop or have multiple computers on your network. While it makes things a bit simpler, you don't have to have a static IP for BitTorrent or Port Forwarding to work.
<p>A dynamic IP address assigned by your wireless router for example will most likely not change unless you reboot your computer, or leave and rejoin the network. Thus, having a static IP isn't really necessary, especially if your router supports UPnP.
<p>
<div class="pagetitle">
<h1>How do I get a static IP address?</h1>
</div>
<div summary="To do this" class="taskbox">
<ol>
<li>Go to System Prefs -> Network, double-click on your connection (for instance, Built-in Ethernet), and click the TCP/IP tab.
<li>Write down the IP, Subnet Mask and Router addresses.
<li>Go to your router 'status' page via your web browser (AirPort Admin Utility if you are using an AirPort BS), and write down the DNS Server addresses. Alternatively, you can enter your router's internal IP (e.g. 192.168.0.1). This is sometimes quicker, as it refers to the router instead of the server.
<li>Then, return to the TCP/IP page in System Prefs.
<li>Choose "Manually" from the Configure IPv4 drop down menu.
<li>Enter the IP address you wish to have, eg 192.168.0.100, or 10.0.1.100. It should be of a similar format to the IP address you found in step 2, with only the last number changing.
<br>Note: You cannot have a static IP address that's within the DHCP range. Thus it is recommended that you make the last digit of your address large enough to discount this possibility, like we have done in our examples.
<li>Fill in the other boxes using the addresses you wrote down in steps 2 and 3.
<li>Click 'Apply Now'.
</ol>
</div>
</div>
</body>
<div class="pagetitle">
<h1>Port Forwarding a Router</h1>
</div>
<p>If you are using a router, it is probably OK to disable the OS X firewall, as you are already being protected by the router. To disable the firewall, open System Prefs &rarr; Security &rarr; Firewall. Click Stop.
<p>To forward a port in your router manually:
<div class="taskbox">
<ol>
<li>Find out what your IP address is. You can find your computer's IP address by going to System Prefs &rarr; Network, double-clicking on your connection (for instance, Built-in Ethernet), and clicking the TCP/IP tab. It's probably something like 192.168.1.100, or 10.0.1.2.</li>
<li>Open Transmission, go to preferences, and enter a number for the port. It is recommended you pick a random number between 49152 and 65535. Let's use 50001 for now. Then quit Transmission.</li>
<li>Go into your router configuration screen. Normally this is done via your web browser using the address <a href="http://192.168.0.1">192.168.0.1</a> etc.
<br>Note: Apple's AirPort uses an application called 'AirPort Utility' to configure it.</li>
<li>Find the port forwarding (sometimes called port mapping) screen. While the page will be different for each router generally you will enter something similar to the following:</li>
<ul>
<li>For 'Application' type 'Trans'. </li>
<li>For 'Start Port' and 'End Port' type in the port you chose in Step 2. eg 50001. </li>
<li>For Protocol, choose Both. </li>
<li>For IP address, type in your IP address you found in Step 1. eg 10.0.1.2. </li>
<li>Check Enable. </li>
<li>Click save settings. </li>
</ul>
</ol>
<p>For more comprehensive instructions specific to your router, <a href="http://www.portforward.com/english/routers/port_forwarding/routerindex.htm">click here</a> and choose your router from the list.
<p>
</div>
<p>If you find yourself having to change your router settings all the time, a static IP address might be beneficial.
<div class="pagetitle">
<h1>What is a static IP?</h1>
</div>
<p>A static IP is when your computer is assigned an IP address which does not change. This can be helpful if you have a laptop or have multiple computers on your network. While it makes things a bit simpler, you don't have to have a static IP for BitTorrent or Port Forwarding to work.
<p>A dynamic IP address assigned by your wireless router for example will most likely not change unless you reboot your computer, or leave and rejoin the network. Thus, having a static IP isn't really necessary, especially if your router supports UPnP.
<p>
<div class="pagetitle">
<h1>How do I get a static IP address?</h1>
</div>
<div class="taskbox">
<ol>
<li>Go to System Prefs &rarr; Network, double-click on your connection (for instance, Built-in Ethernet), and click the TCP/IP tab.
<li>Write down the IP, Subnet Mask and Router addresses.
<li>Go to your router 'status' page via your web browser (AirPort Admin Utility if you are using an AirPort BS), and write down the DNS Server addresses. Alternatively, you can enter your router's internal IP (e.g. 192.168.0.1). This is sometimes quicker, as it refers to the router instead of the server.
<li>Then, return to the TCP/IP page in System Prefs.
<li>Choose "Manually" from the Configure IPv4 drop down menu.
<li>Enter the IP address you wish to have, eg 192.168.0.100, or 10.0.1.100. It should be of a similar format to the IP address you found in step 2, with only the last number changing.
<br>Note: You cannot have a static IP address that's within the DHCP range. Thus it is recommended that you make the last digit of your address large enough to discount this possibility, like we have done in our examples.
<li>Fill in the other boxes using the addresses you wrote down in steps 2 and 3.
<li>Click 'Apply Now'.
</ol>
</div>
</div>
</body>
</html>

View File

@ -1,2 +1,38 @@
<!DOCTYPE html>
<html lang="en"> <head> <META http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link media="all" rel="stylesheet" href="../styles/TransBody.css" /> <title>Port Forwarding FAQ</title> </head> <body> <div id="mainbox"> <div id="banner"> <a name="menus"></a> <div id="machelp"> <a class="bread" href="../index.html">Transmission Help</a> </div> <div id="index"> <a class="leftborder" href="../html/index2.html">Index</a></div> </div> </div> <div class="pagetitle"> <h1>How do I Port Forward?</h1> </div> <p>If your router supports NAT-PMP, UPnP, or you have Apple AirPort, Transmission can map its port automatically. Most routers manufactured since 2001 have this feature. <div summary="To do this" class="taskbox"> <ol> <li>Open Transmission. </li> <li>Go to Preferences -> Network, and check 'Automatically map port'. </li> <li>If you get a green dot and 'Port is Open' then you have successfully port forwarded!</li> <p>If you get a red dot and the message 'Port is closed', <a href="troubleshoot.html">click here</a>.</li> </ol> </div> <p>If you don't have a compatible router, it is simple to forward Transmission's port manually. For instructions <a href="pfrouter.html">click here</a>.</li> <p>If you don't use a router, and your modem is directly connected to your computer, you'll need to open Transmission's port in the Mac OS X firewall. For instructions <a href="pffirewall.html">click here</a>.<br><br> <em>Note:</em> It is highly recommended you enable the Mac OS X firewall if you are not using a router.</li> <p>Keep in mind that many DSL modems also function as routers, so port forwarding may still be necessary, even though your computer is directly connected to the modem. <p> </div> </body> </html>
<html lang="en">
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link media="all" rel="stylesheet" href="../styles/TransBody.css" />
<title>Port Forwarding FAQ</title>
</head>
<body>
<div id="mainbox">
<div id="banner">
<div id="machelp"><a class="bread" href="../index.html">Transmission Help</a></div>
<div id="index"><a class="leftborder" href="../html/index2.html">Index</a></div>
</div>
</div>
<div class="pagetitle">
<h1>How do I Port Forward?</h1>
</div>
<p>If your router supports NAT-PMP, UPnP, or you have Apple AirPort, Transmission can map its port automatically. Most routers manufactured since 2001 have this feature.
<div class="taskbox">
<ol>
<li>Open Transmission.</li>
<li>Go to Preferences &rarr; Network, and check 'Automatically map port'.</li>
<li>If you get a green dot and 'Port is Open' then you have successfully port forwarded!</li>
<li>If you get a red dot and the message 'Port is closed', <a href="troubleshoot.html">click here</a>.</li>
</ol>
</div>
<p>If you don't have a compatible router, it is simple to forward Transmission's port manually. For instructions <a href="pfrouter.html">click here</a>.</p>
<p>If you don't use a router, and your modem is directly connected to your computer, you'll need to open Transmission's port in the Mac OS X firewall. For instructions <a href="pffirewall.html">click here</a>.<br><br> <em>Note:</em> It is highly recommended you enable the Mac OS X firewall if you are not using a router.</p>
<p>Keep in mind that many DSL modems also function as routers, so port forwarding may still be necessary, even though your computer is directly connected to the modem.</p>
</body>
</html>

View File

@ -1,8 +1,6 @@
<!DOCTYPE html>
<html lang="en">
<a name="remote"></a>
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link media="all" rel="stylesheet" href="../styles/TransBody.css" />
@ -11,7 +9,6 @@
<body>
<div id="mainbox">
<div id="banner">
<a name="menus"></a>
<div id="machelp"><a class="bread" href="../index.html">Transmission Help</a>
</div>
<div id="index">
@ -25,18 +22,18 @@
<p>Transmission has a web interface which can be used to monitor and manage your transfers over the internet. Other applications, such as <em>transmission-remote</em>, can also control Transmission. If you want to use the web interface, or another remote control application, check 'Enable remote access'. Leave this option unchecked if you are only going to be managing your transfers on your local machine.
<p>For security purposes, you can password protect access to Transmission, as well as restrict access to a trusted list of external IP addresses. To add an address to the list, click the + button.
<p>You can view the web interface on your local computer by clicking the 'Launch web interface' button. To view it on a remote location:
<div summary="To do this" class="taskbox">
<div class="taskbox">
<ol>
<li>Open your web browser</li>
<li>In the address bar, enter "http://localip:port/transmission/web/", where: </li>
<ul>
<li><em>localip</em> is the IP address of the computer Transmission is running on.</li>
<li><em>port</em> is the port specified in Preferences -> Remote.</li>
<li><em>port</em> is the port specified in Preferences &rarr; Remote.</li>
</ul>
</ol>
</div>
</div>
</body>
</html>

View File

@ -1,41 +1,36 @@
<!DOCTYPE html>
<html lang="en">
<a name="script"></a>
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link media="all" rel="stylesheet" href="../styles/TransBody.css" />
<title>Script Help</title>
</head>
<body>
<div id="mainbox">
<div id="banner">
<a name="menus"></a>
<div id="machelp"><a class="bread" href="../index.html">Transmission Help</a>
</div>
<div id="index">
<a class="leftborder" href="../html/Index2.html">Index</a></div>
</div>
</div>
<div class="pagetitle">
<h1>Running Scripts</h1>
</div>
<p>Transmission can be set to invoke a script when downloads complete. The environment variables supported are:
<div class="taskbox">
<ul>
<li>TR_APP_VERSION</li>
<li>TR_TIME_LOCALTIME</li>
<li>TR_TORRENT_DIR</li>
<li>TR_TORRENT_HASH</li>
<li>TR_TORRENT_ID</li>
<li>TR_TORRENT_NAME</li>
</ul>
</div>
<p>More information is available on <a href="https://trac.transmissionbt.com/wiki/Scripts">the Transmission wiki</a>.
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link media="all" rel="stylesheet" href="../styles/TransBody.css" />
<title>Script Help</title>
</head>
<body>
<div id="mainbox">
<div id="banner">
<div id="machelp"><a class="bread" href="../index.html">Transmission Help</a></div>
<div id="index"><a class="leftborder" href="../html/Index2.html">Index</a></div>
</div>
</body>
</div>
<div class="pagetitle">
<h1>Running Scripts</h1>
</div>
<p>Transmission can be set to invoke a script when downloads complete. The environment variables supported are:
<div class="taskbox">
<ul>
<li>TR_APP_VERSION</li>
<li>TR_TIME_LOCALTIME</li>
<li>TR_TORRENT_DIR</li>
<li>TR_TORRENT_HASH</li>
<li>TR_TORRENT_ID</li>
<li>TR_TORRENT_NAME</li>
</ul>
</div>
<p>More information is available on <a href="https://trac.transmissionbt.com/wiki/Scripts">the Transmission wiki</a>.
</div>
</body>
</html>

View File

@ -9,7 +9,6 @@
<body>
<div id="mainbox">
<div id="banner">
<a name="menus"></a>
<div id="machelp"><a class="bread" href="../index.html">Transmission Help</a>
</div>
<div id="index">
@ -19,7 +18,7 @@
<div class="pagetitle">
<h1>Can I add and remove trackers in my torrents? </h1>
</div>
<p>Yes. To add trackers to a currently running torrent, go to Inspector -> Tracker, and click the plus button (+). To remove them, click minus button (-). Multiple trackers can also be added to torrent files you create. Each newly-added tracker will be placed in a new tier.
<p>Yes. To add trackers to a currently running torrent, go to Inspector &rarr; Tracker, and click the plus button (+). To remove them, click minus button (-). Multiple trackers can also be added to torrent files you create. Each newly-added tracker will be placed in a new tier.
<p>
<div class="pagetitle">
<h1>What is 'Tier 1', 'Tier 2', etc? </h1>
@ -29,7 +28,7 @@
<div class="pagetitle">
<h1>What does 'announce' mean? </h1>
</div>
<p>When Transmission <em>announces</em>, it is updating its presence to the tracker and asking for more peers. This happens periodically, at the discretion of the tracker, however can be manually invoked via Transfers menu >> Update Tracker.
<p>When Transmission <em>announces</em>, it is updating its presence to the tracker and asking for more peers. This happens periodically, at the discretion of the tracker, however can be manually invoked via Transfers menu &rarr; Update Tracker.
<p>
<div class="pagetitle">
<h1>What does 'scrape' mean? </h1>
@ -40,5 +39,5 @@
</div>
</body>
</html>

View File

@ -9,7 +9,6 @@
<body>
<div id="mainbox">
<div id="banner">
<a name="menus"></a>
<div id="machelp">
<a class="bread" href="../index.html">Transmission Help</a>
</div>
@ -20,10 +19,10 @@
<div class="pagetitle">
<h1>I cannot get Transmission's port to open! </h1>
</div>
<p>If your port is still not open, even after you have enabled automatic port forwarding, here are some tips you can use which may get it working.
<div summary="To do this" class="taskbox">
<div class="taskbox">
<p>If you are still having problems, open the Message Log (in the Window menu) and post the debug output on the <a href="https://forum.transmissionbt.com/viewforum.php?f=4">support forums</a>.
<ol>
<li>Pause your torrents</li>
@ -32,7 +31,7 @@
<li>Post the resultant output</li>
</ol>
</div>
<div class="pagetitle">
<h1>UPnP</h1>
</div>
@ -42,13 +41,13 @@
<li>DMZ mode is disabled.</li>
<li>The port has not already been forwarded manually.
</ul>
<div class="pagetitle">
<h1>AirPort</h1>
</div>
<p>If you have an Apple AirPort, make sure NAT-PMP is enabled.
<div summary="To do this" class="taskbox">
<div class="taskbox">
<ol>
<li>Open AirPort Utility (located in /Applications/Utilities)</li>
<li>Select your base station, and then choose Manual Setup from the Base Station menu. Enter the base station password if necessary.</li>
@ -56,7 +55,7 @@
<li>Click "Update".</li>
</ol>
</div>
</div>
</div>
@ -68,10 +67,10 @@
<p>For example, your network might resemble the following: <em>ADSL modem/router --> AirPort extreme --> MacBook.</em>
<p>If you have multiple routers in your home network (such as in the example above), you have two options. The easiest way is to turn one of the routers into 'Bridge mode' which means you then only have to configure one device rather than all of them. So, in our above example, we would set the AirPort extreme to 'Bridge'. See your router's help documentation for instructions.
<p>The second way is to map Transmission's port on all of the devices on your network.
Transmission can only automatically port map the router the computer is directly connected to. Any others in between this router and your modem will have to be <a href="pfrouter.html">forwarded manually</a>. For detailed instructions, <a href="http://www.portforward.com/help/doublerouterportforwarding.htm">click here</a>.
<p>Finally make sure the OS X firewall is either disabled, or you have <a href="pffirewall.html">allowed Transmission's port</a>.
The firewall can cause the port to remain closed, even if it has been successfully mapped by the router(s).
</div>

View File

@ -9,7 +9,6 @@
<body>
<div id="mainbox">
<div id="banner">
<a name="menus"></a>
<div id="machelp">
<a class="bread" href="../index.html">Transmission Help</a>
</div>
@ -22,21 +21,19 @@
</div>
<ul>
<li>Torrent files contain information about the actual file you want to download, and connect you to the swarm of peers sharing it.</li>
<li>Transmission can watch a certain folder (eg your Safari download folder) for torrent files and then open them automatically via Preferences -> Transfers -> General.</li>
<li>By default, Transmission deletes the original torrent file upon opening. If you remove a transfer, in order to resume it you will need to reopen the original torrent file in Transmission.
Simply choose 'Save Torrent File As…' from the File menu before deletion to avoid having to download the torrent file again.</li>
<li>Once your download is complete, you can set a default ratio to automatically seed to, and then pause.
This can be adjusted in Preferences -> Transfers -> Management, or in real time using the Action menu.</li>
<li>Transmission can watch a certain folder (eg your Safari download folder) for torrent files and then open them automatically via Preferences &rarr; Transfers &rarr; General.</li>
<li>By default, Transmission deletes the original torrent file upon opening. If you remove a transfer, in order to resume it you will need to reopen the original torrent file in Transmission. Simply choose 'Save Torrent File As…' from the File menu before deletion to avoid having to download the torrent file again.</li>
<li>Once your download is complete, you can set a default ratio to automatically seed to, and then pause. This can be adjusted in Preferences &rarr; Transfers &rarr; Management, or in real time using the Action menu.</li>
<li>Both seeding and downloading transfers can be queued, and Transmission can skip over stalled transfers, in order to maximise queuing efficiency.
Queuing can be configured in Preferences -> Transfers -> Management.</li>
Queuing can be configured in Preferences &rarr; Transfers &rarr; Management.</li>
</ul>
</div>
</body>
</html>

View File

@ -8,8 +8,14 @@
<title>Transmission Help</title>
<meta name="robots" content="anchors" />
<link href="styles/TransIndex.css" rel="stylesheet" media="all">
<style>
body: {
background-color: white;
margin: 0;
}
</style>
</head>
<body bgcolor="white" marginheight="0" marginwidth="0" topmargin="0">
<body>
<div id="frame">
<div id="contentleft">
<div style="text-align: center;">

View File

@ -11,7 +11,6 @@
#include <algorithm>
#include <array>
#include <ctime>
#include <iostream>
#include <QIcon>
#include <QLibraryInfo>
@ -19,6 +18,7 @@
#include <QProcess>
#include <QRect>
#include <QSystemTrayIcon>
#include <QtDebug>
#ifdef QT_DBUS_LIB
#include <QDBusConnection>
@ -159,12 +159,12 @@ Application::Application(int& argc, char** argv) :
break;
case 'v':
std::cerr << qPrintable(display_name_) << ' ' << LONG_VERSION_STRING << std::endl;
qInfo() << qPrintable(display_name_) << LONG_VERSION_STRING;
quitLater();
return;
case TR_OPT_ERR:
std::cerr << qPrintable(QObject::tr("Invalid option")) << std::endl;
qWarning() << qPrintable(QObject::tr("Invalid option"));
tr_getopt_usage(qPrintable(display_name_), getUsage(), Opts.data());
quitLater();
return;

View File

@ -6,13 +6,12 @@
*
*/
#include <iostream>
#include <QDBusConnection>
#include <QDBusMessage>
#include <QDBusReply>
#include <QString>
#include <QVariant>
#include <QtDebug>
#include "DBusInteropHelper.h"
#include "InteropObject.h"
@ -47,12 +46,12 @@ void DBusInteropHelper::registerObject(QObject* parent)
auto const service_name = QStringLiteral("com.transmissionbt.Transmission");
if (!bus.registerService(service_name))
{
std::cerr << "couldn't register " << qPrintable(service_name) << std::endl;
qWarning() << "couldn't register" << qPrintable(service_name);
}
auto const object_path = QStringLiteral("/com/transmissionbt/Transmission");
if (!bus.registerObject(object_path, new InteropObject(parent), QDBusConnection::ExportAllSlots))
{
std::cerr << "couldn't register " << qPrintable(object_path) << std::endl;
qWarning() << "couldn't register" << qPrintable(object_path);
}
}

View File

@ -7,7 +7,6 @@
*/
#include <array>
#include <iostream>
#include <QDir>
#include <QNetworkAccessManager>

View File

@ -41,7 +41,7 @@ void FileTreeDelegate::paint(QPainter* painter, QStyleOptionViewItem const& opti
return;
}
QStyle* style = QApplication::style();
QStyle const* style = QApplication::style();
painter->save();
QItemDelegate::drawBackground(painter, option, index);

View File

@ -23,7 +23,6 @@ public:
{
}
public:
// QAbstractItemDelegate
QSize sizeHint(QStyleOptionViewItem const&, QModelIndex const&) const override;
void paint(QPainter*, QStyleOptionViewItem const&, QModelIndex const&) const override;

View File

@ -7,8 +7,8 @@
*/
#include <algorithm>
#include <array>
#include <cassert>
#include <set>
#include <QApplication>
#include <QStyle>
@ -171,7 +171,7 @@ QVariant FileTreeItem::data(int column, int role) const
}
else
{
auto& icon_cache = IconCache::get();
auto const& icon_cache = IconCache::get();
value = childCount() > 0 ?
icon_cache.folderIcon() :
icon_cache.guessMimeIcon(name(), icon_cache.fileIcon());
@ -234,8 +234,7 @@ uint64_t FileTreeItem::size() const
std::pair<int, int> FileTreeItem::update(QString const& name, bool wanted, int priority, uint64_t have_size, bool update_fields)
{
int changed_count = 0;
std::array<int, FileTreeModel::NUM_COLUMNS> changed_columns = {};
auto changed_columns = std::set<int>{};
if (name_ != name)
{
@ -245,7 +244,7 @@ std::pair<int, int> FileTreeItem::update(QString const& name, bool wanted, int p
}
name_ = name;
changed_columns[changed_count++] = FileTreeModel::COL_NAME;
changed_columns.insert(FileTreeModel::COL_NAME);
}
if (fileIndex() != -1)
@ -253,7 +252,7 @@ std::pair<int, int> FileTreeItem::update(QString const& name, bool wanted, int p
if (have_size_ != have_size)
{
have_size_ = have_size;
changed_columns[changed_count++] = FileTreeModel::COL_PROGRESS;
changed_columns.insert(FileTreeModel::COL_PROGRESS);
}
if (update_fields)
@ -261,24 +260,23 @@ std::pair<int, int> FileTreeItem::update(QString const& name, bool wanted, int p
if (is_wanted_ != wanted)
{
is_wanted_ = wanted;
changed_columns[changed_count++] = FileTreeModel::COL_WANTED;
changed_columns.insert(FileTreeModel::COL_WANTED);
}
if (priority_ != priority)
{
priority_ = priority;
changed_columns[changed_count++] = FileTreeModel::COL_PRIORITY;
changed_columns.insert(FileTreeModel::COL_PRIORITY);
}
}
}
std::pair<int, int> changed(-1, -1);
if (changed_count > 0)
if (!changed_columns.empty())
{
std::sort(changed_columns.begin(), changed_columns.end());
changed.first = changed_columns.front();
changed.second = changed_columns.back();
changed.first = *std::cbegin(changed_columns);
changed.second = *std::crbegin(changed_columns);
}
return changed;

View File

@ -181,7 +181,7 @@ bool FileTreeModel::setData(QModelIndex const& index, QVariant const& newname, i
{
if (role == Qt::EditRole)
{
FileTreeItem* item = itemFromIndex(index);
FileTreeItem const* item = itemFromIndex(index);
emit pathEdited(item->path(), newname.toString());
}
@ -270,7 +270,7 @@ QModelIndex FileTreeModel::parent(QModelIndex const& child, int column) const
int FileTreeModel::rowCount(QModelIndex const& parent) const
{
FileTreeItem* parent_item = parent.isValid() ?
FileTreeItem const* parent_item = parent.isValid() ?
itemFromIndex(parent) :
root_item_;
@ -602,7 +602,7 @@ bool FileTreeModel::openFile(QModelIndex const& index)
return false;
}
FileTreeItem* const item = itemFromIndex(index);
FileTreeItem const* const item = itemFromIndex(index);
if (item->fileIndex() < 0 || !item->isComplete())
{

View File

@ -43,7 +43,6 @@ public:
CompleteRole
};
public:
FileTreeModel(QObject* parent = nullptr, bool is_editable = true);
~FileTreeModel() override;
@ -89,7 +88,6 @@ private:
FileTreeItem* itemFromIndex(QModelIndex const&) const;
QModelIndexList getOrphanIndices(QModelIndexList const& indices) const;
private:
QMap<int, FileTreeItem*> index_cache_;
FileTreeItem* root_item_ = {};
bool is_editable_ = {};

View File

@ -9,7 +9,6 @@
#include "RpcClient.h"
#include <cstring>
#include <iostream>
#include <QApplication>
#include <QAuthenticator>
@ -158,14 +157,15 @@ void RpcClient::sendNetworkRequest(TrVariantPtr json, QFutureInterface<RpcRespon
if (Verbose)
{
std::cerr << "sending " << "POST " << qPrintable(url_.path()) << std::endl;
qInfo() << "sending" << "POST" << qPrintable(url_.path());
for (QByteArray const& b : request_->rawHeaderList())
{
std::cerr << b.constData() << ": " << request_->rawHeader(b).constData() << std::endl;
qInfo() << b.constData() << ": " << request_->rawHeader(b).constData();
}
std::cerr << "Body:\n" << json_data.constData() << std::endl;
qInfo() << "Body:";
qInfo() << json_data.constData();
}
}
@ -236,14 +236,15 @@ void RpcClient::networkRequestFinished(QNetworkReply* reply)
if (Verbose)
{
std::cerr << "http response header: " << std::endl;
qInfo() << "http response header:";
for (QByteArray const& b : reply->rawHeaderList())
{
std::cerr << b.constData() << ": " << reply->rawHeader(b).constData() << std::endl;
qInfo() << b.constData() << ": " << reply->rawHeader(b).constData();
}
std::cerr << "json:\n" << reply->peek(reply->bytesAvailable()).constData() << std::endl;
qInfo() << "json:";
qInfo() << reply->peek(reply->bytesAvailable()).constData();
}
if (reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt() == 409 &&

View File

@ -11,7 +11,6 @@
#include <algorithm>
#include <array>
#include <cassert>
#include <iostream>
#include <string_view>
#include <QApplication>
@ -25,6 +24,7 @@
#include <QMessageBox>
#include <QStyle>
#include <QTextStream>
#include <QtDebug>
#include <libtransmission/session-id.h>
#include <libtransmission/transmission.h>
@ -284,7 +284,7 @@ void Session::updatePref(int key)
break;
default:
std::cerr << "unhandled pref: " << key << std::endl;
qWarning() << "unhandled pref:" << key;
}
}
}

View File

@ -8,7 +8,6 @@
#include <algorithm>
#include <cassert>
#include <iostream>
#include <utility>
#include <libtransmission/transmission.h>
@ -452,7 +451,7 @@ void TorrentModel::rowsAdd(torrents_t const& torrents)
for (auto const& tor : torrents)
{
auto* const it = std::lower_bound(torrents_.begin(), torrents_.end(), tor, compare);
int const row = std::distance(torrents_.begin(), it);
auto const row = static_cast<int>(std::distance(torrents_.begin(), it));
beginInsertRows(QModelIndex(), row, row);
torrents_.insert(it, tor);

View File

@ -6,8 +6,6 @@
*
*/
#include <iostream>
#include <QDir>
#include <QFileSystemWatcher>
#include <QTimer>

View File

@ -11,7 +11,6 @@
#include <stdlib.h> /* qsort() */
#include <time.h>
// #define CURL_DISABLE_TYPECHECK /* otherwise -Wunreachable-code goes insane */
#include <curl/curl.h>
#include <event2/buffer.h>