im thinking on building a simple software, that can I surf the web with,
using the WebBrowser object. but, making sure that im under a vpn or proxy.
im wondering if it is even possible, to connect to a vpn or proxy service with some api
and, get a new ip every an hour or time i choose.
if its possible, can u give me some refrences?
like, what do i need to learn to achive this?
This is actually quite simple, here's an example to get you started with the WebBrowser control, you can have this up in minutes. Web Browser Example
After this you're just adding the logic for your VPN or proxy, which is completely dependent on which you choose.
This might help if you're trying to not affect the system settings for IE: Proxy Settings
Although if you can, it's likely easier to just set them in the registry if you don't mind affecting IE. This on changing the registry: Proxy Settings in the Registry
As far as information specific to how to obtain a proxy, authentication, etc, you'll need to pick a proxy service you want to use and read up on them. That should simply be a search engine research project.
Related
The current project I'm working on is a Windows Form Application, which in large part functions as a background service to make Queries to a decent number of APIs and store that information into a database. Pretty straightforward.
As I implement more data sources the issue I'm running into is that one of the places I'm pulling from wants to use webhooks to push that data to me. Again fairly straightforward, I did some tutorials on making ASP.NET Web API projects and all of that makes sense in isolation.
Now what I'm confused about is to tie it all together. From my understanding, the options I have would be to have the Form application and the Web API application run separately, which seems like more separation than I want (especially considering that the webhook is for a single item of data that already ties into what the Form application is handling). Alternatively the other option would be to get the Form application to to self host a Web service which seems like the way to go, but I'm unsure of how to approach that without starting with the Web API shell.
I tried reading up on it and this and this seem to solidify that it would definitely be possible to just host the webhook receiver/controller server inside of the form application without making a new project for it. But I'm not sure of what config, new files and settings of that kind it would take.
I would be super thankful for anyone who could offer guidance about how to go about implementing this webhook controller in a project type not designed for it by default, or if you could tell me that it's a bad idea and I should make separate projects for them.
Thank you for your help!
"Webhooks" (or HTTP callbacks, in general) require a publicly routable address. At home, your desktop computer likely sits behind a NAT and with a dynamic IP address, so it won't work unless you enable port-forwarding and find out your publicly routeable address (assuming it's possible at all and you aren't running inside a restricted company or school/university network). You'll probably want to use AWS Lambda or Azure Functions as a quick and simple way of accepting messages from the public web which your desktop program can retrieve them from later-on (using a "mailbox" paradigm). You could try making it work in real-time with a WebSocket or EventSource but I don't know if that works from AWS Lambda or Azure Functions - if it doesn't then you'll need a "real" website.
I've got an Outlook tool that works on the client(PC-A) and this tool set some folder permission. Now I want to set the settings remotely over my computer (PC-B) so I dont have to go to all employers.
I've searched in google but there aren't any useful information for me and beside this I don't know how to code this. A friend told me that I can use a service for this or code a server/client that listen to PC-A.
Can somebody help me?
There are more than one way to do it. I am sorry I don't have specific code examples but simple steps on how to. Maybe you can expand on that.
Assumption : Clients and your server are in a LAN and in the same domain.
Solution1: You can have a daily or scheduled job collating the settings you need and pushing it to a centralized DB. The server (your machine) can then poll the centralized DB for the settings. Depending on how you design the table design you can have the client module change the settings based on the settings you make on the server. Since everything is on the centralized DB, client and the server hit the DB to get the information. A little complex but not much simpler to understand.
Solution2: Using the System.Net.Sockets to create a custom server and client listening on specific ports. Tech.pro has a good article on it.
Assumption : Your clients are on Internet and you are also on the world wide web and not in the same domain.
Solution1: The DB approach seems quite solid and it gives you the ability to maintain different settings for different users and have more customized approach. You can push and pull the data as Json so that the network bandwidth is not heavily utilized.
Solution: TCP approach should work good assuming you are connected directly to the internet and not through proxy. I am not sure about hits approach but it is one way.
Alternatively you can implement Solution 1 or 2 using a service, but personally I would prefer a process running on my machine only when it needs to.
Feel free to correct me.
I would like to implement a parental control for all browsers in Windows. I am thinking in a .NET application.
My first thought was create a local HTTP proxy (like Fiddler), even use Fiddlers embeddable API. However this proxy easily can be workarounded even by a kid, just (re) setting the browsers not to use this local proxy.
So I've concluded I have to go deeper.
My question, am I right? ...and how and where...
Thanks in advance
The "official" way to do this would be to build a filter atop the Windows Filtering Platform; it's designed for this sort of thing, and it's how Windows' own Parental Controls feature is built.
Having said that, you can build a Parental Controls application using FiddlerCore. You would then use Group Policy to control proxy settings (Create a REG_DWORD named ProxySettingsPerUser with value 0 inside HKLM\Software\Policies\Microsoft\Windows\CurrentVersion\InternetSettings\) such that the settings cannot be changed by non-administrative users.
You could further bolster this by applying Firewall policies such that direct egress is blocked and only traffic going through Fiddler is permitted to leave the box.
You probably won't be able to do it with .NET. If you want to see all HTTP traffic regardless of the browser settings, you'll need to either hook into every process and override calls to the sockets API, or get into the network driver layer and see the communications there.
.NET is wrong for both - you don't want to attach a .NET DLL to non-.NET processes, and you don't want to create a .NET driver.
You'll also need to somehow override the DNS, because otherwise you'll have no way to prevent HTTPS access - you can't monitor HTTPS, you can only prevent it.
well I need to do 2 applications, one to users registers theirself (where the server is) and the another application is for the administrador can see who has register, but he doesn't have time to go (where the server is) so he need watch the information since other place, I haven't could do it, my another idea is using web services, but i dont know how to public the web service in internet for consum it since anothers pc's, then for application 2, how will be the connection string? i thoung with ip, but in what is your ip address i watched the ip is dinamic, and it change with turn on the computer (where is the server), then, how can i do it? (i coulnd't to have a connection with ip, and i couldn't with name of computer)
[heavily edited - hope I maintained the spirit] I want to use a web service, but I don't have a great way to connect to it. I thought about using the IP address, but the IP address is dynamic
If you have servers that must remain available, they must be registered in some form of hostname lookup service, such as DNS. Most people do this by maintaining a corporate intranet, using a hosting service to serve their database/application, or using a dynamic DNS service such as DynDNS.
[heavily edited...] I need two applications, one for users to register themselves, and the other for the administrator to see who has registered, without going to the server...
If this information is just for humans to read:
You could simply create a shared source of this information, such as an internal Wiki, or an Excel document on a Windows network share, or Microsoft Sharepoint site, and let users write new entries to it. The admin would simply read that document to find out the information. This is much more light-weight, and could be reused for many other purposes.
There is a lot of existing free wiki/CMS software you could install and use for this purpose.
If you need this to be accessible by other programs, rather than just human readers:
You'll have to make some sort of database, and possibly a web service to access it. Unfortunately, you'll need a lot more information for anyone to give you a good answer for these needs. Any answer will make a lot of assumptions, and might put you in a bad spot in terms of scalability, performance, security, or reliability.
Some basic questions to get you started (certainly not a complete list) - How many users? Where will they be located with respect to your servers (both this application you are writing, and the servers that the application seems to provide information about)? How safe must the information be? How much data? But even with this data, it is hard to recommend any sort of application design or network topology without knowing all of your requirements.
If you need this to be reliable and secure (e.g. you're supporting more than just yourself and a couple users), you'll probably need to turn this into a serious project, and devote business research, design, development, and IT resources to it. These resources can all be one person, but you should really go through all the motions if you don't want it to be an unmaintainable, insecure mess.
I made a cybercafé application where the internet connectivity is a vital issue. I want to disable the internet connection until any user login in my application.
At first the task is done by disable the Proxy server. But this is not a perfect solution for me because my users use Mozilla Firefox which facilitates some network settings like use no proxy, use system proxy, auto detect proxy or manually configure proxy. So when a user changes those settings from system proxy to no proxy, then my application fail to stop them from browsing.
Please give me some example. I made this application using C#, WPF, SQL server 2008.
To be reasonably certain that there is no access you would have to write an NDIS filter driver.
This should give you full control over the network, including the ability to block all internet access to anyone except your application (or including).
This is fairly complex and requires learning driver development, and can't be done in c#.