logo

Academy

DocumentationSubmit a solution

External solutions

The OTHERS.lst database of solutions from the internet, and the links that you must add to each merge request.

About

This section gives the concept of an external solution. It also gives the rules of the OTHERS.lst file, and the links that you must add to each merge request.

Concept

Fluid Attacks keeps a database of the solutions that are on the internet for each challenge of the repository. The database protects your unique solution metric, and it prevents plagiarism. Each challenge folder contains a file OTHERS.lst. That file has the links to the solutions on the internet for that challenge. Each of these links is an external solution.

When you upload a solution, you must also add exactly 10 new links to the database. 10 is the minimum and the maximum. Each of these links must solve any other challenge of the repository. The 10 links can go to different challenges.

CAUTION: Do not put one of your 10 links in the OTHERS.lst of the challenge that you solve. That link removes the unique solution status of your own solution, in the same commit that gives it.

The reason is different for each type of challenge:

  • For a hacking challenge, the file decides. A solution is unique only while that OTHERS.lst is empty or absent.
  • For a programming challenge, the extension decides. A solution is unique only while no link in that OTHERS.lst has the extension of your solution.

Rules

  1. Your 10 new links must not be external solutions for the challenge that you solved.

  2. Your 10 new links do not have to be external solutions for the website of the challenge that you solved.

  3. Each of your 10 new links can be an external solution for a different challenge.

  4. All the links in OTHERS.lst must be direct links, with the status HTTP 200. A link with a redirection, HTTP 301 or HTTP 302, is not correct.

  5. The links must be programming solutions if you solved a programming challenge.

    • Two URLs of one OTHERS.lst must not have the same file extension. Fluid Attacks rejects a second .py link in a file that already has one.
    • Two URLs must not be solutions in the same programming language, even when the extensions are different. A reviewer rejects a .cc link in a file that already has a .cpp link, because both are C++.
    • The URLs in the OTHERS.lst of a programming challenge must be in alphabetical order by extension. A URL with no valid extension goes after all the others, in alphabetical order of the full URL. Put your link in its correct position.
    • A programming OTHERS.lst must contain only sources from repositories. Do not add a website or a video tutorial.
    • Each URL must start with https://raw.githubusercontent.com/. Fluid Attacks accepts no other host in the OTHERS.lst of a programming challenge. A raw link to a different platform is not correct.
    • The file extension in the URL must have only alphanumeric characters, and 15 characters or less. A special character such as -, +, # or an emoji is not correct. If the original file has one, find a different source or use a different name for the extension. For example, use .cpp and not .c++, .cs and not .c#, .ob2 and not .oberon-2, and .mojo and not .🔥.
  6. The links must be hacking solutions if you solved a hacking challenge.

    • If you send a vbd-hacking solution, the external solutions must be vbd-hacking solutions.
    • If you send a ctf-hacking solution, the external solutions can be ctf-hacking solutions or vbd-hacking solutions.
  7. Each link must be different. Two links in one OTHERS.lst file must not be the same.

On this page