Skip to content

Commit 1d76ce8

Browse files
committed
v2.0.0
1 parent fa454c6 commit 1d76ce8

31 files changed

+2846
-3079
lines changed

Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM damoeb/rich-rss:core-0
1+
FROM damoeb/feedless:core-0
22
ARG PROXY_VERSION
33
ENV spring_profiles_active=stateless \
44
OTHER_VERSIONS="RSSproxy v${PROXY_VERSION} https://github.com/damoeb/rss-proxy"

README.md

+17-28
Original file line numberDiff line numberDiff line change
@@ -3,55 +3,45 @@
33
[![Build Status](https://app.travis-ci.com/damoeb/rss-proxy.svg?branch=master)](https://app.travis-ci.com/damoeb/rss-proxy)
44

55
RSS-proxy 2+ allows you to do create an ATOM or JSON feed of almost static/dynamic websites or feeds (web to feed),
6-
just by analyzing just the HTML structure. Try the [live rss-proxy](https://rssproxy.migor.org/), keep in mind its still a beta. The prototypical version 1 [is also available](https://rssproxy-v1.migor.org/), but the algorithm had some known issues.
7-
The server is completely stateless - it does not store anything - everything is part of the url.
8-
9-
It is a UI for [richRSS](https://github.com/damoeb/rich-rss) middleware with the no-database profile.
6+
just by analyzing just the HTML structure. It is an alternative UI to [feedless](https://github.com/damoeb/feedless) with the intent for minimalistic self-hosting with a reduced feature set of feedless.
7+
If you want feature like fulltext feeds, aggregation, persistence, authentication and others, checkout [feedless](https://github.com/damoeb/feedless/blob/master/docs/third-party-migration.md)
108

119
![Playground](https://github.com/damoeb/rss-proxy/raw/master/docs/rssproxy-candidates.png "Playground")
1210

13-
## Quickstart Version 1 using docker
11+
## Quickstart using docker-compose
1412

15-
Since v2 is still beta, this is the quickstart for version 1. If you have [docker](https://docs.docker.com/install/) or [podman](https://podman.io/getting-started/installation) installed,
16-
Start rss-proxy like this.
13+
Version 2 comes with more complexity so its easier to run it from [docker-compose](https://docs.docker.com/compose/install/). If you run the proxy behind a reverse proxy,
14+
make sure you set the request header "X-Real-IP" (see [nginx.con](docs/nginx.conf)) for IP throttling.
15+
16+
In `docker-compose.yml` change `APP_PUBLIC_URL` accordingly which is the outfacing public url.
1717

1818
```
19-
docker pull damoeb/rss-proxy
20-
docker run -p 3000:3000 -it damoeb/rss-proxy
19+
wget https://raw.githubusercontent.com/damoeb/rss-proxy/master/chrome.json
20+
wget https://raw.githubusercontent.com/damoeb/rss-proxy/master/docker-compose.yml
21+
docker-compose up
2122
```
2223

23-
Then open [localhost:3000](http://localhost:3000) in the browser.
24+
Then open [localhost:8080](http://localhost:8080) in the browser.
2425

25-
## Quickstart Version 2 using docker-compose (Experimental)
2626

27-
Version 2 comes with more complexity so its easier to run it from [docker-compose](https://docs.docker.com/compose/install/). If you run the proxy behind a reverse proxy,
28-
make sure you set the request header "X-Real-IP" (see [nginx.con](docs/nginx.conf)) for IP throttling.
27+
## Quickstart Version 1 using docker
2928

30-
In `docker-compose.yml` change `APP_PUBLIC_URL` accordingly which is the outfacing public url.
29+
Since v2 is still beta, this is the quickstart for version 1. If you have [docker](https://docs.docker.com/install/) or [podman](https://podman.io/getting-started/installation) installed,
30+
Start rss-proxy like this.
3131

3232
```
33-
wget https://raw.githubusercontent.com/damoeb/rss-proxy/master/chrome.json
34-
wget https://raw.githubusercontent.com/damoeb/rss-proxy/master/docker-compose.yml
35-
docker-compose up
33+
docker pull damoeb/rss-proxy
34+
docker run -p 3000:3000 -it damoeb/rss-proxy
3635
```
3736

38-
Then open [localhost:8080](http://localhost:8080) in the browser.
37+
Then open [localhost:3000](http://localhost:3000) in the browser.
3938

4039
## Features
4140
- Web to Feed
4241
- Dynamic Rendering using headless chromium
43-
- Content Recovery using [JSON-LD](http://json-ld.org/), [OpenGraph](https://ogp.me/)
44-
- Fulltext extraction
4542
- Filters
46-
- _Maintenance Alerts_ if your feed has problems
47-
- Privacy: Nothing is persisted by the server
4843
- Feed Format Conversion Any -> ATOM/JSON
4944

50-
## Other Features
51-
- Request Throttling and Host Flooding Protection
52-
- Caching
53-
- Monitoring
54-
5545
## Migration from version 1
5646
Version 2 supports the old version 1 urls, though this is optional. You can deactivate this feature by removing the 'legacy' profile in docker-compose.yml.
5747

@@ -64,7 +54,6 @@ See [changelog](changelog.md).
6454

6555
* [rss-bridge](https://github.com/RSS-Bridge/rss-bridge)
6656
* [rss-guard](https://github.com/martinrotter/rssguard)
67-
* [RSSHub](https://github.com/DIYgod/RSSHub)
6857

6958
## License
7059

packages/playground/angular.json

+1-2
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,5 @@
130130
}
131131
}
132132
}
133-
},
134-
"defaultProject": "playground"
133+
}
135134
}

packages/playground/package.json

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@rss-proxy/playground",
3-
"version": "2.0.0-beta",
3+
"version": "2.0.0",
44
"scripts": {
55
"ng": "ng",
66
"prestart": "npm run gen-build-info",
@@ -46,7 +46,6 @@
4646
"@types/lodash": "^4.14.182",
4747
"@types/toastr": "^2.1.39",
4848
"@types/urijs": "^1.19.19",
49-
"codelyzer": "^6.0.2",
5049
"jasmine-core": "~4.1.1",
5150
"jasmine-spec-reporter": "~7.0.0",
5251
"karma": "^6.3.20",

packages/playground/src/app/app-routing.module.ts

+3-5
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
1-
import { NgModule } from '@angular/core';
2-
import { RouterModule, Routes } from '@angular/router';
3-
import { AuthService } from './services/auth.service';
4-
import { PlaygroundStatelessComponent } from './components/playground-stateless/playground-stateless.component';
1+
import {NgModule} from '@angular/core';
2+
import {RouterModule, Routes} from '@angular/router';
3+
import {PlaygroundStatelessComponent} from './components/playground-stateless/playground-stateless.component';
54

65
const routes: Routes = [
76
// { path: '', canActivate: [AuthService], component: PlaygroundComponent },
87
{
98
path: '',
10-
canActivate: [AuthService],
119
component: PlaygroundStatelessComponent,
1210
},
1311
];

packages/playground/src/app/components/export-options/export-options.component.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@ export class ExportOptionsComponent implements OnInit {
2929

3030
constructor(private appSettings: AppSettingsService) {}
3131

32-
ngOnInit(): void {
32+
async ngOnInit() {
33+
await this.appSettings.waitForInit;
3334
this.flags = this.appSettings.get().flags;
3435
}
3536

packages/playground/src/app/components/footer/footer.component.ts

+1
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ export class FooterComponent implements OnInit {
3131

3232
async ngOnInit(): Promise<void> {
3333
this.buildInfo = build;
34+
await this.settings.waitForInit;
3435
this.flags = this.settings.get().flags;
3536
this.changeDetectorRef.detectChanges();
3637

packages/playground/src/app/components/merge-feeds/merge-feeds.component.html

-79
This file was deleted.

packages/playground/src/app/components/merge-feeds/merge-feeds.component.scss

-8
This file was deleted.

packages/playground/src/app/components/merge-feeds/merge-feeds.component.spec.ts

-37
This file was deleted.

packages/playground/src/app/components/merge-feeds/merge-feeds.component.ts

-98
This file was deleted.

packages/playground/src/app/components/merge-feeds/merge-feeds.module.ts

-22
This file was deleted.

0 commit comments

Comments
 (0)