Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

merge master of forked repo #1

Open
wants to merge 61 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
a2459f8
Selectively enable/disable providers
adriankumpf Aug 11, 2017
0ea8567
Fix immoscout crawling of addresses
adriankumpf Aug 11, 2017
eda2fc7
Update README
adriankumpf Aug 11, 2017
4bb12cf
Format with prettier
adriankumpf Aug 11, 2017
aa3c5bf
Fix invalid json
adriankumpf Aug 11, 2017
60d038f
Remove unnecessary dependency
adriankumpf Aug 11, 2017
d4ae694
Update README
adriankumpf Aug 17, 2017
5ff3872
Refactoring: remove classes, introduce async functions
adriankumpf Jan 30, 2018
5333a73
Run app in docker container
adriankumpf Jan 30, 2018
d8cb47f
Refactoring: create 'providers' config entry
adriankumpf Jan 30, 2018
63213df
Update CSS selectors
adriankumpf Dec 8, 2018
bd5c96e
Throttle pagination requests
adriankumpf Dec 8, 2018
2b67c8c
Update dependencies
adriankumpf Dec 8, 2018
777856c
Include wantedDistricts in query params (wgGesucht)
adriankumpf Dec 8, 2018
17b9315
Bump version
adriankumpf Dec 8, 2018
7c538f7
Fix typo
adriankumpf Dec 8, 2018
531eead
Add default parameter to utils.isOneOf
adriankumpf Jan 8, 2019
5af6af8
Fix pagination of immoscout
adriankumpf Jan 8, 2019
44d06a2
Increase pagination limit
adriankumpf Jan 8, 2019
f6baa6c
Bump version
adriankumpf Jan 9, 2019
4120c6c
[Security] Bump is-my-json-valid from 2.15.0 to 2.20.0
dependabot-preview[bot] May 27, 2019
ab7feb9
[Security] Bump sshpk from 1.10.1 to 1.16.1
dependabot-preview[bot] May 27, 2019
bb9e295
[Security] Bump stringstream from 0.0.5 to 0.0.6
dependabot-preview[bot] May 27, 2019
8331c7d
[Security] Bump tough-cookie from 2.3.2 to 2.3.4
dependabot-preview[bot] May 27, 2019
0ca19ba
Merge pull request #11 from adriankumpf/dependabot/npm_and_yarn/tough…
dependabot-preview[bot] May 27, 2019
4f3f0d6
Merge pull request #10 from adriankumpf/dependabot/npm_and_yarn/strin…
dependabot-preview[bot] May 27, 2019
d0a412f
Merge pull request #9 from adriankumpf/dependabot/npm_and_yarn/sshpk-…
dependabot-preview[bot] May 27, 2019
1bd0da7
Merge pull request #8 from adriankumpf/dependabot/npm_and_yarn/is-my-…
dependabot-preview[bot] May 27, 2019
d2e7180
Fix example config
adriankumpf Aug 27, 2019
82d5b47
Bump dependencies and reformat code
adriankumpf Jul 19, 2020
6274876
Tweak delays and timeouts
adriankumpf Jul 21, 2020
2503377
Improve image build times
adriankumpf Jul 21, 2020
61fb635
Update scraper rules
adriankumpf Jul 21, 2020
be7ea58
Add dependabot configuration
adriankumpf Jul 21, 2020
67f624b
Store Listing ID right after sending notification
adriankumpf Jul 25, 2020
52932d1
Retry once if telegram responded with 429
adriankumpf Jul 25, 2020
27765c2
Reduce interval to 5m and regularly perform a full crawl
adriankumpf Jul 28, 2020
330480b
Add workflow to publish docker image
adriankumpf Jul 30, 2020
9f32f5a
Append a / to COPY statements
adriankumpf Jul 30, 2020
2407efd
Make node owner of app directory
adriankumpf Jul 30, 2020
d8e0a2d
Release 1.1.0
adriankumpf Jul 30, 2020
144cafc
Update README
adriankumpf Jul 30, 2020
eccc1d7
Configure dependabot to update GH actions
adriankumpf Jul 30, 2020
22a7acd
Fix immonet crawler
Mar 26, 2021
745caea
Fix kleinanzeigen crawler
Mar 26, 2021
9316962
Fix Immowelt crawler
Mar 26, 2021
410541a
Update packages
Mar 26, 2021
f74cd58
Add additional information to Telegram message
Mar 26, 2021
60bc66d
Fix optionality
Mar 26, 2021
f3889ab
Add documentation
Mar 26, 2021
b1eb828
Publish docker image to GH container registry
adriankumpf Mar 26, 2021
0b2749b
Release 1.2.0
adriankumpf Mar 26, 2021
5f6ff95
Update README
adriankumpf Mar 26, 2021
df4c139
Add immosuchmaschine as provider (#26)
xu-chris Mar 31, 2021
07e7903
Bump actions/cache from v2 to v2.1.4
dependabot[bot] Mar 29, 2021
7543430
Bump actions/checkout from 2 to 3 (#51)
dependabot[bot] May 20, 2022
2222352
Bump docker/setup-qemu-action from 1 to 2 (#57)
dependabot[bot] May 20, 2022
9ef2fb9
Bump docker/login-action from 1 to 2 (#58)
dependabot[bot] May 20, 2022
ceaac8e
Bump actions/cache from 2.1.4 to 3.0.2 (#54)
dependabot[bot] May 20, 2022
801e4ce
Bump docker/setup-buildx-action from 1 to 2 (#61)
dependabot[bot] May 20, 2022
7cf9ecb
Bump docker/build-push-action from 2 to 3 (#60)
dependabot[bot] May 20, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
.git/
.gitignore
Makefile
README.md
conf/config.json.example
node_modules/

16 changes: 16 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
version: 2
updates:
- package-ecosystem: 'docker'
directory: '/'
schedule:
interval: 'weekly'

- package-ecosystem: 'npm'
directory: '/'
schedule:
interval: 'weekly'

- package-ecosystem: 'github-actions'
directory: '/'
schedule:
interval: 'weekly'
60 changes: 60 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: Publish Docker image

on:
push:
branches:
- '**'
tags:
- 'v*'
pull_request:
branches:
- 'master'

jobs:
docker:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Docker meta
id: docker_meta
uses: crazy-max/ghaction-docker-meta@v1
with:
images: ghcr.io/adriankumpf/findmeaflat
tag-edge: true
tag-semver: |
{{version}}
{{major}}.{{minor}}
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Cache Docker layers
uses: actions/[email protected]
with:
path: /tmp/.buildx-cache
key: ${{ runner.os }}-buildx-${{ github.sha }}
restore-keys: |
${{ runner.os }}-buildx-
- name: Login to GitHub Container Registry
if: github.event_name != 'pull_request'
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.CR_PAT }}
- name: Build and push
uses: docker/build-push-action@v3
with:
context: .
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.docker_meta.outputs.tags }}
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max
- # Temp fix
# https://github.com/docker/build-push-action/issues/252
# https://github.com/moby/buildkit/issues/1896
name: Move cache
run: |
rm -rf /tmp/.buildx-cache
mv /tmp/.buildx-cache-new /tmp/.buildx-cache
6 changes: 3 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
.DS_Store
conf/config.json
db/listing.json
node_modules/
npm-debug.log
config.json
ts.json
.DS_Store
4 changes: 4 additions & 0 deletions .prettierrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"semi": false,
"singleQuote": true
}
49 changes: 49 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Changelog

## [Unreleased]

## [1.2.0] - 2021-03-26

### Enhancements

- Add max radius filter setting (useful for Immonet) ([#25](https://github.com/adriankumpf/findmeaflat/pull/25) by [creichel](https://github.com/creichel))
- Add number of rooms, property size to Telegram messages ([#25](https://github.com/adriankumpf/findmeaflat/pull/25) by [creichel](https://github.com/creichel))
- Publish docker image to GitHub container registry
- ⚠️ If you're using the Docker image, change the image from `docker.pkg.github.com/adriankumpf/findmeaflat/findmeaflat:latest` to `ghcr.io/adriankumpf/findmeaflat:latest`
- The latest development version is available under the `edge` tag

### Bug Fixes

- Fix crawler issues with Immowelt, Kleinanzeigen and Immonet ([#25](https://github.com/adriankumpf/findmeaflat/pull/25) by [creichel](https://github.com/creichel))

## [1.1.0] - 2020-07-30

### Enhancements

- Tweak timeouts and delays between requests
- Improve image build times
- Retry to send message to Telegram if request was rate limited
- Reduce scrape interval to 5 minutes
- Perform a full page crawl at every 10th round

### Bug Fixes

- Fix example configuration
- Update scraper rules
- Persist listing ID right after sending the notification to avoid duplicate messages

## [1.0.1] - 2019-01-09

### Fixed

- Add default parameter to `utils.isOneOf`
- Fix pagination of immoscout
- Increase pagination limit

## [1.0.0] - 2018-12-08

[unreleased]: https://github.com/adriankumpf/findmeaflat/compare/v1.2.0...HEAD
[1.2.0]: https://github.com/adriankumpf/findmeaflat/compare/v1.1.0...v1.2.0
[1.1.0]: https://github.com/adriankumpf/findmeaflat/compare/v1.0.1...v1.1.0
[1.0.1]: https://github.com/adriankumpf/findmeaflat/compare/v1.0.0...v1.0.1
[1.0.0]: https://github.com/adriankumpf/findmeaflat/compare/v0.0.0...v1.0.0
17 changes: 17 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
FROM node:14-alpine

ENV NODE_ENV=production

WORKDIR /app
RUN chown -R node:node /app

USER node

COPY --chown=node:node package.json package-lock.json ./
RUN npm ci --progress=false --no-audit --loglevel=error

COPY --chown=node:node lib/ lib/
COPY --chown=node:node index.js ./
RUN mkdir db conf

CMD ["node","index.js"]
30 changes: 30 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
.PHONY: all
all: build start

.PHONY: build
build: ## Build the docker image
@docker image build -t adriankumpf/findmeaflat .

.PHONY: start
start: ## Start the docker container
@docker container run \
--init \
--name findmeaflat \
--rm \
-v $$(pwd)/conf/config.json:/app/conf/config.json \
-v findmeaflat:/app/db \
adriankumpf/findmeaflat

.PHONY: dev
dev: ## Start the docker container for development
@ docker container run \
--init \
--rm \
-it \
-u root \
-v $$(pwd)/conf:/app/conf \
-v $$(pwd)/db:/app/db \
-v $$(pwd)/index.js:/app/index.js \
-v $$(pwd)/lib:/app/lib \
adriankumpf/findmeaflat

Loading