Scroll to navigation

CALIBREDB(1) calibre CALIBREDB(1)

NAME

calibredb - calibredb

calibredb command [options] [arguments]


calibredb is the command line interface to the calibre database. It has several sub-commands, documented below.

calibredb can be used to manipulate either a calibre database specified by path or a calibre Content server running either on the local machine or over the internet. You can start a calibre Content server using either the calibre-server program or in the main calibre program click Connect/share  →  Start Content server. Since calibredb can make changes to your calibre libraries, you must setup authentication on the server first. There are two ways to do that:

  • If you plan to connect only to a server running on the same computer, you can simply use the --enable-local-write option of the Content server, to allow any program, including calibredb, running on the local computer to make changes to your calibre data. When running the server from the main calibre program, this option is in Preferences → Sharing over the net → Advanced.
  • If you want to enable access over the internet, then you should setup user accounts on the server and use the --username and --password options to calibredb to give it access. You can setup user authentication for calibre-server by using the --enable-auth option and using --manage-users to create the user accounts. If you are running the server from the main calibre program, use Preferences → Sharing over the net → Require username/password.



To connect to a running Content server, pass the URL of the server to the --with-library option, see the documentation of that option for details and examples.

  • ΓΕΝΙΚΕΣ ΕΠΙΛΟΓΕΣ
  • list
  • add
ΠΡΟΣΘΗΚΗ ΑΠΟ ΦΑΚΕΛΟΥΣ

  • remove
  • add_format
  • remove_format
  • show_metadata
  • set_metadata
  • export
  • catalog
EPUB ΕΠΙΛΟΓΕΣ

  • saved_searches
  • add_custom_column
  • custom_columns
  • remove_custom_column
  • set_custom
  • restore_database
  • check_library
  • list_categories
  • backup_metadata
  • clone
  • embed_metadata
  • search

ΓΕΝΙΚΕΣ ΕΠΙΛΟΓΕΣ

Εμφάνιση μηνύματος βοήθειας και έξοδος

Path to the calibre library. Default is to use the path stored in the settings. You can also connect to a calibre Content server to perform actions on remote libraries. To do so use a URL of the form: http://hostname:port/#library_id for example, http://localhost:8080/#mylibrary. library_id is the library id of the library you want to connect to on the Content server. You can use the special library_id value of - to get a list of library ids available on the server. For details on how to setup access via a Content server, see https://manual.calibre-ebook.com/generated/en/calibredb.html.

Password for connecting to a calibre Content server. To read the password from standard input, use the special value: <stdin>. To read the password from a file, use: <f:/path/to/file> (i.e. <f: followed by the full path to the file and a trailing >). The angle brackets in the above are required, remember to escape them or use quotes for your shell.

The timeout, in seconds, when connecting to a calibre library over the network. The default is two minutes.

Όνομα χρήστη για σύνδεση σε διακομιστή περιεχομένων calibre

δείξε τον αριθμό έκδοσης του προγράμματος και κλείσε

LIST

calibredb list [options]


List the books available in the calibre database.

Whenever you pass arguments to calibredb that have spaces in them, enclose the arguments in quotation marks. For example: "/some path/with spaces"

Ταξινόμηση αποτελεσμάτων κατά αύξουσα σειρά

The fields to display when listing books in the database. Should be a comma separated list of fields. Available fields: author_sort, authors, comments, cover, formats, identifiers, isbn, languages, last_modified, pubdate, publisher, rating, series, series_index, size, tags, timestamp, title, uuid Default: title,authors. The special field "all" can be used to select all fields. In addition to the builtin fields above, custom fields are also available as *field_name, for example, for a custom field #rating, use the name: *rating

Generate output in JSON format, which is more suitable for machine parsing. Causes the line width and separator options to be ignored.

Ο μέγιστος αριθμός αποτελεσμάτων προς παρουσίαση. Εξ ορισμού: όλα

The maximum width of a single line in the output. Defaults to detecting screen size.

The prefix for all file paths. Default is the absolute path to the library folder.

Filter the results by the search query. For the format of the search query, please see the search related documentation in the User Manual. Default is to do no filtering.

Η συμβολοσειρά που χρησιμοποιείται για να διαχωρίζει τα πεδία. Προεπιλέχθηκε ο χαρακτήρας διαστήματος.

Το πεδίο βάσει του οποίου θα ταξινομούνται τα αποτελέσματα. Διαθέσιμα πεδία: author_sort, authors, comments, cover, formats, identifiers, isbn, languages, last_modified, pubdate, publisher, rating, series, series_index, size, tags, timestamp, title, uuid Προεπιλεχθέν: id

ADD

calibredb add [options] file1 file2 file3 ...


Προσθήκη των καθορισμένων αρχείων ως βιβλίων στην βάση δεδομένων. Μπορείτε επίσης να καθορίσετε και καταλόγους. Δείτε τις επιλογές για καταλόγους, παρακάτω.

Whenever you pass arguments to calibredb that have spaces in them, enclose the arguments in quotation marks. For example: "/some path/with spaces"

Καθορισμός των συγγραφέων του βιβλίου(ων) που προστέθηκε

Αν βρεθούν βιβλία με παρόμοιους τίτλους και συγγραφείς, αυτόματη συγχώνευση των εισερχόμενων μορφών (αρχείων) με υπάρχουσες εγγραφές βιβλίων. Η τιμή «αγνόηση» σημαίνει ότι οι διπλότυπες μορφές θα απορρίπτονται. Η τιμή «αντικατάσταση» σημαίνει ότι οι διπλότυπτες μορφές στην βιβλιοθήκη θα επανεγγράφονται από τα αρχεία που μόλις προστέθηκαν. Η τιμή «νέα_εγγραφή» σημαίνει ότι οι διπλότυπες μορφές αποθηκεύονται σε μια νέα εγγραφή βιβλίου.

Διαδρομή για το εξώφυλλο που θα χρησιμοποιηθεί για το βιβλίο που προστέθηκε

Προσθήκη βιβλίων στην βάση δεδομένων ακόμη και αν αυτά υπάρχουν ήδη. Η σύγκριση γίνεται βάσει τίτλου και συγγραφέα. Σημειώστε η επιλογή --automerge έχει προτεραιότητα.

Προσθέστε κενό βιβλίο (Εγγραφή βιβλίου χωρίς αρχείο)

Καθορίστε τα αναγνωριστικά για το βιβλίο αυτό, π.χ. -I asin:XXX -I isbn:YYY

Καθορισμός των ISBN του βιβλίου(ων) που προστέθηκε

Ένας κατάλογος από γλώσσες που διαχωρίζονται από κόμμα (καλύτερα να χρησιμοποιηθούν κωδικοί γλωσσών ISO639, αν και κάποια ονόματα γλωσσών μπορούν επίσης να αναγνωριστούν)

Καθορίστε τη σειρά του προστιθέμενου βιβλίου (ή των προστιθέμενων βιβλίων).

Καθορίστε τον αριθμό σειράς του προστιθέμενου βιβλίου (ή των προστιθέμενων βιβλίων).

Καθορισμός ετικετών του βιβλίου(ων) που προστέθηκε

Καθορισμός του τίτλου του προστιθέμενου βιβλίου(ων)

ΠΡΟΣΘΗΚΗ ΑΠΟ ΦΑΚΕΛΟΥΣ

Επιλογές για τον έλεγχο της προσθήκης βιβλίων από φακέλους. Εξ ορισμού, μόνο αρχεία με επεκτάσεις που αντιστοιχούν σε γνωστές μορφές ψηφιακών βιβλίων προστίθενται.

Πρότυπο ονόματος αρχείου (glob). Τα αρχεία που ακολουθούν αυτό το πρότυπο θα προστίθενται όταν σαρώνονται οι κατάλογοι, ακόμη και αν δεν είναι γνωστού τύπου αρχείου ηλεκτρονικού βιβλίου. Μπορεί να ορισθεί πολλές φορές για πολλαπλά πρότυπα.

Πρότυπο ονόματος αρχείου (glob). Τα αρχεία που ακολουθούν αυτό το πρότυπο θα αγνοούνται όταν οι κατάλογοι σαρώνονται για αρχεία. Μπορεί να ορισθεί πολλές φορές για πολλαπλά πρότυπα. Για παράδειγμα: το πρότυπο *.pdf θα αγνοήσει όλα τα αρχεία PDF

Να θεωρείται ότι κάθε κατάλογος έχει μόνο ένα λογικό βιβλίο και ότι όλα τα αρχεία σε αυτόν είναι διαφορετικές μορφές του βιβλίου αυτού.

Κατ' επανάληψη επεξεργασία καταλόγων

REMOVE

calibredb remove ids


Remove the books identified by ids from the database. ids should be a comma separated list of id numbers (you can get id numbers by using the search command). For example, 23,34,57-85 (when specifying a range, the last number in the range is not included).

Whenever you pass arguments to calibredb that have spaces in them, enclose the arguments in quotation marks. For example: "/some path/with spaces"

Να μην χρησιμοποιηθεί ο κάδος ανακύκλωσης

ADD_FORMAT

calibredb add_format [options] id ebook_file


Add the e-book in ebook_file to the available formats for the logical book identified by id. You can get id by using the search command. If the format already exists, it is replaced, unless the do not replace option is specified.

Whenever you pass arguments to calibredb that have spaces in them, enclose the arguments in quotation marks. For example: "/some path/with spaces"

Να μην αντικατασταθούν μορφές που ήδη υπάρχουν

REMOVE_FORMAT

calibredb remove_format [options] id fmt


Remove the format fmt from the logical book identified by id. You can get id by using the search command. fmt should be a file extension like LRF or TXT or EPUB. If the logical book does not have fmt available, do nothing.

Whenever you pass arguments to calibredb that have spaces in them, enclose the arguments in quotation marks. For example: "/some path/with spaces"

SHOW_METADATA

calibredb show_metadata [options] id


Show the metadata stored in the calibre database for the book identified by id. id is an id number from the search command.

Whenever you pass arguments to calibredb that have spaces in them, enclose the arguments in quotation marks. For example: "/some path/with spaces"

Εκτύπωση μεταδεδομένων σε μορφή OPF (XML)

SET_METADATA

calibredb set_metadata [options] id [/path/to/metadata.opf]


Set the metadata stored in the calibre database for the book identified by id from the OPF file metadata.opf. id is an id number from the search command. You can get a quick feel for the OPF format by using the --as-opf switch to the show_metadata command. You can also set the metadata of individual fields with the --field option. If you use the --field option, there is no need to specify an OPF file.

Whenever you pass arguments to calibredb that have spaces in them, enclose the arguments in quotation marks. For example: "/some path/with spaces"

The field to set. Format is field_name:value, for example: --field tags:tag1,tag2. Use --list-fields to get a list of all field names. You can specify this option multiple times to set multiple fields. Note: For languages you must use the ISO639 language codes (e.g. en for English, fr for French and so on). For identifiers, the syntax is --field identifiers:isbn:XXXX,doi:YYYYY. For boolean (yes/no) fields use true and false or yes and no.

List the metadata field names that can be used with the --field option

EXPORT

calibredb export [options] ids


Export the books specified by ids (a comma separated list) to the filesystem. The export operation saves all formats of the book, its cover and metadata (in an opf file). You can get id numbers from the search command.

Whenever you pass arguments to calibredb that have spaces in them, enclose the arguments in quotation marks. For example: "/some path/with spaces"

Export all books in database, ignoring the list of ids.

Have calibre convert all non English characters into English equivalents for the file names. This is useful if saving to a legacy filesystem without full support for Unicode filenames. Η επιλογή αυτή θα βάλει τέλος στη συμπεριφορά αυτή.

Κανονικά, το calibre θα αποθηκεύσει το εξώφυλλο σε ένα ξεχωριστό αρχείο, μαζί με τα αρχεία ψηφιακών βιβλίων. Η επιλογή αυτή θα βάλει τέλος στη συμπεριφορά αυτή.

Κανονικά, το calibre θα ενημερώσει τα μεταδεδομένα στα προς αποθήκευση αρχεία, βασιζόμενο στα δεδομένα της βιβλιοθήκης. Αυτό κάνει πιο αργή τη διαδικασία αποθήκευσης. Η επιλογή αυτή θα βάλει τέλος στη συμπεριφορά αυτή.

Κανονικά, το calibre θα γράψει τα μεταδεδομένα σε ένα ξεχωριστό αρχείο OPF μαζί με τα πραγματικά αρχεία ψηφιακών βιβλίων. Η επιλογή αυτή θα βάλει τέλος στη συμπεριφορά αυτή.

Διαχωριζόμενος από κόμματα κατάλογος των μορφών που θα αποθηκεύονται για κάθε βιβλίο. Προεπιλογή είναι να αποθηκεύονται όλες οι διαθέσιμες μορφές.

Αναφορά προόδου

Αντικατάσταση των λευκών χαρακτήρων από κάτω παύλες.

Εξαγωγή όλων των βιβλίων στον ίδιο φάκελο

The template to control the filename and folder structure of the saved files. Default is "{author_sort}/{title}/{title} - {authors}" which will save books into a per-author subfolder with filenames containing title and author. Available controls are: {author_sort, authors, id, isbn, languages, last_modified, pubdate, publisher, rating, series, series_index, tags, timestamp, title}

Η μορφή στην οποία εμφανίζονται οι ημερομηνίες. %d - ημέρα, %b - μήνας, %m - αριθμός μήνα, %Y - έτος. Η προεπιλογή είναι: %b, %Y

Εξαγωγή των βιβλίων στον καθορισμένο φάκελο. Εξ ορισμού .

Μετατροπή διαδρομών σε πεζά.

CATALOG

calibredb catalog /path/to/destination.(csv|epub|mobi|xml...) [options]


Export a catalog in format specified by path/to/destination extension. Options control how entries are displayed in the generated catalog output. Note that different catalog formats support different sets of options. To see the different options, specify the name of the output file and then the --help option.

Whenever you pass arguments to calibredb that have spaces in them, enclose the arguments in quotation marks. For example: "/some path/with spaces"

Comma-separated list of database IDs to catalog. If declared, --search is ignored. Default: all

Filter the results by the search query. For the format of the search query, please see the search-related documentation in the User Manual. Default: no filtering

Παρουσίαση λεπτομερειών στην έξοδο. Χρήσιμο για αποσφαλμάτωση.

EPUB ΕΠΙΛΟΓΕΣ

Title of generated catalog used as title in metadata. Default: 'My Books' Applies to: AZW3, EPUB, MOBI output formats

Create cross-references in Authors section for books with multiple authors. Default: 'False' Applies to: AZW3, EPUB, MOBI output formats

Save the output from different stages of the conversion pipeline to the specified folder. Useful if you are unsure at which stage of the conversion process a bug is occurring. Default: 'None' Applies to: AZW3, EPUB, MOBI output formats

Regex describing tags to exclude as genres. Default: '[.+]|^+$' excludes bracketed tags, e.g. '[Project Gutenberg]', and '+', the default tag for read books. Applies to: AZW3, EPUB, MOBI output formats

Specifies the rules used to exclude books from the generated catalog. The model for an exclusion rule is either ('<rule name>','Tags','<comma-separated list of tags>') or ('<rule name>','<custom column>','<pattern>'). For example: (('Archived books','#status','Archived'),) will exclude a book with a value of 'Archived' in the custom column 'status'. When multiple rules are defined, all rules will be applied. Default: "(('Catalogs','Tags','Catalog'),)" Applies to: AZW3, EPUB, MOBI output formats

Include 'Authors' section in catalog. Default: 'False' Applies to: AZW3, EPUB, MOBI output formats

Include 'Descriptions' section in catalog. Default: 'False' Applies to: AZW3, EPUB, MOBI output formats

Include 'Genres' section in catalog. Default: 'False' Applies to: AZW3, EPUB, MOBI output formats

Include 'Recently Added' section in catalog. Default: 'False' Applies to: AZW3, EPUB, MOBI output formats

Include 'Series' section in catalog. Default: 'False' Applies to: AZW3, EPUB, MOBI output formats

Include 'Titles' section in catalog. Default: 'False' Applies to: AZW3, EPUB, MOBI output formats

Source field for 'Genres' section. Default: 'Ετικέτες' Applies to: AZW3, EPUB, MOBI output formats

Custom field containing note text to insert in Description header. Default: '' Applies to: AZW3, EPUB, MOBI output formats

#<custom field>:[before|after]:[True|False] specifying: <custom field> Custom field containing notes to merge with comments [before|after] Placement of notes with respect to comments [True|False] - A horizontal rule is inserted between notes and comments Default: '::' Applies to: AZW3, EPUB, MOBI output formats

Specifies the output profile. In some cases, an output profile is required to optimize the catalog for the device. For example, 'kindle' or 'kindle_dx' creates a structured Table of Contents with Sections and Articles. Default: 'None' Applies to: AZW3, EPUB, MOBI output formats

--prefix-rules
Specifies the rules used to include prefixes indicating read books, wishlist items and other user-specified prefixes. The model for a prefix rule is ('<rule name>','<source field>','<pattern>','<prefix>'). When multiple rules are defined, the first matching rule will be used. Default: "(('Read books','tags','+',''),('Wishlist item','tags','Wishlist','×'))" Applies to: AZW3, EPUB, MOBI output formats

Use a named preset created with the GUI catalog builder. A preset specifies all settings for building a catalog. Default: 'None' Applies to: AZW3, EPUB, MOBI output formats

Size hint (in inches) for book covers in catalog. Range: 1.0 - 2.0 Default: '1.0' Applies to: AZW3, EPUB, MOBI output formats

Replace existing cover when generating the catalog. Default: 'False' Applies to: AZW3, EPUB, MOBI output formats

SAVED_SEARCHES

calibredb saved_searches [options] (list|add|remove)


Manage the saved searches stored in this database. If you try to add a query with a name that already exists, it will be replaced.

Syntax for adding:

calibredb saved_searches add search_name search_expression

Syntax for removing:

calibredb saved_searches remove search_name

Whenever you pass arguments to calibredb that have spaces in them, enclose the arguments in quotation marks. For example: "/some path/with spaces"

ADD_CUSTOM_COLUMN

calibredb add_custom_column [options] label name datatype


Δημιουργία προσαρμοσμένης στήλης. label είναι το ψηφιακό φιλικό όνομα για την στήλη.Δεν πρέπει να περιέχει διαστήματα ή ελληνικά ερωτηματικά. name είναι το ανθρώπινο φιλικό όνομα της στήλης. datatype είναι ένα από: bool, comments, composite, datetime, enumeration, float, int, rating, series, text

Whenever you pass arguments to calibredb that have spaces in them, enclose the arguments in quotation marks. For example: "/some path/with spaces"

A dictionary of options to customize how the data in this column will be interpreted. This is a JSON string. For enumeration columns, use --display"{\ "enum_values\ ":[\ "val1\ ", \ "val2\ "]}" There are many options that can go into the display variable.The options by column type are: composite: composite_template, composite_sort, make_category,contains_html, use_decorations datetime: date_format enumeration: enum_values, enum_colors, use_decorations int, float: number_format text: is_names, use_decorations The best way to find legal combinations is to create a custom column of the appropriate type in the GUI then look at the backup OPF for a book (ensure that a new OPF has been created since the column was added). You will see the JSON for the "display" for the new column in the OPF.

Στη στήλη αυτή αποθηκεύονται δεδομένα τύπου ετικέτας (δηλαδή πολλαπλές τιμές που διαχωρίζονται από κόμμα). Βρίσκει εφαρμογή μόνο αν ο τύπος δεδομένων είναι κείμενο.

CUSTOM_COLUMNS

calibredb custom_columns [options]


List available custom columns. Shows column labels and ids.

Whenever you pass arguments to calibredb that have spaces in them, enclose the arguments in quotation marks. For example: "/some path/with spaces"

Προβολή λεπτομερειών για κάθε στήλη.

REMOVE_CUSTOM_COLUMN

calibredb remove_custom_column [options] label


Remove the custom column identified by label. You can see available columns with the custom_columns command.

Whenever you pass arguments to calibredb that have spaces in them, enclose the arguments in quotation marks. For example: "/some path/with spaces"

Να μην ζητείται επιβεβαίωση

SET_CUSTOM

calibredb set_custom [options] column id value


Set the value of a custom column for the book identified by id. You can get a list of ids using the search command. You can get a list of custom column names using the custom_columns command.

Whenever you pass arguments to calibredb that have spaces in them, enclose the arguments in quotation marks. For example: "/some path/with spaces"

Αν στη στήλη αποθηκεύονται πολλαπλές τιμές, να προστεθούν οι καθορισμένες τιμές στις ήδη υπάρχουσες αντί να τις αντικαταστήσουν.

RESTORE_DATABASE

calibredb restore_database [options]


Restore this database from the metadata stored in OPF files in each folder of the calibre library. This is useful if your metadata.db file has been corrupted.

WARNING: This command completely regenerates your database. You will lose all saved searches, user categories, plugboards, stored per-book conversion settings, and custom recipes. Restored metadata will only be as accurate as what is found in the OPF files.

Whenever you pass arguments to calibredb that have spaces in them, enclose the arguments in quotation marks. For example: "/some path/with spaces"

Really do the recovery. The command will not run unless this option is specified.

CHECK_LIBRARY

calibredb check_library [options]


Perform some checks on the filesystem representing a library. Reports are invalid_titles, extra_titles, invalid_authors, extra_authors, missing_formats, extra_formats, extra_files, missing_covers, extra_covers, failed_folders

Whenever you pass arguments to calibredb that have spaces in them, enclose the arguments in quotation marks. For example: "/some path/with spaces"

Εξαγωγή σε CSV

Διαχωριζόμενη από κόμματα λίστα από επεκτάσεις που θα αγνοούνται. Προεπιλογή: όλες

Διαχωριζόμενη από κόμματα λίστα από ονόματα που θα αγνοούνται. Προεπιλογή: όλα

Διαχωριζόμενη από κόμματα λίστα από αναφορές. Προεπιλογή: όλες

LIST_CATEGORIES

calibredb list_categories [options]


Produce a report of the category information in the database. The information is the equivalent of what is shown in the Tag browser.

Whenever you pass arguments to calibredb that have spaces in them, enclose the arguments in quotation marks. For example: "/some path/with spaces"

Διαχωριζόμενη από κόμματα λίστα από ονομασίες ευρετηρίου κατηγοριών. Προεπιλογή: όλες

Εξαγωγή σε CSV

Ο τύπος του αρχείου CSV που θα δημιουργηθεί. Επιλογές: excel, excel-tab, unix

Output only the number of items in a category instead of the counts per item within the category

The maximum width of a single line in the output. Defaults to detecting screen size.

BACKUP_METADATA

calibredb backup_metadata [options]


Backup the metadata stored in the database into individual OPF files in each books folder. This normally happens automatically, but you can run this command to force re-generation of the OPF files, with the --all option.

Note that there is normally no need to do this, as the OPF files are backed up automatically, every time metadata is changed.

Whenever you pass arguments to calibredb that have spaces in them, enclose the arguments in quotation marks. For example: "/some path/with spaces"

Κανονικά, η εντολή αυτή ενεργεί μόνο σε βιβλία που έχουν παρωχημένα αρχεία OPF. Με την επιλογή αυτή επιτρέπεται η δράση σε όλα τα βιβλία.

CLONE

calibredb clone path/to/new/library


Create a clone of the current library. This creates a new, empty library that has all the same custom columns, Virtual libraries and other settings as the current library.

The cloned library will contain no books. If you want to create a full duplicate, including all books, then simply use your filesystem tools to copy the library folder.

Whenever you pass arguments to calibredb that have spaces in them, enclose the arguments in quotation marks. For example: "/some path/with spaces"

EMBED_METADATA

calibredb embed_metadata [options] book_id


Update the metadata in the actual book files stored in the calibre library from the metadata in the calibre database. Normally, metadata is updated only when exporting files from calibre, this command is useful if you want the files to be updated in place. Note that different file formats support different amounts of metadata. You can use the special value 'all' for book_id to update metadata in all books. You can also specify many book ids separated by spaces and id ranges separated by hyphens. For example: calibredb embed_metadata 1 2 10-15 23

Whenever you pass arguments to calibredb that have spaces in them, enclose the arguments in quotation marks. For example: "/some path/with spaces"

Only update metadata in files of the specified format. Specify it multiple times for multiple formats. By default, all formats are updated.

SEARCH

calibredb search [options] search expression


Search the library for the specified search term, returning a comma separated list of book ids matching the search expression. The output format is useful to feed into other commands that accept a list of ids as input.

The search expression can be anything from calibre's powerful search query language, for example: calibredb search author:asimov 'title:"i robot"'

Whenever you pass arguments to calibredb that have spaces in them, enclose the arguments in quotation marks. For example: "/some path/with spaces"

Ο μέγιστος αριθμός αποτελεσμάτων που θα επιστραφεί. Η προεπιλεγμένη τιμή είναι όλα τα αποτελέσματα.

AUTHOR

Kovid Goyal

COPYRIGHT

Kovid Goyal

Σεπτεμβρίου 24, 2021 5.28.0