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 b2b48f61b0 Torrent Generation on not found error (#1600)
* [WIP] Torrent Generation on not found error
As asked in #1517, it allows on-the-fly torrent generation. Since it uses magnet links, it needs some time to connect to peers. So it can't be instant generation, we need the user to wait and try after a minute at least.

* Replace Fatal by simple error

* attempt at fixing travis

* del

* Add Anacrolyx dependency

* Add back difflib

* Remove .torrent suffix in the url example

* Add some explanations when file missing page shown

* Ignore downloads directory

* Either use cache (third-party site) or own download directory

* Wrong import

* If there is an error then it means we aren't generating a torrent file

May it be "torrent not found" or "We do not store torrent files" which are the two only existing errors for this page

* hash is never empty

* TorrentLink may be empty at times

So we add a /download/:hash link if it is

* Update README.md

* Made a mistake here, need to check if false

* Update en-us.all.json

* Update CHANGELOG.md

* Torrent file generation can be triggered by click on button if JS enabled

* Update download.go

* Update download.go

* Use c.JSON instead of text/template

* Return to default behavior if we don't generate the file

* Don't do the query if returned to default behavior

* Add "Could not generate torrent file" error

* Fix JS condition & lower delay until button updates

* Start download automatically once torrent file is generated

* Fix torrentFileExists() constantly returning false if external torrent download URL

* torrent-view-data is two tables instead of one

This allows the removal of useless things without any problem (e.g Website link), but also a better responsibe design since the previous one separated stats after a certain res looking very wonky

* CSS changes to go along

* Remove useless <b></b>

* Update main.css

* In torrentFileExists, check if filestorage path exists instead of looking at the domain in torrent link

When checking if the file is stored on another server i used to simply check if the domain name was inside the torrent link, but we can straight up check for filestorage length

* Fix JS of on-demand stat fetching

* ScrapeAge variable accessible through view.jet.html

Contains last scraped time in hours, is at -1 is torrent has never been scraped
Stats will get updated if it's either at -1 or above 1460 (2 months old)

* Refresh stats if older than two months OR unknown and older than 24h

Show last scraped date even if stats are unknown

* Add StatsObsolete variable to torrent

Indicating if:
- They can be shown
- They need to be updated

* Update scraped data even if Unknown, prevent users from trying to fetch stats every seconds

* Torrent file stored locally by default

* no need to do all of that if no filestorage

* fix filestorage path

* Fix torrent download button stuck on "Generating torrent file" at rare times

* fix some css rules that didn't work on IE

* Fix panic error

Seems like this error is a known bug from  anacrolyx torrent https://github.com/anacrolix/torrent/issues/83

To prevent it, I'm creating a single client and modifying the socket.go to make it not raise a panic but a simple error log.
2017-10-21 09:40:43 +02:00

225 lignes
8,7 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.1.0"
# 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)
torrents:
filestorage: ./downloads/
# TorrentStorageLink : Url of torrent file download location (eg https://your.site/somewhere/%s)
storage_link: /download/%s
# 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.uw0.xyz:6969/announce
- 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
#Default themes
default_theme:
theme: g
dark: tomorrow
forced:
#Put a theme name in forced to force it for everyone