Albirew/nyaa-pantsu
Archivé
1
0
Bifurcation 0
Ce dépôt a été archivé le 2022-05-07. Vous pouvez voir ses fichiers ou le cloner, mais pas ouvrir de ticket ou de demandes d'ajout, ni soumettre de changements.
nyaa-pantsu/config/default_config.yml
akuma06 c6168be8b1 Tag Search + Tests + Search slight refactor [DONE] (#1342)
* Tag Search + Tests + Search slight refactor

First commit improving search. Different struct have their own file with their tests. This way of separating struct by files is inspired by the go packages I've seen so far.

Added new behaviour as discussed in #1334

* fix fallback to ES

* Added some comments to explain PG fallback + log err moved

* Refactored search

Nearly fully covered
WhereParams struct has disappeared for Query struct instead
In DB model, we use an interface implementing Query struct methods

* 1rst Refactor of Tags (WTF already?!)

Prepare Tags for the refactored system. Now there will be descriptive tags for a particular release (ecchi, BDSM, ....) and typed tags.
Typed tags are tags relevant to all torrents and can be limited to some input value. For example, video quality is a typed tag limited to some values (hd, full hd, sd, ...). In the same way, anidbid is also a typed tag but doesn't have default values.

Furthermore, the location storage of tags have changed, now accepted descriptive tags are stored in the torrents table in the column "tags" and they are separated by commas.
In the opposite, accepted typed tags can have have their own column in the torrents table. For example, anidbid, vndbid will populate the column DbID when accepted. On the other hand, videoquality will populate the same way as descriptive tags.

This behaviour depends on the callbackOnType function in tag/helpers.go

* fix for modtools :')

* Added anidb, vndb, dlsite & vmdb id fields in torrent model.
Tags don't have an accepted field anymore.
Accepted Tags are in torrent.AcceptedTags and non-accepted ones in torrrent.Tags.

New Helper + New Changelog for translation string.

* New upload/edit form for torrent tags.
Now the inputs are dynamically generated by the helper tag_form.
No more modal window in those form, only inputs.
Support of tags in API
New translation string for the  link to the modal on torrent view.
More comments in the functions for tags

* Improving how config for tags work. Adding a test on them with understandable messages.
Config for tags have now a Field attribute which is linked to the Torrent model. For example anidbid tag type has now a AnidbID field in config which is the name of the field in torrent model (AnidbID). Every new tag type need to have a field attribute with its counterpart in torrent Model.
Fixing some errors

* Fix compile error + Tests Errors

* Improve performance by caching the list of tags with an index
Adding/removing tags works/tested
New translation strings

TODO: test/fix adding tag on upload/edit

* Mini fix to display video quality
+ tags works/tested on modo edit

* Fix editing tags on modpanel

* Edit tags works

* Add translation string

* Add search backend for tags.
?tags=xxx,eee,ddd
?anidb=21
?vndb=23
?vgmdb=24
?vq=full_hd

* Fix Ajax tag Removal&Add

* Added form for descriptive tags

* Forgot to add the link between database and form for descriptive tags.

* Adding the increase/decrease pantsu for descriptive tags

* Fix #1370

* When you actually forgot to commit files after having forgotten commits
2017-08-22 11:48:10 +10:00

218 lignes
8,6 Kio
YAML

# Default Configuration file for NyaaPantsu
# PLEASE, do NOT change default_config.yml, create your own config.yml
# Host of server
host: localhost
# Version of the app
version: "1.0.1"
# port of server
port: 9999
# database type
db_type: sqlite3
# DBParams will be directly passed to Gorm, and its internal structure depends on the dialect for each db type
db_params: ./nyaa.db?cache_size=50
# logmode for database
db_logmode: default
# Environment should be one of: DEVELOPMENT, TEST, PRODUCTION
environment: DEVELOPMENT
# AuthTokenExpirationDay : Number of Days for token expiration when logged in
auth_token_expiration: 1000
# EnableSecureCSRF : Enable CSRF https mode : True if website support https, false otherwise (eg. testing locally: false)
enable_secure_csrf: true
description_length: 10000
comment_length: 2000
# the default config for web addresses
web_address:
# Nyaa : Origin of the website
nyaa: https://nyaa.pantsu.cat
# Sukebei : Origin of the sukebei website
sukebei: https://sukebei.pantsu.cat
# Status : Origin of the status website
status: https://status.pantsu.cat
# the default config for session cookies
cookies:
# DomainName : The host domain so the cookies can be shared across subdomains
domain_name: pantsu.cat
# MaxAge : The expiration time of sessions cookies in seconds (default: 7 days)
max_age: 604800
# HashKey : 64 byte key used to authenticate cookies using HMAC. Leave blank for a random key after each restart.
hash_key:
# EncryptionKey : 32 byte key used to encrypt values. Leave blank for a random key after each restart.
encryption_key:
# the default config for bittorrent scraping
scraper:
addr: :9999
workers: 4
interval: 3600
trackers:
- {url: "udp://tracker.coppersurfer.tk:6969/", name: coppersurfer.tk}
# Config by default for the cache
cache:
dialect: nop
# Size by default for the cache
size: 1024
search:
enable_es: true
# default search analyzer for ES
es_analyze: nyaapantsu_search_analyzer
# default search index for ES
es_index: nyaapantsu
# Name of the type in the es mapping
es_type: torrents
# Default configuration for i2p
#i2p:
# name:
# addr:
# keyfile:
# Default configuration for metainfofetcher
metainfo_fetcher:
queue_size: 10
timeout: 120
max_days: 90
base_fail_cooldown: 1800
max_fail_cooldown: 172800
wake_up_interval: 300
# limits are in KiB, zero means no limit
upload_rate_limit: 1024
download_rate_limit: 1024
fetch_new_torrents_only: true
i18n:
# Default configuration for translation directory
directory: translations
# Default configuration for language
default_language: en-us
torrents:
# TorrentStatus : Config of different status id for torrents
status: [true, true, true, true, true, true]
# TorrentSukebeiCategories : Config for Sukebei categories
sukebei_categories: {"1_": "art", "1_1": "art_anime", "1_2": "art_doujinshi", "1_3": "art_games", "1_4": "art_manga", "1_5": "art_pictures", "2_": "real_life", "2_1": "real_life_photobooks_and_pictures", "2_2": "real_life_videos"}
# TorrentCleanCategories : Config for Site categories
clean_categories: {"3_": "anime", "3_12": "anime_amv", "3_5": "anime_english_translated", "3_13": "anime_non_english_translated", "3_6": "anime_raw", "2_": "audio", "2_3": "audio_lossless", "2_4": "audio_lossy", "4_": "literature", "4_7": "literature_english_translated", "4_8": "literature_raw", "4_14": "literature_non_english_translated", "5_": "live_action", "5_9": "live_action_english_translated", "5_10": "live_action_idol_pv", "5_18": "live_action_non_english_translated", "5_11": "live_action_raw", "6_": "pictures", "6_15": "pictures_graphics", "6_16": "pictures_photos", "1_": "software", "1_1": "software_applications", "1_2": "software_games"}
# EnglishOnlyCategories : Which categories will only accept English torrents
english_only_categories: ["3_5", "4_7", "5_9"]
# NonEnglishOnlyCategories : Which categories will only accept non-English torrents
non_english_only_categories: ["3_13", "4_14", "5_18"]
# AdditionalLanguages : Which languages are available for selection when uploading a torrent, aside from
# the ones we have translations.
additional_languages: ["es-mx"]
# TorrentFileStorage : Path to default torrent storage location (eg /var/www/wherever/you/want)
filestorage:
# TorrentStorageLink : Url of torrent file download location (eg https://your.site/somewhere/%s.torrent)
storage_link:
# TorrentCacheLink : Url of torrent site cache
cache_link: http://anicache.com/torrent/%s.torrent
# UploadsDisabled : Disable uploads for everyone except below
uploads_disabled: false
# AdminsAreStillAllowedTo : Enable admin torrent upload even if UploadsDisabled is true
admins_are_still_allowed_to: true
# TrustedUsersAreStillAllowedTo : Enable trusted users torrent upload even if UploadsDisabled is true
trusted_users_are_still_allowed_to: true
trackers:
# Trackers : Default trackers supported
default:
- udp://tracker.doko.moe:6969
- udp://tracker.coppersurfer.tk:6969
- udp://tracker.zer0day.to:1337/announce
- udp://tracker.leechers-paradise.org:6969
- udp://explodie.org:6969
- udp://tracker.opentrackr.org:1337
- udp://tracker.internetwarriors.net:1337/announce
- http://mgtracker.org:6969/announce
- udp://ipv6.leechers-paradise.org:6969/announce
- http://nyaa.tracker.wf:7777/announce
- http://sukebei.tracker.wf:7777/announce
- http://tracker.anirena.com:80/announce
- http://anidex.moe:6969/announce
# NeededTrackers : Array indexes of Trackers for needed tracker in a torrent file
needed:
- 0
# TorrentOrder : Default sorting field for torrents
order: date
# TorrentSort : Default sorting order for torrents
sort: DESC
tags:
# Torrent Tag Max weight for automatic system approval
max_weight: 100.00
# Default tags that have no type, will be saved in AcceptedTags field
default: tags
# Array of tag types allowed for now
types:
- name: anidbid
field: AnidbID
defaults:
- db
- name: vndbid
field: VndbID
- name: dlsite
field: Dlsite
- name: vgmdbid
field: VgmdbID
- name: videoquality
field: VideoQuality
defaults:
- bluray
- full_hd
- hd
- sd
users:
default_notifications_settings: {"new_torrent": true, "new_torrent_email": false, "new_comment": true, "new_comment_email": false, "new_responses": false, "new_responses_email": false, "new_follower": false, "new_follower_email": false, "followed": false, "followed_email": false}
navigation:
torrents_per_page: 50
max_torrents_per_page: 300
log:
# AccessLogFilePath : Path to logs access
access_log_filepath: log/access
# AccessLogFileExtension : Extension for log file
access_log_fileextension: .txt
# AccessLogMaxSize : Size max for a log file in megabytes
access_log_max_size: 5
# AccessLogMaxBackups : Number of file for logs
access_log_max_backups: 7
# AccessLogMaxAge : Number of days that we keep logs
access_log_max_age: 30
# ErrorLogFilePath : Path to log errors
error_log_filepath: log/error
# ErrorLogFileExtension : Extension for log file
error_log_fileextension: .json
# ErrorLogMaxSize : Size max for a log file in megabytes
error_log_max_size: 10
# ErrorLogMaxBackups : Number of file for logs
error_log_max_backups: 7
# ErrorLogMaxAge : Number of days that we keep logs
error_log_max_age: 30
email:
# SendEmail : Enable Email
send_email: true
# EmailFrom : email address by default
from: donotrespond@nyaa.pantsu.cat
# EmailTestTo : when testing to who send email
test_to:
# EmailHost : Host of mail server
host: localhost
# EmailUsername : Username needed for the connection
username:
# EmailPassword : Password needed for the connection
password:
# EmailPort : Mail Server port
port: 465
# EmailTimeout : Timeout for waiting server response
timeout: 10000000000
models:
# LastOldTorrentID is the highest torrent ID that was copied from the original Nyaa
last_old_torrent_id: 923000
# TorrentsTableName : Name of torrent table in DB
torrents_table_name: torrents
# ReportsTableName : Name of torrent report table in DB
reports_table_name: torrent_reports
# CommentsTableName : Name of comments table in DB
comments_table_name: comments
# UploadsOldTableName : Name of uploads table in DB
uploads_old_table_name: user_uploads_old
# FilesTableName : Name of files table in DB
files_table_name: files
# NotificationTableName : Name of notifications table in DB
notifications_table_name: notifications
# ActivitiesTableName : Name of activities log table in DB
activities_table_name: activities
# NotificationTableName : Name of scrape table in DB
scrape_table_name: scrape