1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/rss-bridge_ynh.git synced 2024-09-03 20:25:51 +02:00

Merge pull request #37 from YunoHost-Apps/patch

set rights
This commit is contained in:
Éric Gaspar 2021-09-25 12:48:06 +02:00 committed by GitHub
commit 0b145832c5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 219 additions and 104 deletions

View file

@ -1,15 +1,31 @@
<!--
N.B.: This README was automatically generated by https://github.com/YunoHost/apps/tree/master/tools/README-generator
It shall NOT be edited by hand.
-->
# RSS-Bridge for YunoHost # RSS-Bridge for YunoHost
[![Integration level](https://dash.yunohost.org/integration/rss-bridge.svg)](https://dash.yunohost.org/appci/app/rss-bridge) ![](https://ci-apps.yunohost.org/ci/badges/rss-bridge.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/rss-bridge.maintain.svg) [![Integration level](https://dash.yunohost.org/integration/rss-bridge.svg)](https://dash.yunohost.org/appci/app/rss-bridge) ![](https://ci-apps.yunohost.org/ci/badges/rss-bridge.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/rss-bridge.maintain.svg)
[![Install RSS-Bridge with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=rss-bridge) [![Install RSS-Bridge with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=rss-bridge)
> *This package allow you to install RSS-Bridge quickly and simply on a YunoHost server. *[Lire ce readme en français.](./README_fr.md)*
If you don't have YunoHost, please see [here](https://yunohost.org/#/install) to know how to install and enjoy it.*
> *This package allows you to install RSS-Bridge quickly and simply on a YunoHost server.
If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/install) to learn how to install it.*
## Overview ## Overview
[RSS-Bridge](https://github.com/RSS-Bridge/rss-bridge) is a PHP project capable of generating ATOM feeds for websites which don't have one.
**Shipped version:** 2021-04-25 RSS and Atom feed generator for websites that don't have one.
**Shipped version:** 2021-04-25~ynh1
**Demo:** https://wtf.roflcopter.fr/rss-bridge/
## Screenshots
![](./doc/screenshots/screenshot_rss-bridge_welcome.png)
## Disclaimers / important information
### Supported sites/pages (main) ### Supported sites/pages (main)
@ -43,18 +59,6 @@ Output format can take several forms:
* `Html` : Simple html page. * `Html` : Simple html page.
* `Plaintext` : raw text (php object, as returned by print_r) * `Plaintext` : raw text (php object, as returned by print_r)
## Screenshots
![image](https://github.com/RSS-Bridge/rss-bridge/wiki/images/screenshot_rss-bridge_welcome.png)
RSS-Bridge hashtag (#rss-bridge) search on Twitter, in ATOM format (as displayed by Firefox):
![image](https://github.com/RSS-Bridge/rss-bridge/wiki/images/screenshot_twitterbridge_atom.png)
## Demo
* [Official demo](https://wtf.roflcopter.fr/rss-bridge/)
## Configuration ## Configuration
### Enabling/Disabling bridges ### Enabling/Disabling bridges
@ -67,42 +71,21 @@ By default, the script creates `whitelist.txt` and adds the main bridges (see ab
As a matter of simplicity, this YunoHost package enables every bridge by default. As a matter of simplicity, this YunoHost package enables every bridge by default.
## Documentation
* Official documentation: https://github.com/RSS-Bridge/rss-bridge/wiki
* YunoHost documentation: If specific documentation is needed, feel free to contribute.
## YunoHost specific features
#### Multi-users support #### Multi-users support
This is application is public and there's no notion of user. This is application is public and there's no notion of user.
#### Supported architectures ## Documentation and resources
* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/rss-bridge.svg)](https://ci-apps.yunohost.org/ci/apps/rss-bridge/) * Official app website: https://github.com/RSS-Bridge/rss-bridge
* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/rss-bridge.svg)](https://ci-apps-arm.yunohost.org/ci/apps/rss-bridge/) * Official admin documentation: https://github.com/RSS-Bridge/rss-bridge/wiki
* Upstream app code repository: https://github.com/RSS-Bridge/rss-bridge
* YunoHost documentation for this app: https://yunohost.org/app_rss-bridge
* Report a bug: https://github.com/YunoHost-Apps/rss-bridge_ynh/issues
## Limitations ## Developer info
* Any known limitations. Please send your pull request to the [testing branch](https://github.com/YunoHost-Apps/rss-bridge_ynh/tree/testing).
## Additional information
* Other information you would add about this application
## Links
* Report a bug: https://github.com/YunoHost-Apps/rss-bridge_ynh/issues
* App website: https://github.com/RSS-Bridge/rss-bridge
* Upstream app repository: https://github.com/RSS-Bridge/rss-bridge
* YunoHost website: https://yunohost.org/
---
## Developers info
Please do your pull request to the [testing branch](https://github.com/YunoHost-Apps/rss-bridge_ynh/tree/testing).
To try the testing branch, please proceed like that. To try the testing branch, please proceed like that.
``` ```
@ -110,3 +93,5 @@ sudo yunohost app install https://github.com/YunoHost-Apps/rss-bridge_ynh/tree/t
or or
sudo yunohost app upgrade rss-bridge -u https://github.com/YunoHost-Apps/rss-bridge_ynh/tree/testing --debug sudo yunohost app upgrade rss-bridge -u https://github.com/YunoHost-Apps/rss-bridge_ynh/tree/testing --debug
``` ```
**More info regarding app packaging:** https://yunohost.org/packaging_apps

93
README_fr.md Normal file
View file

@ -0,0 +1,93 @@
# RSS-Bridge pour YunoHost
[![Niveau d'intégration](https://dash.yunohost.org/integration/rss-bridge.svg)](https://dash.yunohost.org/appci/app/rss-bridge) ![](https://ci-apps.yunohost.org/ci/badges/rss-bridge.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/rss-bridge.maintain.svg)
[![Installer RSS-Bridge avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=rss-bridge)
*[Read this readme in english.](./README.md)*
*[Lire ce readme en français.](./README_fr.md)*
> *Ce package vous permet d'installer RSS-Bridge rapidement et simplement sur un serveur YunoHost.
Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour savoir comment l'installer et en profiter.*
## Vue d'ensemble
Générateur de flux RSS et Atom pour les sites Web qui n'en ont pas.
**Version incluse :** 2021-04-25~ynh1
**Démo :** https://wtf.roflcopter.fr/rss-bridge/
## Captures d'écran
![](./doc/screenshots/screenshot_rss-bridge_welcome.png)
## Avertissements / informations importantes
### Supported sites/pages (main)
* `FlickrExplore` : [Latest interesting images](http://www.flickr.com/explore) from Flickr
* `GoogleSearch` : Most recent results from Google Search
* `GooglePlus` : Most recent posts of user timeline
* `Twitter` : Return keyword/hashtag search or user timeline
* `Identi.ca` : Identica user timeline (Should be compatible with other Pump.io instances)
* `YouTube` : YouTube user channel, playlist or search
* `Cryptome` : Returns the most recent documents from [Cryptome.org](http://cryptome.org/)
* `DansTonChat`: Most recent quotes from [danstonchat.com](http://danstonchat.com/)
* `DuckDuckGo`: Most recent results from [DuckDuckGo.com](https://duckduckgo.com/)
* `Instagram`: Most recent photos from an Instagram user
* `OpenClassrooms`: Lastest tutorials from [fr.openclassrooms.com](http://fr.openclassrooms.com/)
* `Pinterest`: Most recent photos from user or search
* `ScmbBridge`: Newest stories from [secouchermoinsbete.fr](http://secouchermoinsbete.fr/)
* `Wikipedia`: highlighted articles from [Wikipedia](https://wikipedia.org/) in English, German, French or Esperanto
* `Bandcamp` : Returns last release from [bandcamp](https://bandcamp.com/) for a tag
* `ThePirateBay` : Returns the newest indexed torrents from [The Pirate Bay](https://thepiratebay.se/) with keywords
* `Facebook` : Returns the latest posts on a page or profile on [Facebook](https://facebook.com/)
Plus [many other bridges](bridges/) to enable, thanks to the community
### Output format
Output format can take several forms:
* `Atom` : ATOM Feed, for use in RSS/Feed readers
* `Mrss` : MRSS Feed, for use in RSS/Feed readers
* `Json` : Json, for consumption by other applications.
* `Html` : Simple html page.
* `Plaintext` : raw text (php object, as returned by print_r)
## Configuration
### Enabling/Disabling bridges
By default, the script creates `whitelist.txt` and adds the main bridges (see above). you can edit it:
* to enable extra bridges (one bridge per line)
* to disable main bridges (remove the line)
* to enable all bridges (just one wildcard `*` as file content)
As a matter of simplicity, this YunoHost package enables every bridge by default.
#### Multi-users support
This is application is public and there's no notion of user.
## Documentations et ressources
* Site officiel de l'app : https://github.com/RSS-Bridge/rss-bridge
* Documentation officielle de l'admin : https://github.com/RSS-Bridge/rss-bridge/wiki
* Dépôt de code officiel de l'app : https://github.com/RSS-Bridge/rss-bridge
* Documentation YunoHost pour cette app : https://yunohost.org/app_rss-bridge
* Signaler un bug : https://github.com/YunoHost-Apps/rss-bridge_ynh/issues
## Informations pour les développeurs
Merci de faire vos pull request sur la [branche testing](https://github.com/YunoHost-Apps/rss-bridge_ynh/tree/testing).
Pour essayer la branche testing, procédez comme suit.
```
sudo yunohost app install https://github.com/YunoHost-Apps/rss-bridge_ynh/tree/testing --debug
ou
sudo yunohost app upgrade rss-bridge -u https://github.com/YunoHost-Apps/rss-bridge_ynh/tree/testing --debug
```
**Plus d'infos sur le packaging d'applications :** https://yunohost.org/packaging_apps

View file

@ -1,7 +1,7 @@
;; Complete test ;; Complete test
; Manifest ; Manifest
domain="domain.tld" (DOMAIN) domain="domain.tld"
path="/path" (PATH) path="/path"
; Checks ; Checks
pkg_linter=1 pkg_linter=1
setup_sub_dir=1 setup_sub_dir=1
@ -10,12 +10,11 @@
setup_private=0 setup_private=0
setup_public=0 setup_public=0
upgrade=1 upgrade=1
upgrade=1 from_commit=7a99e018f12d91876c84efd04e0a4e7f178fdd80 upgrade=1 from_commit=3fbb92322907780bcda40792d6ddc652b1c9ff5c
backup_restore=1 backup_restore=1
multi_instance=1 multi_instance=1
port_already_use=0
change_url=1 change_url=1
;;; Upgrade options ;;; Upgrade options
; commit=7a99e018f12d91876c84efd04e0a4e7f178fdd80 ; commit=3fbb92322907780bcda40792d6ddc652b1c9ff5c
name=Upgrade to upstream version 2018-04-06 name=Merge pull request #35
manifest_arg=domain=DOMAIN&path=PATH& manifest_arg=domain=DOMAIN&path=PATH&

47
doc/DISCLAIMER.md Normal file
View file

@ -0,0 +1,47 @@
### Supported sites/pages (main)
* `FlickrExplore` : [Latest interesting images](http://www.flickr.com/explore) from Flickr
* `GoogleSearch` : Most recent results from Google Search
* `GooglePlus` : Most recent posts of user timeline
* `Twitter` : Return keyword/hashtag search or user timeline
* `Identi.ca` : Identica user timeline (Should be compatible with other Pump.io instances)
* `YouTube` : YouTube user channel, playlist or search
* `Cryptome` : Returns the most recent documents from [Cryptome.org](http://cryptome.org/)
* `DansTonChat`: Most recent quotes from [danstonchat.com](http://danstonchat.com/)
* `DuckDuckGo`: Most recent results from [DuckDuckGo.com](https://duckduckgo.com/)
* `Instagram`: Most recent photos from an Instagram user
* `OpenClassrooms`: Lastest tutorials from [fr.openclassrooms.com](http://fr.openclassrooms.com/)
* `Pinterest`: Most recent photos from user or search
* `ScmbBridge`: Newest stories from [secouchermoinsbete.fr](http://secouchermoinsbete.fr/)
* `Wikipedia`: highlighted articles from [Wikipedia](https://wikipedia.org/) in English, German, French or Esperanto
* `Bandcamp` : Returns last release from [bandcamp](https://bandcamp.com/) for a tag
* `ThePirateBay` : Returns the newest indexed torrents from [The Pirate Bay](https://thepiratebay.se/) with keywords
* `Facebook` : Returns the latest posts on a page or profile on [Facebook](https://facebook.com/)
Plus [many other bridges](bridges/) to enable, thanks to the community
### Output format
Output format can take several forms:
* `Atom` : ATOM Feed, for use in RSS/Feed readers
* `Mrss` : MRSS Feed, for use in RSS/Feed readers
* `Json` : Json, for consumption by other applications.
* `Html` : Simple html page.
* `Plaintext` : raw text (php object, as returned by print_r)
## Configuration
### Enabling/Disabling bridges
By default, the script creates `whitelist.txt` and adds the main bridges (see above). you can edit it:
* to enable extra bridges (one bridge per line)
* to disable main bridges (remove the line)
* to enable all bridges (just one wildcard `*` as file content)
As a matter of simplicity, this YunoHost package enables every bridge by default.
#### Multi-users support
This is application is public and there's no notion of user.

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

View file

@ -8,6 +8,13 @@
}, },
"version": "2021-04-25~ynh1", "version": "2021-04-25~ynh1",
"url": "https://github.com/RSS-Bridge/rss-bridge", "url": "https://github.com/RSS-Bridge/rss-bridge",
"upstream": {
"license": "Unlicense",
"website": "https://github.com/RSS-Bridge/rss-bridge",
"demo": "https://wtf.roflcopter.fr/rss-bridge/",
"admindoc": "https://github.com/RSS-Bridge/rss-bridge/wiki",
"code": "https://github.com/RSS-Bridge/rss-bridge"
},
"license": "Unlicense", "license": "Unlicense",
"maintainer": { "maintainer": {
"name": "JimboJoe", "name": "JimboJoe",
@ -15,7 +22,7 @@
}, },
"multi_instance": true, "multi_instance": true,
"requirements": { "requirements": {
"yunohost": ">= 4.1.0" "yunohost": ">= 4.2.0"
}, },
"services": [ "services": [
"nginx", "nginx",

View file

@ -49,6 +49,14 @@ ynh_script_progression --message="Storing installation settings..." --weight=1
ynh_app_setting_set --app=$app --key=domain --value=$domain ynh_app_setting_set --app=$app --key=domain --value=$domain
ynh_app_setting_set --app=$app --key=path --value=$path_url ynh_app_setting_set --app=$app --key=path --value=$path_url
#=================================================
# CREATE DEDICATED USER
#=================================================
ynh_script_progression --message="Configuring system user..." --weight=2
# Create a system user
ynh_system_user_create --username=$app --home_dir="$final_path"
#================================================= #=================================================
# DOWNLOAD, CHECK AND UNPACK SOURCE # DOWNLOAD, CHECK AND UNPACK SOURCE
#================================================= #=================================================
@ -58,24 +66,18 @@ ynh_app_setting_set --app=$app --key=final_path --value=$final_path
# Download, check integrity, uncompress and patch the source from app.src # Download, check integrity, uncompress and patch the source from app.src
ynh_setup_source --dest_dir="$final_path" ynh_setup_source --dest_dir="$final_path"
chmod 750 "$final_path"
chmod -R o-rwx "$final_path"
chown -R $app:www-data "$final_path"
#================================================= #=================================================
# NGINX CONFIGURATION # NGINX CONFIGURATION
#================================================= #=================================================
ynh_script_progression --message="Configuring NGINX web server..." --weight=1 ynh_script_progression --message="Configuring NGINX web server..." --weight=1
### `ynh_add_nginx_config` will use the file conf/nginx.conf
# Create a dedicated NGINX config # Create a dedicated NGINX config
ynh_add_nginx_config ynh_add_nginx_config
#=================================================
# CREATE DEDICATED USER
#=================================================
ynh_script_progression --message="Configuring system user..." --weight=2
# Create a system user
ynh_system_user_create --username=$app
#================================================= #=================================================
# PHP-FPM CONFIGURATION # PHP-FPM CONFIGURATION
#================================================= #=================================================
@ -95,16 +97,6 @@ for i in $final_path/bridges/*.php ; do
echo $(basename $i) | sed "s|Bridge.php$||g" | tee -a $final_path/whitelist.txt echo $(basename $i) | sed "s|Bridge.php$||g" | tee -a $final_path/whitelist.txt
done done
#=================================================
# GENERIC FINALIZATION
#=================================================
# SECURE FILES AND DIRECTORIES
#=================================================
# Set permissions to app files
chown -R root: $final_path
chown -R $app: $final_path/cache
#================================================= #=================================================
# SETUP SSOWAT # SETUP SSOWAT
#================================================= #=================================================

View file

@ -51,6 +51,14 @@ test ! -d $final_path \
ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf" ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf"
#=================================================
# RECREATE THE DEDICATED USER
#=================================================
ynh_script_progression --message="Recreating the dedicated system user..." --weight=1
# Create the dedicated user (if not existing)
ynh_system_user_create --username=$app --home_dir="$final_path"
#================================================= #=================================================
# RESTORE THE APP MAIN DIR # RESTORE THE APP MAIN DIR
#================================================= #=================================================
@ -58,21 +66,9 @@ ynh_script_progression --message="Restoring RSS-Bridge main directory..." --weig
ynh_restore_file --origin_path="$final_path" ynh_restore_file --origin_path="$final_path"
#================================================= chmod 750 "$final_path"
# RECREATE THE DEDICATED USER chmod -R o-rwx "$final_path"
#================================================= chown -R $app:www-data "$final_path"
ynh_script_progression --message="Recreating the dedicated system user..." --weight=1
# Create the dedicated user (if not existing)
ynh_system_user_create --username=$app
#=================================================
# RESTORE USER RIGHTS
#=================================================
# Restore permissions on app files
chown -R root: $final_path
chown -R $app: $final_path/cache
#================================================= #=================================================
# RESTORE THE PHP-FPM CONFIGURATION # RESTORE THE PHP-FPM CONFIGURATION

View file

@ -53,6 +53,14 @@ ynh_clean_setup () {
# Exit if an error occurs during the execution of the script # Exit if an error occurs during the execution of the script
ynh_abort_if_errors ynh_abort_if_errors
#=================================================
# CREATE DEDICATED USER
#=================================================
ynh_script_progression --message="Making sure dedicated system user exists..." --weight=1
# Create a dedicated user (if not existing)
ynh_system_user_create --username=$app --home_dir="$final_path"
#================================================= #=================================================
# DOWNLOAD, CHECK AND UNPACK SOURCE # DOWNLOAD, CHECK AND UNPACK SOURCE
#================================================= #=================================================
@ -65,6 +73,10 @@ then
ynh_setup_source --dest_dir="$final_path" ynh_setup_source --dest_dir="$final_path"
fi fi
chmod 750 "$final_path"
chmod -R o-rwx "$final_path"
chown -R $app:www-data "$final_path"
#================================================= #=================================================
# NGINX CONFIGURATION # NGINX CONFIGURATION
#================================================= #=================================================
@ -73,14 +85,6 @@ ynh_script_progression --message="Upgrading NGINX web server configuration..." -
# Create a dedicated NGINX config # Create a dedicated NGINX config
ynh_add_nginx_config ynh_add_nginx_config
#=================================================
# CREATE DEDICATED USER
#=================================================
ynh_script_progression --message="Making sure dedicated system user exists..." --weight=1
# Create a dedicated user (if not existing)
ynh_system_user_create --username=$app
#================================================= #=================================================
# PHP-FPM CONFIGURATION # PHP-FPM CONFIGURATION
#================================================= #=================================================
@ -99,14 +103,6 @@ for i in $final_path/bridges/*.php ; do
echo $(basename $i) | sed "s|Bridge.php$||g" | tee -a $final_path/whitelist.txt echo $(basename $i) | sed "s|Bridge.php$||g" | tee -a $final_path/whitelist.txt
done done
#=================================================
# SECURE FILES AND DIRECTORIES
#=================================================
# Set permissions on app files
chown -R root: $final_path
chown -R $app: $final_path/cache
#================================================= #=================================================
# RELOAD NGINX # RELOAD NGINX
#================================================= #=================================================