Profile walkthrough

If an option is not mentioned, it indicates that it is either not currently implemented in Turul or not part of our planned implementation. Nevertheless, feel free to utilize any profile; Turul will simply disregard options that have not been implemented, as previously mentioned. Please ensure that the communication settings are supported by Turul. For example, setting the dns_idle option will not cause any issues as Turul will ignore it. However, using the uri-append option may disrupt communication, as Turul lacks implementation for it and cannot append the metadata to the URI.

#reddit profile
#from /r/webdev and random comment
#xx0hcd


set sleeptime "30000";
set jitter    "20";
set useragent "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36";
set dns_idle "8.8.8.8";
set maxdns    "235";

#custom cert
#https-certificate {
#    set keystore "your_store_file.store";
#    set password "your_store_pass";
#}

http-config {
#    set headers "Server, Content-Type, Cache-Control, Connection";
#    header "Content-Type" "text/html;charset=UTF-8";
#    header "Connection" "close";
#    header "Cache-Control" "max-age=2";
#    header "Server" "nginx";
    #set "true" if teamserver is behind redirector
    set trust_x_forwarded_for "false";
}

http-get {

    set uri "/r/webdev/comments/95ltyr";

    client {

        header "Host" "www.reddit.com";
	header "Accept" "*/*";
	header "Accept-Language" "en-US";
	header "Connection" "close";


        metadata {
            base64url;
	    prepend "session_tracker=";
	    prepend "0001eqt60.2.1;";
	    prepend "loid=";
	    append ";rseor3=";
	    append "true";
	    append ";reddaid=";
	    append "SHXIJU204B";

	    header "Cookie";

        }

    }

    server {

	header "Cache-control" "private, s-maxage=0, max-age=0, must-revalidate";
	header "Content-Type" "text/html; charset=utf-8";

        output {

            base64url;
	    prepend "<!DOCTYPE html><html lang=\"en\"><head><title>Has anyone else noticed slow loading of Google fonts across the board? : webdev</title><meta charSet=\"utf8\"/><meta name=\"viewport\" content=";
	    append "</script><script defer=\"\" type=\"text/javascript\" src=\"https://www.redditstatic.com/desktop2x/runtime.24e5d569e89bb0cc0439.js\"></script><script defer=\"\" type=\"text/javascript\" src=\"https://www.redditstatic.com/desktop2x/vendors~Profile~ProfileHomepage~ProfilePostComments~R2CommentsPage~R2Listing~Reddit.ab6e733968a19bb51c3a.js\"></script><script defer=\"\" type=\"text/javascript\"";

            print;
        }
    }
}

http-post {

    set uri "/r/webdev/comments/95lyr/slow_loading_of_google";
    set verb "GET";

    client {

	header "Host" "www.reddit.com";
	header "Accept" "*/*";
	header "Accept-Language" "en-US";

        output {
            base64url;

	    prepend "session_tracker=";
	    prepend "0001eqt60.2.1;";
	    prepend "loid=";
	    append ";rseor3=";
	    append "true";
	    append ";reddaid=";
	    append "SHXIJU204B";


	    header "Cookie";


        }


        id {
	    base64url;
	    parameter "id";

        }
    }

    server {

	header "Cache-control" "private, s-maxage=0, max-age=0, must-revalidate";
	header "Content-Type" "text/html; charset=utf-8";


        output {
            base64url;
	    prepend "<!DOCTYPE html><html lang=\"en\"><head><title>Has anyone else noticed slow loading of Google fonts across the board? : webdev</title><meta charSet=\"utf8\"/><meta name=\"viewport\" content=";
	    append "</script><script defer=\"\" type=\"text/javascript\" src=\"https://www.redditstatic.com/desktop2x/runtime.24e5d569e89bb0cc0439.js\"></script><script defer=\"\" type=\"text/javascript\" src=\"https://www.redditstatic.com/desktop2x/vendors~Profile~ProfileHomepage~ProfilePostComments~R2CommentsPage~R2Listing~Reddit.ab6e733968a19bb51c3a.js\"></script><script defer=\"\" type=\"text/javascript\"";

            print;
        }
    }
}

CHECKER IMPLEMENTED

set

At the beginning of the profile, you can configure agent-specific options. In the example above, settings for sleeptime, jitter, and useragent are being configured for communication.

http-get

In this section, the profile defines the communication settings for the GET request. This means that the agent will use these settings to check in and retrieve jobs from the server, if available, while the server will use these settings to respond. As indicated by set uri "/r/webdev/comments/95ltyr";, the agent will send the GET request to this address.

client

The client section within the http-get defines communication settings for the agent. At the start of this section, headers are established for the GET communication.

Within the client section, there are additional subsections: metadata and id. The metadata section specifies the encoding of the agent's message and its placement within the request. In this specific example, the metadata will be base64url encoded and concealed within a cookie, which will contain the following content:

session_tracker=0001eqt60.2.1;loid=BASE64URL_ENCODED_AGENT_MESSAGE;rseor3=true;reddaid=SHXIJU204B

In the id section, the agent's id location for concealment and its encoding are specified. In this example, base64url encoding will be used, and it will be inserted into the parameters field.

server

The client section defines the additional server headers for the response of a GET request. Subsequently, the output section specifies how the server reponse is concealed. In our example, the message is hidden within the request body, encoded in base64url, and placed into the following HTML code:

<!DOCTYPE html><html lang=\"en\"><head><title>Has anyone else noticed slow loading of Google fonts across the board? : webdev</title><meta charSet=\"utf8\"/><meta name=\"viewport\" content=BASE64URL_ENCODED_SERVER_MESSAGE</script><script defer=\"\" type=\"text/javascript\" src=\"https://www.redditstatic.com/desktop2x/runtime.24e5d569e89bb0cc0439.js\"></script><script defer=\"\" type=\"text/javascript\" src=\"https://www.redditstatic.com/desktop2x/vendors~Profile~ProfileHomepage~ProfilePostComments~R2CommentsPage~R2Listing~Reddit.ab6e733968a19bb51c3a.js\"></script><script defer=\"\" type=\"text/javascript\"

http-post

The post request communication settings are defined here in a similar layout and logic as the http-get section, with one difference: the verb GET is used. Why would we utilize the GET verb for POST communication? Because this choice allows the agent to use GET request instead of POST. The http-post section primarily outlines how to transmit the outcome of a task. Therefore, if you prefer to use a GET request for result retrieval, you can easily set the verb to GET, enabling a get-only malleable profile.

Last updated