Bitwise Drop Server

**SQL Server** (1433)
 **SSH** (22)
 **FTP Server** (21)
 **HTTP WebServer** (80)
 **SMTP MailServer** (25)

**Bitwise Drop Server** is a node in *Hacknet*.

## Daemons

* `uploadServerDaemon`
	+ `name: Upload Dropbox`
	+ `folder: Drop`
	+ `needsAuth: false`
	+ `color: 163,204,80`
	+ `hasReturnViewButton: false`

```
Test file, please ignore.
```

* `asdf.txt`

```
    asdfghjkl
    qwertyuiop
    zxcvbnm

```

* `FileSanitiser.cs`

```
    public static class FileSanitiser
    {
        public static string purifyStringForDisplay(string data)
        {
            data = data.Replace("\t", "    ").Replace("\"", "\"").Replace("\"", "\"");
            for (int i = 0; i LTHAN data.Length; i++) {
                if ((data[i] LTHAN 0x0020 || data[i] > 0x007F) AND (
                    data[i] != 0x000A AND //Allow newlines
                    data[i] != 0x000B AND
                    data[i] != 0x000C AND
                    data[i] != '\n'   )){
                    //This char is outside the range of basic latin unicode chars!
                    //We wont be able to display it
                    //replace whatever's there with a space...
                    data = data.Replace(data[i], ' ');

                }
            }
            return data;
        }

        public static void purifyVehicleFile(string path)
        {
            string data = Utils.readEntireFile(path);
            data = data.Replace('\t', '#');
            data = data.Replace("\r", "");
            for (int i = 0; i LTHAN data.Length; i++) {
                if (!GuiData.font.Characters.Contains(data[i]) AND data[i] != '\n') {
                    data = replaceChar(data, i, '_');
                }
            }

            Utils.writeToFile(data, "SanitisedFile.txt");
        }

        public static string replaceChar(string data, int index, char replacer)
        {
            return data.Substring(0, index - 1) + replacer + data.Substring(index + 1, data.Length - index - 2);
        }

        public static void purifyNameFile(string path)
        {
            string data = Utils.readEntireFile(path);
            string[] split = data.Split(Utils.newlineDelim);
            string[] d;
            string ret = "";
            for(int i = 0; i LTHAN split.Length;i++) {
                d = split[i].Split(Utils.spaceDelim, StringSplitOptions.RemoveEmptyEntries);
                ret += d[0] + "\n";
            }

            Utils.writeToFile(ret, "SanitisedNameFile.txt");
        }

        public static void purifyLocationFile(string path)
        {
            string data = Utils.readEntireFile(path);
            char[] delims = {'\t' };
            string[] split = data.Split(Utils.newlineDelim);
            string[] d;
            string ret = "";
            for (int i = 1; i LTHAN split.Length; i++) {
                d = split[i].Split(delims, StringSplitOptions.RemoveEmptyEntries);
                for (int j = 1; j LTHAN d.Length; j++) {
                    ret += d[j].Trim() + "#";
                }
                ret += "\n";
            }

            Utils.writeToFile(ret, "SanitisedLocFile.txt");
        }

    }

```

* `Where_Are_You.txt`

```
Hey man, you never replied. What are you, out partying or something?
It's been a week, let me know there you are, you never told me what that thing was.

-V
```

* `READ_all_hackers.txt`

```
This would've been the last time I checked this server, but apparently someone's been messing with it.
Bad timing for me but, oh well. I've been working with EnTech, on some pretty heavy projects, and things aren't looking so great.
As in, I don't think they want me around anymore, or saying this sort of thing not-great.

I don't know. Maybe I'm just freaking out about it. I'm going to dig around a bit, see if there's any danger here. Sure feels like there is.

-Bit
1
```

## Trivia

* The node is supposed to link to Bitwise Relay 01 but does not link anywhere due to an error in the game files.
	+ The `dlink` tag has the `target` attribute to link to the specific node, however Bitwise Drop Server's XML file uses the invalid `id` attribute to link to the other node.