Commit Graph

19 Commits

Author SHA1 Message Date
Nicolas F 5c943f35e3 Add login endpoint rate limiting
This doesn't discriminate between failed logins and successful
logins, but only counts POST requests. The limit is set to 6 per
hour.
2020-06-23 00:49:26 +02:00
Nicolas F 80c9d580eb Improve cache configuration (#564)
The Flask-Caching cache can now properly be configured from the
config.py, and redis caching has experimentally been tested and
confirmed to be working in theory.

We also document that one may want to use CACHE_THRESHOLD to limit
the maximum number of items in the simple cache.
2019-08-10 18:53:57 -07:00
Nicolas F d8e796f3e0 Move to Python 3.7 and update dependencies (#551)
* forms: replace re._pattern_type with re.Pattern

Python 3.7 removed re._pattern_type and replaced it with
re.Pattern.

* readme: update for Python 3.7

* Update requirements

Also remove some unused ones which were neither a direct dependency
nor a dependency of our dependencies.

* account: force ASCII usernames on login form

Our database doesn't like it when we check for unicode data in
a column that stores ASCII data, so let's stop it before it
gets that far.

* Move travis CI to Python 3.7

* travis: use xenial dist

* fix newer linter warnings

Apparently bare excepts are literally Hitler, and we have some
new import sorting rules. Hooray!

* requirements: remove six

This is a dependency for sqlalchemy-utils, but we ourselves don't
depend on it directly because we've never been on Python 2 ever.

* Update requirements.txt
2019-08-10 18:39:53 -07:00
Nicolas F 18bdf465f7 requirements: update dependencies for newer python
Apparently, when running things with Python 3.7, these three
dependencies ran into build issues with a renamed struct field.
Upgrading them seems to fix the issue, and hopefully keeps them
working with Python 3.6 as well.
2018-11-11 02:52:33 +01:00
Anna-Maria Meriniemi 8c892f09cc config/forms: allow blacklisting email servers by IP (#518)
Adds a new config entry (EMAIL_SERVER_BLACKLIST, tuple of IPv4 addresses
as strings) and an email validator for registering, which will query all
the MX records for the domain and reject the registration if any of the
A records for any of the MX records are found in the blacklist.
If the query fails, the blacklist is ignored; the email is accepted.
2018-08-20 11:29:30 -07:00
Nicolas F bd419c5d39 Add 1 hour cache to magnet URIs (#503)
Using Flask-Caching, we can memoize the magnet_uri method. Here, a
timeout of 1 hour is chosen, though that value can be fiddled with.

The cache is defined in extensions.py, but gets initialised in
__init__.py.
2018-07-10 01:22:49 -07:00
Anna-Maria Meriniemi 6d09920abd Update email verification, add Mailgun backend (#380)
Changes config.example.py!
2017-10-07 17:31:32 -07:00
Kfir Hadas 024c90022a Nyaa development helper (tool) (#324)
Add new tool for developing (lint/autopep8/isort/test)

New tool uses flake8 and isort for lint checks.
Deprecate existing tool (still works)
Update readme
Update Travis config
2017-08-06 00:04:38 +03:00
Kfir Hadas b992467dad Apply isort & flake8 (#312)
* Update isort settings
* Apply import sorting (isort) on all files in nyaa/
* Fixed Flake8 errors in nyaa/ (see PR for list)
* Add isort to lint.sh and requirements.txt
2017-07-28 20:01:19 +03:00
Kfir Hadas 323780dd10 Remove progressbar2 2017-06-07 19:32:02 +03:00
Nathan Yam 232af1dc38 Add basic URL routing tests 2017-06-07 18:05:32 +03:00
zaclimon 7acfa97a47 requirements.txt: Adapt progressbar33 version
While installing progressbar33 2.40.0, an error occurs:

Could not find a version that satisfies the requirement
progressbar33==2.40.0 (from -r requirements.txt (line 31)) (from
versions: 2.4)
No matching distribution found for progressbar33==2.40.0 (from -r
requirements.txt (line 31))

Reflect the correct version as shown on pypi which is 2.4.
2017-05-27 21:11:55 -04:00
TheAMM 0cbed3870e Update import_to_es.py to index both torrent flavors, rename sync_es config
import_to_es.py will now also SHOW MASTER STATUS now
Changed progressbar dependency
2017-05-28 02:12:48 +03:00
nyaadev 152e547ac5 Add flask-Migrate + alembic for automated database migrations.
Update some dependencies to their latest version.
Make executable scripts executable (chmod +x).
2017-05-21 17:47:16 +02:00
queue 89849ac25f requirements.txt: add missing statsd
for sync_es.py
2017-05-21 01:06:50 -06:00
aldacron 899aa01473 hooked up ES... 90% done, need to figure out how to generate magnet URIs 2017-05-15 23:51:58 -07:00
aldacron c2c547e786 some more elasticsearch work, including index mapping and analyzer 2017-05-15 11:14:01 -07:00
queue d7d24ef49e update requirements.txt
has ipython stuck in there too, oh well
2017-05-14 00:55:08 -06:00
nyaadev 00d65e312c Initial commit. 2017-05-12 20:51:49 +02:00