Skip to content

Configuration files for Nyuu

You can read what all the options do here. You don't need to know what each option does since most likely you'll be good to go by just replacing the dummy values, but I'll recommend going through them regardless. You should also consider using a paid BLOCK account for uploading.

Dummy values

All three of the provided configs below have 3 dummy values that you need to replace before using:

  • "host": "your.provider.com",

  • "user": "coolusername",

  • "password": "123password",

  • "dump-failed-posts": "/path/to/folder",

Note

Windows paths must use double backslashes \\, e.g, D:\\path\\to\\folder.

Example config files

This config obfuscates everything so public indexers can't index it. This will be the config you pass to NYUU_CONFIG_PRIVATE.

{
    " *** Server Options *** ":0,
    "host":               "your.provider.com",
    "port":               563,
    "ssl":                true,
    "ignore-cert":        false,
    "user":               "coolusername",
    "password":           "123password",
    "connections":        20,

    " *** Article Options *** ":0,
    "article-size":       "700K",
    "subject":            "${rand(20)}",
    "comment":            "",
    "from":               "${rand(10)}@${rand(5)}.${rand(3)}",
    "groups":             "alt.binaries.boneless",
    "yenc-name":          "${rand(15)}",

    " *** Check Options *** ":0,
    "check-connections":  5,
    "check-tries":        2,
    "check-delay":        "5s",
    "check-retry-delay":  "30s",
    "check-post-tries":   2,

    " *** NZB Options *** ":0,
    "out":                "{filename}.nzb",
    "overwrite":          true,
    "nzb-subject":        "[{filenum}/{files}] - \"{filename}\" yEnc ({part}/{parts}) {filesize}",

    " *** Other Options *** ":0,
    "skip-errors":        "all",
    "dump-failed-posts":  "/path/to/folder",
    "quiet":              false,
    "token-eval":         false,

    " *** UI Options *** ":0,
    "log-time":           true,

    " *** Input Files *** ":0,
    "subdirs":            "keep"
    }

This config does not obfuscate anything and public indexers will index it. This will be the config you pass to NYUU_CONFIG_PUBLIC.

Note

You must change "from": "example@example.com", in this config. This is similar to a "username" field for your uploads and is necessary for public indexers to index your uploads. For example, seadex uploads use "from": "seadex@releases.moe",. This does not need to be a real domain, so you can write whatever you want.

{
    " *** Server Options *** ":0,
    "host":               "your.provider.com",
    "port":               563,
    "ssl":                true,
    "ignore-cert":        false,
    "user":               "coolusername",
    "password":           "123password",
    "connections":        20,

    " *** Article Options *** ":0,
    "article-size":       "700K",
    "comment":            "",
    "from":               "example@example.com",
    "groups":             "alt.binaries.boneless",

    " *** Check Options *** ":0,
    "check-connections":  5,
    "check-tries":        2,
    "check-delay":        "5s",
    "check-retry-delay":  "30s",
    "check-post-tries":   2,

    " *** NZB Options *** ":0,
    "out":                "{filename}.nzb",
    "overwrite":          true,
    "nzb-subject":        "[{filenum}/{files}] - \"{filename}\" yEnc ({part}/{parts}) {filesize}",

    " *** Other Options *** ":0,
    "skip-errors":        "all",
    "dump-failed-posts":  "/path/to/folder",
    "quiet":              false,
    "token-eval":         false,

    " *** UI Options *** ":0,
    "log-time":           true,

    " *** Input Files *** ":0,
    "subdirs":            "keep"
    }

This is an alternative private config that randomizes the length of the randomizer for the schizophrenic.

Note

Nyuu can accept arbitrary JavaScript code as input, which we can use to further randomize the built in ${rand(N)}

${rand(Math.floor(Math.random()*(30-10)+10))}
/*
Format: Math.floor(Math.random()*(MAX-MIN)+MIN)
Replace the Max and Min values with whatever you feel like it.

In this example, this creates a random integer between 10 and 30,
which is then used as an argument for the rand() function to generate
a random string of that length
*/
{
" *** Server Options *** ":0,
"host":               "your.provider.com",
"port":               563,
"ssl":                true,
"ignore-cert":        false,
"user":               "coolusername",
"password":           "123password",
"connections":        20,

" *** Article Options *** ":0,
"article-size":       "700K",
"subject":            "${rand(Math.floor(Math.random()*(30-10)+10))}",
"comment":            "",
"from":               "${rand(Math.floor(Math.random()*(20-10)+10))}@${rand(Math.floor(Math.random()*(10-5)+5))}.${rand(Math.floor(Math.random()*(5-2)+2))}",
"groups":             "alt.binaries.boneless",
"yenc-name":          "${rand(Math.floor(Math.random()*(20-10)+10))}",

" *** Check Options *** ":0,
"check-connections":  5,
"check-tries":        2,
"check-delay":        "5s",
"check-retry-delay":  "30s",
"check-post-tries":   2,

" *** NZB Options *** ":0,
"out":                "${filename}.nzb",
"overwrite":          true,
"nzb-subject":        "[${filenum}/${files}] - \"${filename}\" yEnc (${part}/${parts}) ${filesize}",

" *** Other Options *** ":0,
"skip-errors":        "all",
"dump-failed-posts":  "/path/to/folder",
"quiet":              false,
"token-eval":         true,

" *** UI Options *** ":0,
"log-time":           true,

" *** Input Files *** ":0,
"subdirs":            "keep"
}

Explanation

You can understand what most of the options do here but I'll explain some of them here:

  1. ${rand(N)}

    • This is a token accepted by various different options, resulting in a random string N characters long
    • You use this to obfuscate uploaded nzbs to prevent them from being taken down by DMCAs and getting indexed by public indexers
    • For private uploads, you should randomize --subject, --from, and --yenc-name
    • For public uploads, it's mostly upto you. If you randomize --subject and --yenc-name, then it won't get picked up by public indexers like NZBKing but it'll work just as expected if you share the NZB file
  2. --token-eval

    • This option expands on the tokens like ${rand(N)}
    • It allows us to input JavaScript
    • For example, you can use it to generate a random number between max and min using Math.floor(Math.random() * (max - min) + min) and then feed that random number to ${rand(N)}
    • Adjust the min and max values as you like

    Note

    You'll have to change your tokens based on whether token-eval is true or false. {filename} will work without token-eval, but you'll have to change it to ${filename} to make it work with --token-eval

  3. --nzb-subject

    • This is what will be written inside the .nzb file created
    • You do not want to obfuscate this for either private or public since this will only ever be accessible to someone who already has the .nzb file
    • You can again use more of the built-in tokens to format this in a way we like
    • I'll be using [${filenum}/${files}] - "${filename}" yEnc (${part}/${parts}) ${filesize} format, following the yenc standard
    • This results in [1/7] - "Show.S01E01.BluRay.1080p.FLAC2.0.H.265-Group.mkv" yEnc (1/483) 346,054,287
  4. --dump-failed-posts

    • This option writes any failed posts to a user-defined directory
    • You can then repost these failed posts as needed