mirror of
https://github.com/RSS-Bridge/rss-bridge.git
synced 2025-01-18 06:38:19 +01:00
227 lines
17 KiB
HTML
227 lines
17 KiB
HTML
<!DOCTYPE html>
|
||
<html class="no-js" lang="en">
|
||
<head>
|
||
<title>Authentication - RSS-Bridge</title>
|
||
<meta name="description" content="The RSS feed for websites missing it">
|
||
<meta name="author" content="RSS-Bridge Contributors">
|
||
<meta charset="UTF-8">
|
||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||
|
||
<link rel="icon" href="../themes/daux/img/favicon-blue.png" type="image/x-icon">
|
||
|
||
<!-- Mobile -->
|
||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
|
||
<!-- JS -->
|
||
<script>
|
||
window.base_url = "../";
|
||
document.documentElement.classList.remove('no-js');
|
||
</script>
|
||
|
||
<!-- Font -->
|
||
|
||
<!-- CSS -->
|
||
<link href='../themes/daux/css/theme-blue.min.css' rel='stylesheet' type='text/css'>
|
||
<link href='../daux_libraries/search.css' rel='stylesheet' type='text/css'>
|
||
</head>
|
||
<body class="">
|
||
<div class="Columns content">
|
||
<aside class="Columns__left Collapsible">
|
||
<button type="button" class="Button Collapsible__trigger" aria-controls="sidebar_content" aria-expanded="false" aria-label="Toggle navigation">
|
||
<span class="Collapsible__trigger__bar"></span>
|
||
<span class="Collapsible__trigger__bar"></span>
|
||
<span class="Collapsible__trigger__bar"></span>
|
||
</button>
|
||
|
||
<a class="Brand" href="../index.html">RSS-Bridge</a>
|
||
|
||
<form role='search' action="/" method="get" class="Search" id="search_form">
|
||
<label for="search_input">
|
||
<span class='u-visuallyHidden'>Search</span>
|
||
</label>
|
||
<input
|
||
type="search"
|
||
id="search_input"
|
||
class="Search__field"
|
||
placeholder="Search..."
|
||
aria-label="Search..."
|
||
autocomplete="on"
|
||
results=25
|
||
autosave=text_search
|
||
>
|
||
<label>
|
||
<input type="submit" class='u-visuallyHidden' />
|
||
<span class='u-visuallyHidden'>Search...</span>
|
||
<svg class="Search__icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 451 451">
|
||
<path d="M447.05 428l-109.6-109.6c29.4-33.8 47.2-77.9 47.2-126.1C384.65 86.2 298.35 0 192.35 0 86.25 0 .05 86.3.05 192.3s86.3 192.3 192.3 192.3c48.2 0 92.3-17.8 126.1-47.2L428.05 447c2.6 2.6 6.1 4 9.5 4s6.9-1.3 9.5-4c5.2-5.2 5.2-13.8 0-19zM26.95 192.3c0-91.2 74.2-165.3 165.3-165.3 91.2 0 165.3 74.2 165.3 165.3s-74.1 165.4-165.3 165.4c-91.1 0-165.3-74.2-165.3-165.4z"/>
|
||
</svg>
|
||
</label>
|
||
</form>
|
||
|
||
<div class="Collapsible__content" id="sidebar_content">
|
||
<!-- Navigation -->
|
||
<ul class='Nav'><li class='Nav__item has-children'><a href="../General/Project_goals.html" class="Nav__item__link"><i class="Nav__arrow"> </i>General</a><ul class='Nav'><li class='Nav__item '><a href="../General/Project_goals.html">Project-goals</a></li><li class='Nav__item '><a href="../General/Contribute.html">Contribute</a></li><li class='Nav__item '><a href="../General/Requirements.html">Requirements</a></li><li class='Nav__item '><a href="../General/Screenshots.html">Screenshots</a></li><li class='Nav__item '><a href="../General/FAQ.html">FAQ</a></li><li class='Nav__item '><a href="../General/Public_Hosts.html">Public Hosts</a></li></ul></li><li class='Nav__item '><a href="../CLI/index.html" class="Nav__item__link"><i class="Nav__arrow"> </i>CLI</a><ul class='Nav'></ul></li><li class='Nav__item Nav__item--open has-children'><a href="../For_Hosts/index.html" class="Nav__item__link"><i class="Nav__arrow"> </i>For Hosts</a><ul class='Nav'><li class='Nav__item '><a href="../For_Hosts/Installation.html">Installation</a></li><li class='Nav__item '><a href="../For_Hosts/Updating.html">Updating</a></li><li class='Nav__item '><a href="../For_Hosts/Docker_Installation.html">Docker Installation</a></li><li class='Nav__item '><a href="../For_Hosts/Heroku_Installation.html">Heroku Installation</a></li><li class='Nav__item '><a href="../For_Hosts/Whitelisting.html">Whitelisting</a></li><li class='Nav__item Nav__item--active'><a href="../For_Hosts/Authentication.html">Authentication</a></li><li class='Nav__item '><a href="../For_Hosts/Customizations.html">Customizations</a></li><li class='Nav__item '><a href="../For_Hosts/Custom_Configuration.html">Custom Configuration</a></li></ul></li><li class='Nav__item has-children'><a href="../For_Developers/index.html" class="Nav__item__link"><i class="Nav__arrow"> </i>For Developers</a><ul class='Nav'><li class='Nav__item '><a href="../For_Developers/Coding_style_policy.html">Coding style policy</a></li><li class='Nav__item '><a href="../For_Developers/Pull_Request_policy.html">Pull Request policy</a></li><li class='Nav__item '><a href="../For_Developers/Folder_structure.html">Folder structure</a></li><li class='Nav__item '><a href="../For_Developers/Actions.html">Actions</a></li><li class='Nav__item '><a href="../For_Developers/Debug_mode.html">Debug mode</a></li><li class='Nav__item '><a href="../For_Developers/Github_Codespaces_Tutorial.html">Github Codespaces Tutorial</a></li><li class='Nav__item '><a href="../For_Developers/Development_Environment_Setup.html">Development Environment Setup</a></li></ul></li><li class='Nav__item has-children'><a href="../Bridge_API/index.html" class="Nav__item__link"><i class="Nav__arrow"> </i>Bridge API</a><ul class='Nav'><li class='Nav__item '><a href="../Bridge_API/How_to_create_a_new_bridge.html">How to create a new bridge</a></li><li class='Nav__item '><a href="../Bridge_API/BridgeAbstract.html">BridgeAbstract</a></li><li class='Nav__item '><a href="../Bridge_API/FeedExpander.html">FeedExpander</a></li><li class='Nav__item '><a href="../Bridge_API/XPathAbstract.html">XPathAbstract</a></li></ul></li><li class='Nav__item '><a href="../Helper_functions/index.html" class="Nav__item__link"><i class="Nav__arrow"> </i>Helper functions</a><ul class='Nav'></ul></li><li class='Nav__item has-children'><a href="../Cache_API/index.html" class="Nav__item__link"><i class="Nav__arrow"> </i>Cache API</a><ul class='Nav'><li class='Nav__item '><a href="../Cache_API/How_to_create_a_new_cache.html">How to create a new cache</a></li><li class='Nav__item '><a href="../Cache_API/CacheInterface.html">CacheInterface</a></li></ul></li><li class='Nav__item has-children'><a href="../Format_API/index.html" class="Nav__item__link"><i class="Nav__arrow"> </i>Format API</a><ul class='Nav'><li class='Nav__item '><a href="../Format_API/How_to_create_a_new_format.html">How to create a new format</a></li><li class='Nav__item '><a href="../Format_API/FormatInterface.html">FormatInterface</a></li></ul></li><li class='Nav__item '><a href="../Technical_recommendations/index.html" class="Nav__item__link"><i class="Nav__arrow"> </i>Technical recommendations</a><ul class='Nav'></ul></li><li class='Nav__item has-children'><a href="../Bridge_Specific/ActivityPub_(Mastodon).html" class="Nav__item__link"><i class="Nav__arrow"> </i>Bridge Specific</a><ul class='Nav'><li class='Nav__item '><a href="../Bridge_Specific/ActivityPub_(Mastodon).html">ActivityPub (Mastodon)</a></li><li class='Nav__item '><a href="../Bridge_Specific/FacebookBridge.html">FacebookBridge</a></li><li class='Nav__item '><a href="../Bridge_Specific/FurAffinityBridge.html">FurAffinityBridge</a></li><li class='Nav__item '><a href="../Bridge_Specific/Furaffinityuser.html">Furaffinityuser</a></li><li class='Nav__item '><a href="../Bridge_Specific/Instagram.html">Instagram</a></li><li class='Nav__item '><a href="../Bridge_Specific/PixivBridge.html">PixivBridge</a></li><li class='Nav__item '><a href="../Bridge_Specific/TwitterV2.html">TwitterV2</a></li></ul></li></ul>
|
||
<div class="Links">
|
||
<hr/>
|
||
<a href="https://github.com/RSS-Bridge/rss-bridge" target="_blank" rel="noopener noreferrer">GitHub Repository</a>
|
||
<br />
|
||
<a href="https://github.com/RSS-Bridge/rss-bridge/issues" target="_blank" rel="noopener noreferrer">Help/Support/Bugs</a>
|
||
<br />
|
||
<a href="https://github.com/RSS-Bridge/rss-bridge/pkgs/container/rss-bridge" target="_blank" rel="noopener noreferrer">Docker Images</a>
|
||
<br />
|
||
</div>
|
||
|
||
<div class="CodeToggler">
|
||
<hr/>
|
||
<label class="Checkbox">Show Code Blocks <input type="checkbox" class="CodeToggler__button--main" checked="checked"/>
|
||
<div class="Checkbox__indicator"></div>
|
||
</label>
|
||
</div>
|
||
|
||
<div class="DarkModeToggler">
|
||
<hr/>
|
||
<label class="Checkbox">Dark Mode <input type="checkbox" class="ColorMode__button" />
|
||
<div class="Checkbox__indicator"></div>
|
||
</label>
|
||
</div>
|
||
|
||
|
||
<div class="PoweredBy">
|
||
<hr/>
|
||
Powered by Daux.io </div>
|
||
</div>
|
||
</aside>
|
||
<div class="Columns__right">
|
||
<div class="Columns__right__content">
|
||
<div class="doc_content">
|
||
<article class="Page">
|
||
|
||
<div class="Page__header">
|
||
<h1><a href="../For_Hosts/index.html">For Hosts</a> <svg class="Page__header--separator" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 477.175 477.175"><path d="M360.73 229.075l-225.1-225.1c-5.3-5.3-13.8-5.3-19.1 0s-5.3 13.8 0 19.1l215.5 215.5-215.5 215.5c-5.3 5.3-5.3 13.8 0 19.1 2.6 2.6 6.1 4 9.5 4 3.4 0 6.9-1.3 9.5-4l225.1-225.1c5.3-5.2 5.3-13.8.1-19z"/></svg> <a href="../For_Hosts/Authentication.html">Authentication</a></h1>
|
||
<span class="ModifiedDate">
|
||
September 6, 2023 at 7:16 AM </span>
|
||
<span class="EditOn">
|
||
<a href="https://github.com/RSS-Bridge/rss-bridge/tree/master/docs/03_For_Hosts/06_Authentication.md" target="_blank">
|
||
Edit on GitHub </a>
|
||
</span>
|
||
</div>
|
||
|
||
<div class="s-content">
|
||
<p>Depending on your servers abilities you can choose between two types of authentication:</p>
|
||
<ul>
|
||
<li>
|
||
<a href="#htaccess">.htaccess</a>
|
||
</li>
|
||
<li>
|
||
<a href="#rss-bridge-authentication">RSS-Bridge Authentication</a>
|
||
</li>
|
||
</ul>
|
||
<p><strong>General advice</strong>:</p>
|
||
<ul>
|
||
<li>Make sure to use a strong password, no matter which solution you choose!</li>
|
||
<li>Enable HTTPS on your server to ensure your connection is encrypted and secure!</li>
|
||
</ul>
|
||
<h2><a id="htaccess" href="#htaccess" class="Permalink" aria-hidden="true" title="Permalink">#</a>.htaccess</h2>
|
||
<p>.htaccess files are commonly used to restrict access to files on a web server. One of the features of .htaccess files is the ability to password protect specific (or all) directories. If setup correctly, a password is required to access the files.</p>
|
||
<p>The usage of .htaccess files requires three basic steps:</p>
|
||
<ol>
|
||
<li>
|
||
<a href="#enable-htaccess">Enable .htaccess</a>
|
||
</li>
|
||
<li>
|
||
<a href="#create-a-htpasswd-file">Create a .htpasswd file</a>
|
||
</li>
|
||
<li>
|
||
<a href="#create-a-htaccess-file">Create a .htaccess file</a>
|
||
</li>
|
||
</ol>
|
||
<h3><a id="enable-htaccess" href="#enable-htaccess" class="Permalink" aria-hidden="true" title="Permalink">#</a>Enable .htaccess</h3>
|
||
<p>This process depends on the server you are using. Some providers may require you to change some settings, or place/change some file. Here are some helpful links for your server (please add your own if missing :sparkling_heart:)</p>
|
||
<ul>
|
||
<li>Apache: <a href="http://ask.xmodulo.com/enable-htaccess-apache.html" class="Link--external" rel="noopener noreferrer">http://ask.xmodulo.com/enable-htaccess-apache.html</a>
|
||
</li>
|
||
</ul>
|
||
<h3><a id="create-a-htpasswd-file" href="#create-a-htpasswd-file" class="Permalink" aria-hidden="true" title="Permalink">#</a>Create a .htpasswd file</h3>
|
||
<p>The <code>.htpasswd</code> file contains the user name and password used for login to your web server. Please notice that the password is stored in encrypted form, which requires you to encrypt your password before creating the <code>.htpasswd</code> file!</p>
|
||
<p>Here are three ways of creating your own <code>.htpasswd</code> file:</p>
|
||
<p><strong>1) Example file</strong></p>
|
||
<p>Example <code>.htpasswd</code> file (user name: “test”, password: “test”):</p>
|
||
<pre><code class="language-.htpasswd">test:$apr1$a52u9ILP$XTNG8qMJiEXSm1zD0lQcR0
|
||
</code></pre>
|
||
<p>Just copy and paste the contents to your <code>.htpasswd</code> file.</p>
|
||
<p><strong>2) Online generator (read warning!)</strong></p>
|
||
<p>You can create your own <code>.htpasswd</code> file online using a <code>.htpasswd</code> generator like this: <a href="https://www.htaccesstools.com/htpasswd-generator/" class="Link--external" rel="noopener noreferrer">https://www.htaccesstools.com/htpasswd-generator/</a></p>
|
||
<p><strong>WARNING!</strong></p>
|
||
<ul>
|
||
<li>Never insert real passwords to an online generator!</li>
|
||
</ul>
|
||
<p><strong>3) Generate your own password</strong></p>
|
||
<p>Another way to create your own <code>.htpasswd</code> file is to run this script on your server (it’ll output the data for you, you just have to paste it int a <code>.htpasswd</code> file):</p>
|
||
<pre><code class="language-PHP"><?php
|
||
// Password to be encrypted for a .htpasswd file
|
||
$clearTextPassword = 'some password';
|
||
|
||
// Encrypt password
|
||
$password = crypt($clearTextPassword, base64_encode($clearTextPassword));
|
||
|
||
// Print encrypted password
|
||
echo $password;
|
||
?>
|
||
</code></pre>
|
||
<blockquote>
|
||
<p>source: <a href="https://www.htaccesstools.com/articles/create-password-for-htpasswd-file-using-php/" class="Link--external" rel="noopener noreferrer">https://www.htaccesstools.com/articles/create-password-for-htpasswd-file-using-php/</a></p>
|
||
</blockquote>
|
||
<h3><a id="create-a-htaccess-file" href="#create-a-htaccess-file" class="Permalink" aria-hidden="true" title="Permalink">#</a>Create a .htaccess file</h3>
|
||
<p>The <code>.htaccess</code> file is used to specify which directories are password protected. For that purpose you should place the file in whatever directory you want to restrict access. If you want to restrict access to RSS-Bridge in general, you should place the file in the root directory (where <code>index.php</code> is located).</p>
|
||
<p>Two parameters must be specified in the <code>.htaccess</code> file:</p>
|
||
<ul>
|
||
<li>AuthName</li>
|
||
<li>AuthUserFile</li>
|
||
</ul>
|
||
<p><code>AuthName</code> specifies the name of the authentication (i.e. “RSS-Bridge”). <code>AuthUserFile</code> defines the <strong>absolute</strong> path to a <code>.htpasswd</code> file.</p>
|
||
<p>Here are two ways of creating your own <code>.htaccess</code> file:</p>
|
||
<p><strong>1) Example file</strong></p>
|
||
<pre><code class="language-.htaccess">AuthType Basic
|
||
AuthName "My Protected Area"
|
||
AuthUserFile /path/to/.htpasswd
|
||
Require valid-user
|
||
</code></pre>
|
||
<p>Notice: You must change the <code>AuthUserFile</code> location to fit your own server (i.e. <code>/var/www/html/rss-bridge/.htpasswd</code>)</p>
|
||
<p><strong>2) Online generator</strong></p>
|
||
<p>You can use an online generator to create the file for you and copy-paste it to your <code>.htaccess</code> file: <a href="https://www.htaccesstools.com/htaccess-authentication/" class="Link--external" rel="noopener noreferrer">https://www.htaccesstools.com/htaccess-authentication/</a></p>
|
||
<h2><a id="rss-bridge-authentication" href="#rss-bridge-authentication" class="Permalink" aria-hidden="true" title="Permalink">#</a>RSS-Bridge Authentication</h2>
|
||
<p>RSS-Bridge ships with an authentication module designed for single user environments. You can enable authentication and specify the username & password in the <a href="Custom_Configuration.html#authentication">configuration file</a>.</p>
|
||
<p>Please notice that the password is stored in plain text and thus is readable to anyone who can access the file. Make sure to restrict access to the file, so that it cannot be read remotely!</p>
|
||
</div>
|
||
|
||
<nav>
|
||
<ul class="Pager">
|
||
<li class=Pager--prev><a href="../For_Hosts/Whitelisting.html">Previous</a></li> <li class=Pager--next><a href="../For_Hosts/Customizations.html">Next</a></li> </ul>
|
||
</nav>
|
||
</article>
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<!-- JS -->
|
||
<script src="../themes/daux/js/daux.min.js"></script>
|
||
|
||
<script>
|
||
|
||
window.searchLanguage = "";
|
||
window.searchTranslation = {"Search_one_result":"1 result","Search_results":"!count results","Search_no_results":"Nothing found","Search_common_words_ignored":"Common words are largely ignored","Search_too_short":"Search too short","Search_one_character_or_more":"Should be one character or more","Search_should_be_x_or_more":"Should be !min characters or more","Link_previous":"Previous","Link_next":"Next"};
|
||
</script>
|
||
|
||
<!-- Search -->
|
||
<script type="text/javascript" src="../daux_libraries/search.min.js"></script>
|
||
|
||
<script>
|
||
window.search({'base_url': '../'})
|
||
</script>
|
||
</body>
|
||
</html>
|