public PuttyLink(Connection connection) { this.shouldbeactive = false; this.connection = connection; this.debuglog = new StringBuilder(); this.active = false; }
public Tunnel(Connection session, int sourcePort, string destination, int destinationPort, TunnelType type) { this.session = session; this.sourcePort = sourcePort; this.destination = destination; this.destinationPort = destinationPort; this.type = type; }
private static void cleanReg() { string thisversion = "3"; RegistryKey rootKey = Registry.CurrentUser.CreateSubKey(PPSettings.PP_REGISTRY_KEYPATH_ROOT); if (rootKey.GetValue(PPSettings.PP_REGISTRY_KEY_VERSION, "0").ToString() != thisversion) { foreach (String subkey in rootKey.GetSubKeyNames()) { foreach(String nextsubkey in Registry.CurrentUser.CreateSubKey(PPSettings.PP_REGISTRY_KEYPATH_ROOT + @"\" + subkey).GetSubKeyNames()){ Registry.CurrentUser.DeleteSubKey(PPSettings.PP_REGISTRY_KEYPATH_ROOT + @"\" + subkey+@"\" +nextsubkey); } } rootKey.SetValue(PPSettings.PP_REGISTRY_KEY_VERSION, thisversion, RegistryValueKind.String); Connection tmpconnection= new Connection("HTTP PROXY", "nl1.gigabit.perfect-privacy.com", 22,5080,ConnectionType.HTTP,"127.0.0.1",3128); tmpconnection.Serialize(); tmpconnection = new Connection("SOCKS PROXY", "de1.gigabit.perfect-privacy.com", 22, 5081, ConnectionType.SOCKS,"",0); tmpconnection.Serialize(); tmpconnection = new Connection("FORWARDING EXAMPLE", "lu2.gigabit.perfect-privacy.com", 22, 5082, ConnectionType.FORWARDING, "yourMailServer.com", 25); tmpconnection.Serialize(); tmpconnection = new Connection("TOR PROXY", "de3.gigabit.perfect-privacy.com", 22, 5083, ConnectionType.FORWARDING, "127.0.0.1", 9050); tmpconnection.Serialize(); long now = UnixTimeNow(); long count = 0; String[] servers ={ "amsterdam1.perfect-privacy.com 06:63:de:29:33:05:84:b1:d9:a5:6c:5f:12:98:80:72", "amsterdam2.perfect-privacy.com 06:63:de:29:33:05:84:b1:d9:a5:6c:5f:12:98:80:72", "amsterdam3.perfect-privacy.com 06:63:de:29:33:05:84:b1:d9:a5:6c:5f:12:98:80:72", "amsterdam4.perfect-privacy.com 06:63:de:29:33:05:84:b1:d9:a5:6c:5f:12:98:80:72", "bangkok.perfect-privacy.com 5b:b8:1f:de:40:25:ed:55:32:d6:2c:2d:31:32:98:9b", "brisbane.perfect-privacy.com 85:8e:a1:8c:66:28:59:59:56:bf:63:37:0e:bc:1a:10", "cairo.perfect-privacy.com 9d:83:0b:c0:b7:0f:f1:c5:bb:40:6a:67:ec:b1:9c:f8", "ch.gigabit.perfect-privacy.com 5a:c1:d0:8d:08:b8:5f:7d:f6:f7:73:d0:be:be:f5:93", "chicago.perfect-privacy.com db:8a:09:45:e8:ca:a3:17:b7:4d:5e:27:0f:00:41:57", "de1.gigabit.perfect-privacy.com 59:5e:23:8d:34:06:10:74:67:86:40:94:59:36:39:7d", "de2.gigabit.perfect-privacy.com 59:5e:23:8d:34:06:10:74:67:86:40:94:59:36:39:7d", "de3.gigabit.perfect-privacy.com 59:5e:23:8d:34:06:10:74:67:86:40:94:59:36:39:7d", "denver.perfect-privacy.com 7d:7e:04:77:76:e5:43:bf:5c:38:78:06:68:f2:d2:dc", "fr.gigabit.perfect-privacy.com e1:ad:92:a8:0b:b9:83:e4:9a:28:1c:e2:4a:45:7d:81", "hongkong.perfect-privacy.com 57:d5:c9:38:29:a6:a5:35:47:ae:6b:79:78:81:2a:ef", "kiev.perfect-privacy.com 27:f8:7a:fd:f0:0e:d4:6c:a9:14:aa:a7:0f:1a:23:cc", "london1.perfect-privacy.com 4c:9d:03:79:9b:f1:15:25:9b:cd:75:50:f3:9c:12:f9", "london2.perfect-privacy.com 4c:9d:03:79:9b:f1:15:25:9b:cd:75:50:f3:9c:12:f9", "lu1.gigabit.perfect-privacy.com 9b:b8:9d:a4:22:64:af:a3:40:cb:96:b3:50:3b:97:3d", "lu2.gigabit.perfect-privacy.com 9b:b8:9d:a4:22:64:af:a3:40:cb:96:b3:50:3b:97:3d", "montreal1.perfect-privacy.com ba:d1:dc:13:dc:ad:86:c3:9e:3e:75:c2:98:e8:a8:38", "montreal2.perfect-privacy.com ba:d1:dc:13:dc:ad:86:c3:9e:3e:75:c2:98:e8:a8:38", "moscow1.perfect-privacy.com ae:4f:e9:33:8c:10:9a:a7:1c:7a:91:be:64:15:f5:97", "moscow2.perfect-privacy.com ae:4f:e9:33:8c:10:9a:a7:1c:7a:91:be:64:15:f5:97", "moscow3.perfect-privacy.com ae:4f:e9:33:8c:10:9a:a7:1c:7a:91:be:64:15:f5:97", "nl1.gigabit.perfect-privacy.com 3b:54:ec:8b:69:77:b2:5c:3d:2c:64:e8:34:13:9f:63", "nl2.gigabit.perfect-privacy.com 3b:54:ec:8b:69:77:b2:5c:3d:2c:64:e8:34:13:9f:63", "reykjavik.perfect-privacy.com 07:55:1a:d4:6d:45:b0:4a:10:51:3c:48:33:6b:ef:c5", "ro.gigabit.perfect-privacy.com 19:86:80:b3:6a:99:40:44:4d:a4:63:9e:26:33:40:c0", "saopaulo.perfect-privacy.com 86:8f:f6:ac:6a:5b:0d:22:a2:b2:3a:1f:c8:ee:c3:4b", "stockholm1.perfect-privacy.com 2c:4c:14:97:c3:dd:5c:f9:df:99:ce:fd:0a:5e:29:4c", "stockholm2.perfect-privacy.com 2c:4c:14:97:c3:dd:5c:f9:df:99:ce:fd:0a:5e:29:4c", "telaviv.perfect-privacy.com 59:b3:8c:26:b3:86:51:f8:af:a3:03:44:fd:ba:a4:dd", "tokyo.perfect-privacy.com 15:9c:d1:32:b8:99:74:a6:67:e4:dd:fd:9c:cb:b4:ca", "us.gigabit.perfect-privacy.com 0b:b1:b9:c4:56:19:b4:a2:aa:79:81:49:1d:08:81:4e",}; RegistryKey foo = Registry.CurrentUser.CreateSubKey(PPSettings.PP_REGISTRY_KEYPATH_ROOT); foo = Registry.CurrentUser.CreateSubKey(PPSettings.PP_REGISTRY_KEYPATH_SSH_HOST_KEYS); foo = Registry.CurrentUser.CreateSubKey(PPSettings.PP_REGISTRY_KEYPATH_CONNECTIONS); foreach (string server in servers) { try { if (server == "") { continue; } string[] parts = server.Split(new string[] { "\t", }, StringSplitOptions.None); string servername = parts[0].Trim(); string fingerprint = parts[1].Trim(); if (servername.IndexOf(".perfect-privacy.") == -1) { continue; } count++; string serverkeypath = PPSettings.PP_REGISTRY_KEYPATH_SSH_HOST_KEYS + @"\" + Uri.EscapeUriString(servername); RegistryKey serverkey = Registry.CurrentUser.CreateSubKey(serverkeypath); serverkey.SetValue(PPSettings.PP_REGISTRY_KEY_SERVERNAME, servername, RegistryValueKind.String); serverkey.SetValue(PPSettings.PP_REGISTRY_KEY_FINGERPRINT, fingerprint, RegistryValueKind.String); serverkey.SetValue(PPSettings.PP_REGISTRY_KEY_SERVERVERSION, now, RegistryValueKind.String); } catch (Exception ex) { // MessageBox.Show(ex.ToString()); } } RegistryKey serversversion = Registry.CurrentUser.CreateSubKey(PPSettings.PP_REGISTRY_KEYPATH_SSH_HOST_KEYS); serversversion.SetValue(PPSettings.PP_REGISTRY_KEY_SERVERVERSION, now, RegistryValueKind.String); Core.Instance().loadServers(); } }
public static Tunnel Load(Connection session, string data) { string[] parts = data.Substring(1).Split('=', ':'); int sourcePort = Int32.Parse(parts[0]); string destination = ""; int destinationPort = 0; if (parts.Length > 1) { destination = parts[1]; destinationPort = Int32.Parse(parts[2]); } TunnelType type; switch (data.Substring(0, 1)) { default: case "L": type = TunnelType.LOCAL; break; case "D": type = TunnelType.DYNAMIC; break; } return new Tunnel(session, sourcePort, destination, destinationPort, type); }
public PortAlreadyInUseException(Connection connection) { this.connection = connection; }