Remove references to, and integrations with, 'tt-rss.org'.

This commit is contained in:
supahgreg 2025-10-03 21:00:43 +00:00
parent c67b943aa8
commit 5e99eb41ec
18 changed files with 40 additions and 70 deletions

View File

@ -59,7 +59,7 @@ ADD .docker/app/config.docker.php ${SCRIPT_ROOT}
COPY . ${SRC_DIR}
ARG ORIGIN_REPO_XACCEL=https://git.tt-rss.org/fox/ttrss-nginx-xaccel.git
ARG ORIGIN_REPO_XACCEL=https://github.com/supahgreg/tt-rss-plugin-nginx-xaccel.git
RUN git clone --depth=1 ${ORIGIN_REPO_XACCEL} ${SRC_DIR}/plugins.local/nginx_xaccel

View File

@ -1,39 +1 @@
## Contributing code the right way
TLDR: it works *almost* like Github.
Due to spam, new Gitlab users are set to [external](https://docs.gitlab.com/ee/user/admin_area/external_users.html). In order to do anything, you'll need to ask for your account to be promoted. Sorry for the inconvenience.
1. Register on the [Gitlab](https://gitlab.tt-rss.org);
2. Post on the forums asking for your account to be promoted;
3. Fork the repository you're interested in;
4. Do the needful;
6. File a PR against master branch and verify that CI pipeline (especially, PHPStan) passes;
If you have any other questions, see this [forum thread](https://discourse.tt-rss.org/t/how-to-contribute-code-via-pull-requests-on-git-tt-rss-org/1850).
Please don't inline patches in forum posts, attach files instead (``.patch`` or ``.diff`` file extensions should work).
### FAQ
#### How do I push or pull without SSH?
You can't use SSH directly because tt-rss Gitlab is behind Cloudflare. You can use HTTPS with personal access tokens instead.
Create a personal access token in [Gitlab preferences](https://gitlab.tt-rss.org/-/user_settings/personal_access_tokens);
Optionally, configure Git to transparently work with tt-rss Gitlab repositories using HTTPS:
```
git config --global \
--add url."https://gitlab-token:your-personal-access-token@gitlab.tt-rss.org/".insteadOf \
"git@gitlab.tt-rss.org:"
```
Alternatively, checkout over HTTPS while adding the token manually:
```
git clone https://gitlab-token:your-personal-access-token@gitlab.tt-rss.org/tt-rss/tt-rss.git tt-rss
```
That's it.
TBD

View File

@ -1,10 +1,19 @@
Tiny Tiny RSS
=============
Tiny Tiny RSS (tt-rss)
======================
Web-based news feed aggregator, designed to allow you to read news from
Web-based news feed aggregator, designed to allow you to read news from
any location, while feeling as close to a real desktop application as possible.
http://tt-rss.org
## Some notes
* The original tt-rss project, hosted at https://tt-rss.org/ and its various subdomains, [will be gone after 2025-11-01](https://community.tt-rss.org/t/the-end-of-tt-rss-org/7164).
* Massive thanks to fox for maintaining tt-rss (and absolutely everything else that went along with it) for so many years.
* https://github.com/supahgreg/tt-rss is a fork of tt-rss as of 2025-10-03, created by one of its long-time contributors (`wn` on `tt-rss.org`, `supahgreg` on GitHub).
* For now, just treat this as a slightly-tweaked mirror of the original project (initially just removing `tt-rss.org` references and integrations).
* Plugins that were under https://gitlab.tt-rss.org/tt-rss/plugins have been mirrored to `https://github.com/supahgreg/tt-rss-plugin-*` (NOTE: names have changed)
* The repository that held the content for https://tt-rss.org has been mirrored to https://github.com/supahgreg/tt-rss-web-static.
## License
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by

View File

@ -272,7 +272,7 @@ class Config {
Config::CHECK_FOR_PLUGIN_UPDATES => [ "true", Config::T_BOOL ],
Config::ENABLE_PLUGIN_INSTALLER => [ "true", Config::T_BOOL ],
Config::AUTH_MIN_INTERVAL => [ 5, Config::T_INT ],
Config::HTTP_USER_AGENT => [ 'Tiny Tiny RSS/%s (https://tt-rss.org/)',
Config::HTTP_USER_AGENT => [ 'Tiny Tiny RSS/%s (https://github.com/supahgreg/tt-rss)',
Config::T_STRING ],
Config::HTTP_429_THROTTLE_INTERVAL => [ 3600, Config::T_INT ],
Config::DISABLE_LOGIN_FORM => [ "", Config::T_BOOL ],
@ -632,8 +632,8 @@ class Config {
<?php foreach ($errors as $error) { echo self::format_error($error); } ?>
<p>You might want to check the tt-rss <a target="_blank" href="https://tt-rss.org/wiki/InstallationNotes/">wiki</a> or
<a target="_blank" href="https://community.tt-rss.org/">forums</a> for more information. Please search the forums before creating a new topic
<p>You might want to check the tt-rss <a target="_blank" href="https://github.com/supahgreg/tt-rss-web-static/blob/main/docs/wiki/InstallationNotes.md">wiki</a> or
<a target="_blank" href="https://github.com/supahgreg/tt-rss/discussions">discussions</a> for more information. Please search before creating a new topic
for your question.</p>
</div>
</body>

View File

@ -647,7 +647,7 @@ class Pref_Prefs extends Handler_Protected {
<?= \Controls\button_tag(\Controls\icon("palette") . " " . __("Customize"), "",
["onclick" => "Helpers.Prefs.customizeCSS()"]) ?>
<?= \Controls\button_tag(\Controls\icon("open_in_new") . " " . __("More themes..."), "",
["class" => "alt-info", "onclick" => "window.open(\"https://tt-rss.org/Themes/\")"]) ?>
["class" => "alt-info", "onclick" => "window.open(\"https://github.com/supahgreg/tt-rss-web-static/blob/main/docs/Themes.md\")"]) ?>
<?php
@ -713,7 +713,7 @@ class Pref_Prefs extends Handler_Protected {
print \Controls\button_tag(\Controls\icon("help") . " " . __("More info..."), "", [
"class" => "alt-info",
"onclick" => "window.open('https://tt-rss.org/wiki/SSL%20Certificate%20Authentication')"]);
"onclick" => "window.open('https://github.com/supahgreg/tt-rss-web-static/blob/main/docs/wiki/SSL%20Certificate%20Authentication.md')"]);
} else if ($pref_name == Prefs::DIGEST_PREFERRED_TIME) {
print "<input dojoType=\"dijit.form.ValidationTextBox\"
@ -878,7 +878,7 @@ class Pref_Prefs extends Handler_Protected {
print_error(
T_sprintf("The following plugins use per-feed content hooks. This may cause excessive data usage and origin server load resulting in a ban of your instance: <b>%s</b>" ,
implode(", ", array_map(fn($plugin) => get_class($plugin), $feed_handlers))
) . " (<a href='https://tt-rss.org/wiki/FeedHandlerPlugins' target='_blank'>".__("More info...")."</a>)"
) . " (<a href='https://github.com/supahgreg/tt-rss-web-static/blob/main/docs/wiki/FeedHandlerPlugins.md' target='_blank'>".__("More info...")."</a>)"
);
}
?> -->
@ -890,7 +890,7 @@ class Pref_Prefs extends Handler_Protected {
</div>
<div dojoType="dijit.layout.ContentPane" region="bottom">
<button dojoType='dijit.form.Button' class="alt-info pull-right" onclick='window.open("https://tt-rss.org/Plugins/")'>
<button dojoType='dijit.form.Button' class="alt-info pull-right" onclick='window.open("https://github.com/supahgreg/tt-rss-web-static/blob/main/docs/Plugins.md")'>
<i class='material-icons'>help</i>
<?= __("More info") ?>
</button>
@ -1274,8 +1274,10 @@ class Pref_Prefs extends Handler_Protected {
* @return array<int, array{'name': string, 'description': string, 'topics': array<int, string>, 'html_url': string, 'clone_url': string, 'last_update': string}>
*/
private function _get_available_plugins(): array {
// TODO: Get this working again. https://tt-rss.org/plugins.json won't exist after 2025-11-01 (probably).
if ($_SESSION["access_level"] >= UserHelper::ACCESS_LEVEL_ADMIN && Config::get(Config::ENABLE_PLUGIN_INSTALLER)) {
$content = json_decode(UrlHelper::fetch(['url' => 'https://tt-rss.org/plugins.json']), true);
// $content = json_decode(UrlHelper::fetch(['url' => 'https://tt-rss.org/plugins.json']), true);
$content = false;
if ($content) {
return $content;

View File

@ -324,8 +324,10 @@ class RPC extends Handler_Protected {
$git_timestamp = $version["timestamp"] ?? false;
$git_commit = $version["commit"] ?? false;
// TODO: Get this working again. https://tt-rss.org/version.json won't exist after 2025-11-01 (probably).
if (Config::get(Config::CHECK_FOR_UPDATES) && $_SESSION["access_level"] >= UserHelper::ACCESS_LEVEL_ADMIN && $git_timestamp) {
$content = @UrlHelper::fetch(["url" => "https://tt-rss.org/version.json"]);
// $content = @UrlHelper::fetch(["url" => "https://tt-rss.org/version.json"]);
$content = false;
if ($content) {
$content = json_decode($content, true);

View File

@ -1989,8 +1989,6 @@ class RSSUtils {
}
/**
* @see https://community.tt-rss.org/t/problem-with-img-srcset/3519
*
* @return array<int, array<string, string>> An array of srcset subitem arrays with keys "url" and "size"
*/
static function decode_srcset(string $srcset): array {

View File

@ -9,7 +9,7 @@
{
"name": "j4mie/idiorm",
"type": "vcs",
"url": "https://git.tt-rss.org/fox/idiorm.git"
"url": "https://github.com/supahgreg/tt-rss-idiorm.git"
}
],
"autoload": {

2
composer.lock generated
View File

@ -560,7 +560,7 @@
"version": "dev-master",
"source": {
"type": "git",
"url": "https://dev.tt-rss.org/fox/idiorm.git",
"url": "https://github.com/supahgreg/tt-rss-idiorm.git",
"reference": "efc8ea06698f53e2c479c7696f2b154c47c3a3cb"
},
"require": {

View File

@ -13,6 +13,6 @@
etc.
See this page for more information: https://tt-rss.org/wiki/GlobalConfig
See this page for more information: https://github.com/supahgreg/tt-rss-web-static/blob/main/docs/wiki/GlobalConfig.md
*/

View File

@ -329,7 +329,7 @@
}
/** Convert values accepted by tt-rss as true/false to PHP booleans
* @see https://tt-rss.org/ApiReference/#boolean-values
* @see https://github.com/supahgreg/tt-rss-web-static/blob/main/docs/ApiReference.md#boolean-values
* @param null|string $s null values are considered false
*/
function sql_bool_to_bool(?string $s): bool {

View File

@ -211,8 +211,7 @@
</div>
<div class="footer">
<a href="https://tt-rss.org/">Tiny Tiny RSS</a>
&copy; 2005&ndash;<?= date('Y') ?> <a href="https://fakecake.org/">Andrew Dolgov</a>
<a href="https://github.com/supahgreg/tt-rss">Tiny Tiny RSS</a>
</div>
</div>

View File

@ -690,7 +690,7 @@ const CommonDialogs = {
</section>
<footer>
<button dojoType='dijit.form.Button' style='float : left' class='alt-info'
onclick='window.open("https://tt-rss.org/wiki/GeneratedFeeds")'>
onclick='window.open("https://github.com/supahgreg/tt-rss-web-static/blob/main/docs/wiki/GeneratedFeeds.md")'>
<i class='material-icons'>help</i> ${__("More info...")}</button>
<button dojoType='dijit.form.Button' onclick="return App.dialogOf(this).regenFeedKey('${feed}', '${is_cat}')">
${App.FormFields.icon("refresh")}

View File

@ -226,7 +226,7 @@ const Filters = {
<footer>
${App.FormFields.button_tag(App.FormFields.icon("help") + " " + __("More info"), "", {class: 'pull-left alt-info',
onclick: "window.open('https://tt-rss.org/wiki/ContentFilters')"})}
onclick: "window.open('https://github.com/supahgreg/tt-rss-web-static/blob/main/docs/wiki/ContentFilters.md')"})}
${App.FormFields.submit_tag(App.FormFields.icon("save") + " " + __("Save"), {onclick: "App.dialogOf(this).execute()"})}
${App.FormFields.cancel_dialog_tag(__("Cancel"))}
</footer>

View File

@ -658,7 +658,7 @@ const Feeds = {
<footer>
${reply.show_syntax_help ?
`${App.FormFields.button_tag(App.FormFields.icon("help") + " " + __("Search syntax"), "",
{class: 'alt-info pull-left', onclick: "window.open('https://tt-rss.org/wiki/SearchSyntax')"})}
{class: 'alt-info pull-left', onclick: "window.open('https://github.com/supahgreg/tt-rss-web-static/blob/main/docs/wiki/SearchSyntax.md')"})}
` : ''}
${App.FormFields.submit_tag(App.FormFields.icon("search") + " " + __('Search'), {onclick: "App.dialogOf(this).execute()"})}

View File

@ -9,7 +9,7 @@ class Bookmarklets extends Plugin {
"Easy feed subscription and web page sharing using bookmarklets",
"fox",
false,
"https://tt-rss.org/wiki/ShareAnything");
"https://github.com/supahgreg/tt-rss-web-static/blob/main/docs/wiki/ShareAnything.md");
}
function init($host) {
@ -371,7 +371,7 @@ class Bookmarklets extends Plugin {
</label>
<?= \Controls\button_tag(\Controls\icon("help") . " " . __("More info..."), "",
["class" => 'alt-info', "onclick" => "window.open('https://tt-rss.org/wiki/ShareAnything')"]) ?>
["class" => 'alt-info', "onclick" => "window.open('https://github.com/supahgreg/tt-rss-web-static/blob/main/docs/wiki/ShareAnything.md')"]) ?>
</div>

View File

@ -161,10 +161,8 @@
?>
</div>
<div id="footer" dojoType="dijit.layout.ContentPane" region="bottom">
<a class="text-muted" target="_blank" href="https://tt-rss.org/">Tiny Tiny RSS</a>
<a class="text-muted" target="_blank" href="https://github.com/supahgreg/tt-rss">Tiny Tiny RSS</a>
<span>v<?= Config::get_version_html() ?></span>
&copy; 2005-<?= date('Y') ?>
<a class="text-muted" target="_blank" href="https://fakecake.org/">Andrew Dolgov</a>
</div>
</div>

View File

@ -2,7 +2,7 @@
<!-- $BeginBlock feed -->
<feed xmlns="http://www.w3.org/2005/Atom">
<title>${FEED_TITLE}</title>
<generator uri="http://tt-rss.org/">Tiny Tiny RSS/${VERSION}</generator>
<generator uri="https://github.com/supahgreg/tt-rss">Tiny Tiny RSS/${VERSION}</generator>
<updated>${FEED_UPDATED}</updated>
<id>${FEED_URL}</id>
<link href="${FEED_URL}" rel="self"/>