I will have a dedicated server (haven't decided OS yet) which will host a proxy providing website where users may buy a subscription or 1-time amount of proxies. The backend will need to have databases full of proxies and actively checking them as well as checking proxies that users submit. My last programmer bailed on me about 4 months ago and I am just now getting around to attempting to put some life back into this project again.
Here are the notes I sloppily wrote for my previous programmer, a lot of it may not be relevant, as a simple web interface that I would be able to customize later on that is integrated with the backend.
C++ for the backend would be preferable as I am familiar with the language already so some basic changes wouldn't be difficult for me to make if another language would prove to be far more efficient then I am definately open minded. As far as the front end again I am familiar with PHP so thats a preference, but not a requirement.
there will need to be 3 tables or databases or whatever
one will be working proxies
the other will be ones that were working at one point but are no longer working
fields it will need are ip, port, type(socks4, socks5, http), last checked time, country, state, uptime, if it is http then the level of anonymity(transparent, anonymous, elite), if http if ssl allowed, if http is connect allowed, last time it worked/was alive
the user database should contain users login/password/email addy/current credits(paying users will be unlimited)/Time until credits expire(will be end of paid subscription date for paying users. not sure for unpaying users), should hold all proxies user has submitted and at what time perhaps just an index# or ip:port that points to the proxy databases to save space instead of all fields duplicated from proxy database
once an hour it should check if all ones in working list are still alive
once every 12/24hours dunno interval yet, needs to check all of them, if any that have not been working for 5 days are still dead then remove from nonworking database
will need to be account based, automated signup that requires a link from email signed up with to be visited to complete signup process.
a web form which allows anyone to enter in proxies and checks them if theyre in any of the databases, if so check em and update the status within the database, if not then check them and if working then insert into working database, if not then discard. display output to user in column-like format like type proxy country etc etc
socks ip:port USA etc etc
if the user is logged in currently credit them with 1 point to their account per working proxy regardless if it was already in DB or not, but only if they had not submitted it within the past 24 hours to prevent abuse of re-submitting proxies, if theyre not logged in just display output without crediting the page should actively refresh as proxies are checked showing the user like IP:PORT WORKED or Whatever% Complete or something just so they dont see the page loading and think its loading or gunna take forever and just close it. Also user should be able to specify what type of proxies are entered, SOcks4/Socks5/All Socks Types/HTTP/All Types, that way if they know that theyre checking for just socks5 proxies then less checks the server has to make = saved bandwidth. User should have option to download the results in txt format in a user specified output, like a textarea box showing them variables they can use IE [IP]:[PORT][tab][TYPE][tab][COUNTRY]
A public page that displays free 5 or 10 proxies of each type updated hourly maybe.
A members page where they can display/edit account info such as email/password/login/current credits/etc...
members page that shows All working proxies that they've submitted to date.
members search page that allows them to search by type, checked within last hour/3 hours/6 hours/country/state/ip subnet/type and also sortable by those fields too, maybe they want all port 1080 proxies sorted by most recently checked first, display format should be configurable by user in their settings, same as the download textarea for the checker form. logins should be session based and expire after like 30 minutes or 1 hour or maybe user configurable.
a members page for downloading proxies, they should be able to configure the output just as they configure the output for the search, then it should give them an url like [url removed, login to view] perhaps is created each time is requested and is updated at time of request or perhaps just hourly and will remain alive for 72 hours until they will have go back to the page to set it to downloadable again, user should not have to login for this, perhaps authentication in the url for GET type request, [url removed, login to view];hash=fn3298hs09d7r3t30u98t and will start download of txt file if authentication checks out, i personally like this feature like in some mass mail programs you can set it to hourly update proxys from an url automatically, but not want them to signup once and set up for download and never visit page again to login.
Members should have no ads on any pages, for non-members perhaps we'll put up few banners or some sites are smooth and use like google adwords with same background color as page background and will be a gif of what looks like a link with text like Proxy service since itd be in their tracking cookies from google that they like them proxies and they think oh this is the place to the proxy service and click on it and we make extra 25 cents off ad revenue. ive probably given some sites like $5 from being tired and trying to find a link and accidently clicking on those., oh also when users searches proxies or downloads them, if theyre not subscribed and just going off credits then it should subtract from their credits, perhaps upon setting it up it should prompt them like 'this will display 520 results leaving you with 12 credit(s) remaining, are you sure you would like to spend your credits? or something like that, or if they dont have enough credits for the display, This will display [NUMBER OF CREDITS REMAINING] results, leaving you with 0 credits are you sure?, or if they have no credits let them know, maybe we'll sell monthly subscription as well as credits for those who just need like 10 proxies. from the search page the members should have option to click on link of the proxy IP or maybe button beside the displayed IP(s) to manually initiate a check if the proxy is alive.
Just thinking maybe each credit should be worth 2 or 3 proxies, but we'll have to see, just a 1:1 ration in my opinion isn't super initiative to submit/check proxies with our service, but it may be enough.
we should be 1 stop shop for proxies providing what all other sites provide + more. Priority of checking should be given to user initiated checks first, 2nd to already good proxy hourly checking, and 3rd to non-working rechecks, and 4th to leeching from other sites.
I was just thinking and to save bandwidth or at least to not bottleneck it up and check all working ones at the exact same time and nonworking ones at same time we should maybe spread the checks out. Like have it recheck each working proxy every hour but not on a database as a whole interval, but a per proxy interval, like 11:52:37am proxy was submitted, 12:11:09 proxy2 was submitted, then 12:52:37 proxy will be checked 1:11:09 proxy2 will be checked. that way every hour all of a sudden service wont lag because all are being checked. the time the proxies are submitted and manually initiated checks of proxies will help spread times out constantly.
primary/preferred payment type will be e-gold, they have easy automation payment type system like link will redirect them to payment page where they fill out their e-gold#, password, turing#, memo, amount. we can have the amount/memo prefilled out, i think maybe have hidden fields too not positive. if we cant have hidden fields then memo can be like ACCOUNT:[user] SERVICE:1monthunlimited or 100credits whatever. anyways then they click on preview payment, then submit and then the e-gold page does a http post thingy to our page with the memo/amount/batch#/etc, and to insure that it wasnt spoofed can do automated little check to check validity of the batch# which is just tracking# for specific transaction and check payment amount against it and such. then it should auto-credit purchase to user, I know I personally hating for it to manually verified and credited to my account. check out e-golds site they have a webmaster section somewhere on there and a nice pdf document on their automated payment system. i'll be looking into other accepted payment types later.
programs popular among the proxy-using community that you should try out and get a feel for are Charon(free), AATools(shareware but easily pirated from any peer2peer network), and Proxyrama.
those listed in popularity order.
forums that have a lot of information about proxies and such you should do a little reading in. [url removed, login to view], [url removed, login to view], [url removed, login to view] all are free forums except for certain sections that arent really of importance with excellent information.
[url removed, login to view] - this site just has a lot of proxy resource and information, a proxy checker, some programs they coded themselves for sale, and then hidden within the depths they sell proxies by the 1000 or by weekly/monthly subscriptions at pretty high prices but rightly so huge working lists. They compile their lists solely off of working user-checked proxies from their proxy check webform, i really like theirs though im sure it could be better, have a looksie.
i like not having to login every time, option to store info in cookie is nice
i think #1 backend priority is speed/optimization to save bandwidth and not lag the site, also having code organized in a way to allow future addons and features.
oh yeah probably allow all members even non-subscribed or credit members to view transparent proxies, and maybe like 5 extra ones on top of the publicly displayed ones to give incentives to just register even if not paying so we can add them to newsletter or whatever and increase chance of them paying.
all the meta keywords and that type of stuff for search engine optimization should be good.
maybe another option for members is to have list of proxies emailed to them at user defined interval no shorter than 1 hour in user specified format.
backups should be done at set intervals as well, perhaps to a remote ftp server but we'll see depending on size of backups and such.
also code should be portable if needed to throw it up on a different server asap for whatever reason.
Perhaps for support instead of just email instead do a ticket type system, web based for administration, I am horrible at keeping track of mails and such, would be easy to check a ticket, resolve problem, set ticket as solved. I'm sure theres plenty of free easy implementable scripts available online already for this.
should eventually provide in other languages since many proxy users are in other countries, i can look into having it properly translated down the line
let me know of any questions/comments you may have, I am very flexible with a lot of my specifications. I apologize in advance too for the sloppy format that this post was in, but I am in a bit of a rush at the moment.