Compare commits

67 Commits
main ... main

Author SHA1 Message Date
fee3bbd3a1 Update attuale.txt 2025-11-04 20:09:01 +01:00
79f0e8bffd Update attuale.txt 2025-07-06 21:22:17 +02:00
00746083dc no index example 2025-05-20 23:49:56 +02:00
c3832d4968 non è sempre "streamingcommunity" il vero streamingcommunity pt2 2025-05-20 23:48:36 +02:00
fcef9ca31e non è sempre "streamingcommunity" il vero streamingcommunity 2025-05-20 23:33:22 +02:00
7f1f4fd518 fix link multipli 2025-03-09 19:28:29 +01:00
b911d0fcab fix_path_gif 2025-02-09 00:12:55 +01:00
376d4fc01d redark 2025-02-04 18:37:41 +01:00
2f1e2ee566 fix ermessi 2025-02-04 18:30:10 +01:00
7dd9175d6f up 2025-01-26 19:23:23 +01:00
1814449dcf up 2025-01-26 19:19:58 +01:00
5ed0260f90 up 2025-01-26 19:18:02 +01:00
92318e9fee up 2025-01-26 19:16:01 +01:00
78f4039061 up 2025-01-26 18:59:58 +01:00
64785ecba5 define 2025-01-26 18:10:37 +01:00
fc7dcd107c define 2025-01-26 17:56:09 +01:00
4b5d07fd12 permessi splash+restyle 2025-01-26 17:08:28 +01:00
3f92a1fc29 highlight 2025-01-26 15:22:24 +01:00
bc6e0f2931 dislessia 2025-01-25 22:46:49 +01:00
fc794053db up 2025-01-25 22:46:03 +01:00
17e5b6a1e8 up 2025-01-25 22:40:31 +01:00
1316177cec add link 2025-01-25 20:06:50 +01:00
6501ac2e4f update permessi 2025-01-25 19:55:40 +01:00
effc329790 add demo 2025-01-24 21:39:47 +01:00
1b6ac1711c fix permessi 2025-01-24 21:35:14 +01:00
54d8ac66cc fix permission and json 2025-01-24 21:14:42 +01:00
9d6f07f278 Paranoid Hardenoid 2025-01-24 20:45:07 +01:00
bb0647e2b5 add info 2025-01-24 20:28:28 +01:00
8a29d5f41c delete tmptxt 2025-01-24 20:22:12 +01:00
015eb697e3 better stats 2025-01-24 20:21:24 +01:00
e9e40892c2 a cesare quel che è di cesare 2025-01-24 20:05:41 +01:00
d68023894c paris 2025-01-24 19:52:13 +01:00
1340963236 fix stats2 2025-01-24 19:51:49 +01:00
4264b39e76 add stats 2025-01-24 19:46:06 +01:00
9313dfa747 fix 2025-01-24 18:29:36 +01:00
d58194f376 fix se il link è guasto 2025-01-24 01:45:41 +01:00
e06452dce9 fix per quando il link è mezzo rotto 2025-01-24 01:31:20 +01:00
2d5db7a07c up 2025-01-19 01:05:50 +01:00
2ede848e42 fix running in locale 2025-01-19 01:02:10 +01:00
95ec6d1824 rss generator update 2025-01-19 00:58:54 +01:00
d366f327c0 up 2025-01-18 20:25:09 +01:00
b3cc8f2e69 add_rss_feed 2025-01-18 20:08:12 +01:00
e65054edd1 up 2025-01-14 00:47:37 +01:00
d86d68562b pusho 2025-01-14 00:39:21 +01:00
180a4a9c61 darkmode 2025-01-13 22:04:02 +01:00
52001a4b8a up 2025-01-13 20:22:08 +01:00
b117a454fb up 2025-01-13 20:03:55 +01:00
e030c20ce6 new name 2025-01-13 18:58:51 +01:00
59e135063a up 2025-01-13 18:54:47 +01:00
b8448483c8 up 2025-01-13 18:52:31 +01:00
b75a49e26c up 2025-01-13 18:50:02 +01:00
42b93edc5c up 2025-01-13 18:39:57 +01:00
ae874c809f up 2025-01-13 18:39:33 +01:00
28d9a42da9 up 2025-01-13 18:36:29 +01:00
a353c795c9 up 2025-01-13 18:32:09 +01:00
42ab6c073a up 2025-01-13 18:19:28 +01:00
78729cdbe2 up 2025-01-13 18:05:30 +01:00
0b39bfffb5 up 2025-01-13 18:04:42 +01:00
01a4e295a5 ok 2025-01-13 18:01:25 +01:00
a9458112bc up 2025-01-13 17:53:14 +01:00
af2fa2e32f fix formatted 2025-01-11 16:41:48 +01:00
90cb559329 history 2025-01-11 16:03:29 +01:00
663407634e newmethod 2025-01-11 16:01:17 +01:00
c9cbf60335 fixed 2024-11-03 00:12:28 +01:00
b0b9438fc1 fix 2024-11-03 00:08:20 +01:00
772ffc6c40 fix formatted 2024-11-03 00:05:54 +01:00
1ad47617d6 fix 2024-11-03 00:02:09 +01:00
8 changed files with 276 additions and 19 deletions

View File

@@ -1,8 +1,70 @@
# Streaming Community Redirector
# Trova link giusto di streamingcommunity
Un plugin per nginx scritto in njs per dare un HTTP 301 a un dominio X.
## INDICE README
- [Motivazioni & FAQ](#motivazioni--faq)
- [Perchè esiste questo git?](#perchè-esiste-questo-git)
- [Cosa fanno gli script?](#cosa-fanno-gli-script)
- [Cosa fare se "attuale.txt" risulta vuoto?](#cosa-fare-se-attualetxt-risulta-vuoto)
- [Mostra il link giusto](#mostra-il-link-giusto)
- [Crea una pagina html accattivante con il link giusto](#crea-una-pagina-html-accattivante-con-il-link-giusto)
- [Crea un feed rss con il link giusto](#crea-un-feed-rss-con-il-link-giusto)
- [Selfhostare il servizio](#selfhostare-il-servizio)
1. Install njs
2. Copia main.js dove vuoi
3. Aggiungi main.js dentro il tuo nginx
4. Metti crontab per generare automaticamente il file con l'ultimo indirizzo di steraming community
## Motivazioni & FAQ
### Perchè esiste questo git?
Anzitutto fanculo merdflix. <br>
Esistono molti cloni online di streamingcommunity, e tutti offrono un servizio simile all'originale, ma contente malware di ogni tipo e solitamente più scadente.<br>
Stufe di fare ricerche eterne per trovare il link giusto, sperando di non incappare in qualche ottimo clone... ecco pronto il git che risolve il problema permettendoci di gustarci i nostri film e serie preferite, con tutta la tranquillità necessaria e qualche funzionalità aggiuntiva.<br>
### Cosa fanno gli script?
Il cuore degli script di questo git si occupa di seguire il vecchio link noto di streamingcommunity, quindi controlla se c'è un redirect su un nuovo link, e se lo trova aggiorna <code>attuale.txt</code> contenente il link corretto.<br>
- [show_link.sh](./show_link.sh) mostra il link giusto
- [make_index.sh](./make_index.sh) crea una pagina html accattivante con il link giusto. Clicca [qui](http://streamingcommunity.accol.li) per una demo
- [rss_generator.sh](./rss_generator.sh) crea un feed rss con il link giusto. Clicca [qui](http://streamingcommunity.accol.li/rss.xml) per una demo
### Cosa fare se "attuale.txt" risulta vuoto?
Molto poco raramente streamingcommunity subisce attacchi informatici, lo script è pronto a non rompersi: arifanculo merdflix. <br>
Se per qualche strano caso dovessero avvenire redirect assurdi, il massimo che può succedere è che si cancelli il contenuto di <code>attuale.txt</code>. In questo caso tornate su questa repo. Probabilmente sarà stato trovato un bug e gli script sono già stati aggiornati o l'aggiornamento è in corso d'opera. Quindi recuperarate <code>attuale.txt</code>, ed aggiornate gli script.
## Mostra il link giusto
Per conoscere semplicemente il link aggiornato di streamingcommunity lancia lo script [show_link.sh](./show_link.sh)
```bash
# (richiede "attuale.txt")
# Lancia lo script:
./show_link.sh
```
## Crea una pagina html accattivante con il link giusto
Se vuoi creare una pagina che mostra il link aggiornato, lancia lo script [make_index.sh](./make_index.sh). <br>
Clicca [qui](http://streamingcommunity.accol.li) per una demo<br>
```bash
# (richiede "attuale.txt")
# Lancialo script manualmente
./make_index.sh
# oppure mettilo in cron
0 0 * * * /path/to/make_index.sh
```
## Crea un feed rss con il link giusto
Se vuoi creare un feed rss in xml con il link aggiornato, lancia lo script [rss_generator.sh](./rss_generator.sh)<br>
Clicca [qui](http://streamingcommunity.accol.li/rss.xml) per una demo<br>
```bash
# (richiede "attuale.txt")
# Lancialo manualmente
./rss_generator.sh
# oppure mettilo in cron nella riga dopo "make_index.sh"
0 0 * * * /path/to/rss_generator.sh
```
## Selfhostare il servizio
1. Edita lo script [make_index.sh](./make_index.sh):
- setta la variabile <code>PWD_SC</code> in testa
- decommenta i comandi per i permessi in fondo.
- (se usi anche [rss_generator.sh](./rss_generator.sh), editalo nello stesso modo )
2. Infine metti la tua cartella (quella che hai messo anche in <code>PWD_SC</code>) dietro a un reverse proxy.<br>

1
attuale.txt Normal file
View File

@@ -0,0 +1 @@
streamingunity.cool

View File

@@ -1,8 +0,0 @@
var fs = require('fs');
function redirect(r) {
r.return(301, fs.readFileSync('/etc/nginx/streaming_community_last_url.txt', {string: 'utf-8'}).toString().trim() );
}
export default {redirect};

130
make_index.sh Executable file
View File

@@ -0,0 +1,130 @@
#!/bin/bash
# SETTARE QUESTA VARIABILE CON IL PERCORSO GIUSTO:
# Es: PWD_SC="/var/www/html/streamingcommunity"
# O LASCIARE COSIì PER TESTARE IN LOCALE
PWD_SC="$PWD"
# Segue link per vedere se è stato aggiornato...
attuale="$(cat "$PWD_SC/attuale.txt")"
nuovo=$(curl --no-progress-meter -L $attuale | grep -oP 'streaming\w+(\.\w+)?' | grep -v "streamingcommunityoriginale" | head -n1)
#vecchio curl
#nuovo=$(curl --no-progress-meter -L $attuale | sed -n 's/.*\(https:\/\/cdn\.streamingcommunity\.[^ ]*images[^ ]*\).*/\1/p' | grep -oP 'streamingcommunity\.\w+(\.\w+)?' | head -n1)
# Se il nuovo link è diverso dal nuovo, allora...
if [ "$attuale" != "$nuovo" ]; then
# se è vuoto lascia il vecchio
if [ -z "$nuovo" ]; then
echo "STANNO FACENDO CASINI O LINK CORROTTO. LASCIATO IL VECCHIO LINK"
else
# Se non è vuoto lo aggiorna con il nuovo link il file attuale.txt
attuale="$nuovo"
echo "$attuale" > $PWD_SC/attuale.txt
fi
else
# se il link giusto è ancora il vecchio lascia il vecchio
echo "Il link giusto è ancora il vecchio"
fi
# Formatta il link e lo stampa
formatted="https://$(cat "$PWD_SC/attuale.txt")"
echo "$formatted"
# Crea pagina "index.html"
cat <<- _EOF > $PWD_SC/index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>StreamingCommunity Link Giusto</title>
<style>
body {
box-sizing: border-box;
margin: 0;
padding: 4wh;
border: 10px solid #ccc;
background-color: #121212;
color: #e4d183;
}
div {
width: 200wj;
height: 200wj;
background-color: #1e1e1e;
padding: 20px;
}
img {
max-width: 90%;
padding: 20px;
}
a {
width: 300wj;
height: 200wj;
color: #bb86fc
}
h1 {
font-size: 36px;
/* Default size */
}
@media (max-width: 480px) {
h1 {
font-size: 17px;
/* Size mobile phones */
}
}
@media (max-width: 480px) {
h3 {
font-size: 15px;
/* Size mobile phones */
}
}
</style>
</head>
<body>
<center>
<br><br>
<div class="link">
<h3> Link aggiornato per Streaming Community: </h3>
<h1> <a href=$formatted>$formatted </a> </h1>
<h3> (cambia circa una volta al mese) </h3>
</div>
<br><br>
<a href=$formatted target="_blank">
<img style="display:block; margin-left: auto; margin-right: auto" src="./splash.gif">
</a>
<br><br>
<div class="link">
<h3> Link aggiornato per Streaming Community: </h3>
<h1> <a href=$formatted> $formatted </a> </h1>
<h3> (cambia circa una volta al mese) </h3>
</div>
<br><br>
</center>
</body>
</html>
_EOF
# Setta i permessi giusti (decommentare se hostato)
#chown -R root:root $PWD_SC; chmod 740 $PWD_SC/*; echo "reset a root dei permessi della cartella $PWD_SC e tutti i suoi file"
#chmod +x $PWD_SC ; echo "permetto di leggere dentro a $PWD_SC"
#chown -R www-data:www-data $PWD_SC/*.html; chmod -R 744 $PWD_SC/*.html; echo "do i permessi agli html dentro a $PWD_SC"
#chown www-data:www-data $PWD_SC/splash.gif; chmod 744 $PWD_SC/splash.gif; echo "do i permesi alla gif splash"

45
rss_generator.sh Executable file
View File

@@ -0,0 +1,45 @@
#!/bin/bash
# SETTARE QUESTA VARIABILE CON IL PERCORSO GIUSTO:
# Es: PWD_SC="/var/www/html/streamingcommunity"
# O LASCIARE COSIì PER TESTARE IN LOCALE
PWD_SC="$PWD"
# Formatta il link e lo stampa
formatted="https://$(cat "$PWD_SC/attuale.txt")"
echo "$formatted"
data=$(date +%Y-%m-%d)
# Crea pagina "rss.xml"
cat <<- _EOF > $PWD_SC/rss.xml
<rss version="2.0">
<channel>
<title>Fanculo Netflix</title>
<link>$formatted</link>
<description>Link sempre aggiornato</description>
<lastBuildDate>$data</lastBuildDate>
<language>it-IT</language>
<item>
<title>$formatted</title>
<link>$formatted</link>
<pubDate>$date</pubDate>
<guid isPermaLink="false">$formatted</guid>
</item>
</channel>
</rss>
_EOF
# Setta permessi giusti standalone selfhosted (LEGGERE GLI NB)
# NB DECOMMENTARE QUESTI COMANDI SOLO SE USI rss_generator selfhosted MA NON makeindex.sh
# NB NELLA MAGGIORPARTE DEI CASI TI SERVIRA' SOLO IL COMANDO PER GLI XML
#chown -R root:root $PWD_SC; chmod 740 $PWD_SC/*; echo "reset a root dei permessi della cartella $PWD_SC e tutti i suoi file"
#chmod +x $PWD_SC ; echo "permetto a chiunque di attraversare $PWD_SC"
#chown root:root ./*.sh; chmod 744 ./*.sh; echo "do i permessi giusti agli sh dentro $PWD_SC"
# Setta permessi giusti versione selfhosted con make_index (versione tipica)
#chown -R www-data:www-data $PWD_SC/*.xml; chmod -R 744 $PWD_SC/*.xml; echo "do i permessi giusti agli xml dentro a $PWD_SC"

32
show_link.sh Executable file
View File

@@ -0,0 +1,32 @@
#!/bin/bash
# SETTARE QUESTA VARIABILE SE LO SCRIPT NON VIENE USATO IN LOCALE:
PWD_SC="$PWD"
# Segue link per vedere se è stato aggiornato...
attuale="$(cat "$PWD_SC/attuale.txt")"
nuovo=$(curl --no-progress-meter -L $attuale | grep -oP 'streaming\w+(\.\w+)?' | grep -v "streamingcommunityoriginale" | head -n1)
# vecchio grep/sed
#nuovo=$(curl --no-progress-meter -L $attuale | sed -n 's/.*\(https:\/\/cdn\.streaming\.[^ ]*images[^ ]*\).*/\1/p' | grep -oP 'streaming\.\w+(\.\w+)?' | head -n1)
#echo -e "\n\nQUA $nuovo"
# Se il nuovo link è diverso dal nuovo, allora...
if [ "$attuale" != "$nuovo" ]; then
# se è vuoto lascia il vecchio
if [ -z "$nuovo" ]; then
echo "STANNO FACENDO CASINI O LINK CORROTTO. LASCIATO IL VECCHIO LINK"
else
# Se non è vuoto lo aggiorna con il nuovo link il file attuale.txt
attuale="$nuovo"
echo "$attuale" > $PWD_SC/attuale.txt
fi
else
# se il link giusto è ancora il vecchio lascia il vecchio
echo "Il link giusto è ancora il vecchio"
fi
# Formatta il link e lo stampa
attuale="https://$(cat "$PWD_SC/attuale.txt")"
echo -e "\nLink aggiornato:\n$attuale\n"

BIN
splash.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 488 KiB

View File

@@ -1,5 +0,0 @@
#!/bin/bash
giusto=$(curl -L https://www.giardiniblog.it/streamingcommunity-nuovo-link/ | grep -oP '(?<=<strong>).*?(?=</strong></span></p>)' | grep -oP 'https://streamingcommunity.*')
echo -n "${giusto}" > /etc/nginx/streaming_community_last_url.txt