mirror of
https://github.com/Prowlarr/Prowlarr.git
synced 2025-09-29 05:16:34 +02:00
Proxy Support for Sonarr #732
Switch to use Port #0 which just uses the next free port Non Functional - Code Cleanup Tabs -> Spaces, Opps Deleted too much Refactoring & Code Cleanup & Move Config to DB remove unneeded line Clean Up Spaces Code Review Points on the UI FIx extra space Clean Up unrequired changes Add a HealthCheck. Extra Check in ProxyCheck. Correctly deal with Socks Authentication Remove SubModule Add in Nuget + Tweak ProxyCheck Code Review Points Missed Review Point Add Subnet Filtering, Add ProxyBypass for local addresses. UI updated for property changes. Fix typo, and copy&paste error Tweak URL to hit
This commit is contained in:
@@ -11,6 +11,7 @@ var view = Marionette.ItemView.extend({
|
||||
|
||||
events : {
|
||||
'change .x-auth' : '_setAuthOptionsVisibility',
|
||||
'change .x-proxy' : '_setProxyOptionsVisibility',
|
||||
'change .x-ssl' : '_setSslOptionsVisibility',
|
||||
'click .x-reset-api-key' : '_resetApiKey',
|
||||
'change .x-update-mechanism' : '_setScriptGroupVisibility'
|
||||
@@ -25,7 +26,9 @@ var view = Marionette.ItemView.extend({
|
||||
copyApiKey : '.x-copy-api-key',
|
||||
apiKeyInput : '.x-api-key',
|
||||
updateMechanism : '.x-update-mechanism',
|
||||
scriptGroup : '.x-script-group'
|
||||
scriptGroup : '.x-script-group',
|
||||
proxyToggle : '.x-proxy',
|
||||
proxyOptions : '.x-proxy-settings'
|
||||
},
|
||||
|
||||
initialize : function() {
|
||||
@@ -37,6 +40,10 @@ var view = Marionette.ItemView.extend({
|
||||
this.ui.authOptions.hide();
|
||||
}
|
||||
|
||||
if (!this.ui.proxyToggle.prop('checked')) {
|
||||
this.ui.proxyOptions.hide();
|
||||
}
|
||||
|
||||
if (!this.ui.sslToggle.prop('checked')) {
|
||||
this.ui.sslOptions.hide();
|
||||
}
|
||||
@@ -70,6 +77,15 @@ var view = Marionette.ItemView.extend({
|
||||
}
|
||||
},
|
||||
|
||||
_setProxyOptionsVisibility : function() {
|
||||
if (this.ui.proxyToggle.prop('checked')) {
|
||||
this.ui.proxyOptions.slideDown();
|
||||
}
|
||||
else {
|
||||
this.ui.proxyOptions.slideUp();
|
||||
}
|
||||
},
|
||||
|
||||
_setSslOptionsVisibility : function() {
|
||||
|
||||
var showSslOptions = this.ui.sslToggle.prop('checked');
|
||||
|
@@ -162,6 +162,114 @@
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>Proxy Settings</legend>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">Use Proxy</label>
|
||||
|
||||
<div class="col-sm-8">
|
||||
<div class="input-group">
|
||||
<label class="checkbox toggle well">
|
||||
<input type="checkbox" name="proxyEnabled" class="form-control x-proxy"/>
|
||||
|
||||
<p>
|
||||
<span>Yes</span>
|
||||
<span>No</span>
|
||||
</p>
|
||||
|
||||
<div class="btn btn-primary slide-button"/>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="x-proxy-settings">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">Proxy Type</label>
|
||||
|
||||
<div class="col-sm-4">
|
||||
<select name="proxyType" class="form-control">
|
||||
<option value="http" selected="selected">HTTP(S)</option>
|
||||
<option value="socks4">Socks4</option>
|
||||
<option value="socks5">Socks5 (This option supports Tor)</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">Hostname</label>
|
||||
|
||||
<div class="col-sm-4">
|
||||
<input type="text" placeholder="localhost" name="proxyHostname" class="form-control"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">Port</label>
|
||||
|
||||
<div class="col-sm-4">
|
||||
<input type="number" placeholder="8080" name="proxyPort" class="form-control"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">Username</label>
|
||||
|
||||
<div class="col-sm-1 col-sm-push-4 help-inline">
|
||||
<i class="icon-sonarr-form-info" title="You only need to enter a username and password if one is required. Leave them blank otherwise."/>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-4 col-sm-pull-1">
|
||||
<input type="text" name="proxyUsername" class="form-control"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">Password</label>
|
||||
|
||||
<div class="col-sm-1 col-sm-push-4 help-inline">
|
||||
<i class="icon-sonarr-form-info" title="You only need to enter a username and password if one is required. Leave them blank otherwise."/>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-4 col-sm-pull-1">
|
||||
<input type="password" name="proxyPassword" class="form-control"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">Addresses for the proxy to ignore</label>
|
||||
|
||||
<div class="col-sm-1 col-sm-push-4 help-inline">
|
||||
<i class="icon-sonarr-form-info" title="Use ';' as a separator"/>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-4 col-sm-pull-1">
|
||||
<input type="text" name="proxySubnetFilter" class="form-control"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">Bypass Proxy for Local Addresses?</label>
|
||||
|
||||
<div class="col-sm-8">
|
||||
<div class="input-group">
|
||||
<label class="checkbox toggle well">
|
||||
<input type="checkbox" name="proxyBypassLocalAddresses" class="form-control"/>
|
||||
|
||||
<p>
|
||||
<span>Yes</span>
|
||||
<span>No</span>
|
||||
</p>
|
||||
|
||||
<div class="btn btn-primary slide-button"/>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>Logging</legend>
|
||||
|
Reference in New Issue
Block a user