The latest releases from your favorite porn studios in one place.
Go to file
DebaucheryLibrarian 5edf781da7 1.244.6 2024-10-29 22:42:33 +01:00
assets Fixed Jules Jordan poster returning page URL. 2024-08-25 21:39:05 +02:00
common@c068c759b2 Passing refresh view parameter into profile interpolator. Updated Got Filled and Inserted API keys. 2024-10-25 00:56:35 +02:00
config Separated media request limits. 2024-10-29 22:42:30 +01:00
docs Updating Manticore scenes database on scene store. 2024-01-25 01:15:42 +01:00
log Added showcased migration. Added Love Her Films scraper. 2022-10-25 23:13:24 +02:00
migrations Added actors avatars migration to repo. 2024-10-26 01:05:02 +02:00
public/img Removed banners symlink from repo. 2024-06-13 03:14:31 +02:00
seeds Passing refresh view parameter into profile interpolator. Updated Got Filled and Inserted API keys. 2024-10-25 00:56:35 +02:00
src Separated media request limits. 2024-10-29 22:42:30 +01:00
.babelrc Added showcased migration. Added Love Her Films scraper. 2022-10-25 23:13:24 +02:00
.editorconfig Added showcased migration. Added Love Her Films scraper. 2022-10-25 23:13:24 +02:00
.eslintignore Added showcased migration. Added Love Her Films scraper. 2022-10-25 23:13:24 +02:00
.eslintrc Storing avatars in actors avatars table to allow multiple (historical) photos per profile. 2024-10-26 01:04:28 +02:00
.gitignore Added AnalVids exclusion JSON to repo. 2024-10-18 03:39:57 +02:00
.gitmodules Renamed traxxx utils to common. Added natural lips column. 2024-10-22 02:51:00 +02:00
.nvmrc Updated all dependencies. Updated MindGeek to Aylo. 2023-11-30 03:12:47 +01:00
README.md Refactored Bang! scraper to match new website, first use of unprint. 2022-11-27 04:22:58 +01:00
ecosystem.config.js Added Umami to pm2 ecosystem file. 2023-07-24 22:21:05 +02:00
knexfile.js Added showcased migration. Added Love Her Films scraper. 2022-10-25 23:13:24 +02:00
package-lock.json 1.244.6 2024-10-29 22:42:33 +01:00
package.json 1.244.6 2024-10-29 22:42:33 +01:00
traxxx Updated all dependencies. Updated MindGeek to Aylo. 2023-11-30 03:12:47 +01:00
webpack.config.js Added Freaky Fembots to Team Skeet. 2024-01-03 23:03:30 +01:00

README.md

Traxxx

NSFW - The latest releases from your favorite porn studios in one place.

Install & run

Use nvm to install NodeJS v16.8.0 or newer. Download and unpack or clone this repository, and run the following in the root directory:

npm install

Set up database

Install PostgreSQL, make sure password authentication is enabled (scram-sha-256). Create a database with a fully privileged user, and a visitor user without privileges (they will be provided by the migration).

Configuration

Do not modify config/default.js, but instead create a copy at config/local.js containing the properties you wish to change. If you have set NODE_ENV, copy assets/js/config/default.js to assets/js/config/[environment].js. After setting up PostgreSQL and configuring the details, run the following commands to create and populate the tables, and build the project:

npm run migrate

npm run seed

You can also use npm run flush to run both steps at once, and wipe the database completely later.

Networks and channels

To scrape the networks and channels available in the database, you can configure include and exclude lists. To include all available channels and only use the exclude list, leave the include parameter unconfigured. The exclude lists will exclude channels and child networks from networks on the include lists, but not vice versa. That is, if the include list includes a network and the exclude list excludes one of that network's channels, the channel will not be scraped. However, if the include list includes a channel, and the exclude list includes its parent network, the channel will be scraped.

This configuration will scrape Evil Angel and all XEmpire channels, except for LesbianX.

include: {
	networks: [
		'xempire',
	],
	channels: [
		'evilangel',
	],
},
exclude: {
	channels: [
		'lesbianx',
	],
}

This configuration will scrape all channels, except for BAM Visions, and except all channels part of the Vixen network.

exclude: {
	channels: [
		'bamvisions',
	],
	networks: [
		'vixen'
	],
},

Building

To build traxxx, run the following command:

npm run build

To generate thumbnails for new logos and tag photos, install ImageMagick and run:

npm run logos-thumbs

npm run tags-thumbs

Run

./traxxx --option value or npm start -- --option value

  • --server: Run the web server

Channels

  • --channels [slug] [slug]: Fetch updates from specific channels. The slug is the channel's name in lowercase and without cases or special characters. For example, Teens Like It Big is teenslikeitbig. Overrides configured included networks and channels.
  • --networks [slug] [slug]: Fetch updates from all sites of a specific network. The network slug is composed similarly to the channel slug. Overrides configured included networks and channels.
  • --exclude-channels [slug] [slug]: Scrape every configured, specified or available channel, except for specified. Overrides configured excluded channels.
  • --exclude-networks [slug] [slug]: Scrape every configured, specified or available network, except for specified. Overrides configured excluded networks.
  • --after "[time]": Do not fetch scenes older than this period or date. Example values are: "1 month", "3 years", "2019-01-01".
  • --scene [URL]: Try to retrieve scene details from its official channel or network URL.
  • --deep: Follow each release link found running --channel or --network and scrape it for more details. Enabled by default ; use --no-deep to only save information found on the overview pages.

Actors

  • --actors "[name]" "[name]": Fetch actor profiles. When no names are specified, actors without existing profiles are scraped
  • --actors-file [filepath]: Fetch all scenes for the actors specified in a file using a newline delimiter.
  • --actors-sources [slug] [slug]: Scrapers to use for actor profiles. Defaults to config.
  • --actors-update [time]: Update actors that don't have any profiles newer than period ("1 month") or date (2020-08-01). Using this argument without a value will default to 1900-01-01, practically updating all actors.
  • --actors-scenes: Fetch all scenes for scraped actors. Use with caution, as an actor may have many scenes.
  • --scene-actors: Fetch profiles for actors associated with scraped scenes. Use with caution, as scenes may have many actors, each with many profiles.

Developers

  • --no-save: Do not store retrieved information in local database, forcing re-fetch.
  • --level: Change log level to silly, verbose, info, warn or error.
  • --delete-scenes: Delete scenes and assets by ID.
  • --delete-movies: Delete movies and assets by ID.
  • --flush-network: Delete all scenes and movies with assets from all network channels
  • --flush-channel: Delete all scenes and movies with assets from a channel
  • --flush-batch: Delete all scenes and movies with assets from a batch ID
  • --flush-media: Delete temporary media directory and all unassociated media entries and files

API

A GraphQL API is available at /graphql, and a REST API is available at the following GET endpoints:

  • /api/scenes: Fetch the latest releases. Supports search with query or q parameter;
  • /api/scenes/{ID}: Fetch scene by ID.
  • /api/actors: Fetch actors. Search query or q parameter required.
  • /api/actors/{ID|slug}: Fetch detailed actor by ID or slug.
  • /api/entities: Fetch networks and channels. Use the type parameter to filter for either channels or networks.
  • /api/entities/{ID|slug}: Fetch detailed network or channel by ID. To fetch by slug, the type parameter must specify either channel or network.
  • /api/channels: Fetch channel entities. Supports the q or query parameter for searching.
  • /api/channels/{ID|slug}: Fetch detailed channel by ID or slug.
  • /api/networks: Fetch networks. Supports a q or query parameter for searching.
  • /api/networks/{ID|slug}: Fetch detailed network by ID or slug.
  • /api/tags: Fetch tags.
  • /api/tags/{ID|slug|name}: Fetch detailed tag by ID, slug or name.

Supported networks & sites

1121 channels on 83 networks, continuously expanding!

  • 21Naturals
  • 21Sextreme
  • 21Sextury
  • Adult Time
  • Amateur Allure
  • Amateur Euro
  • American Pornstar
  • Assylum
  • Aziani (Gangbang Creampies)
  • Babes
  • Bang!
  • Bang Bros
  • Blowpass
  • Brazzers
  • Burning Angel
  • Cherry Pimps
  • CzechAV
  • DDF Network / Porn World
  • Digital Playground
  • Dogfart Network
  • Dorcel
  • Elegant Angel
  • Evil Angel
  • Fake Hub
  • Fame Digital
  • Fantasy Massage
  • FCUK (Exploited College Girls)
  • First Anal Quest
  • ForBondage
  • Full Porn Network (Analized, James Deen)
  • Gaywire
  • Girlsway
  • Hitzefrei
  • Hookup Hotshot
  • Hush Pass
  • Hussie Pass
  • In The Crack
  • Insex
  • Interracial Pass
  • JayRock Productions
  • Jesse Loads Monster Facials
  • Jules Jordan
  • Karups
  • Kelly Madison Media (Teen Fidelity)
  • Killergram
  • Kink
  • LegalPorno
  • LetsDoeIt
  • Little Caprice Dreams
  • Mamacitaz
  • Men
  • Metro HD
  • Mike Adriano
  • Mile High Media
  • MOFOS
  • Naughty America
  • New Sensations
  • Nubiles
  • Pascal's Sub Sluts
  • Perfect Gonzo
  • Perv City
  • Pimp.XXX
  • Pinky XXX
  • Porn Pros
  • PornCZ
  • Private
  • Pure Taboo
  • Reality Kings
  • SCORE
  • Sexy Hub
  • Team Skeet
  • Teen Core Club
  • TransBella
  • Twistys
  • VIP Sex Vault
  • Vivid
  • Vixen
  • VogoV
  • Whale Member (Holed, POVD)
  • Wicked
  • XEmpire
  • ZTOD