Find Jobs
Hire Freelancers

Linux Proxy Controller/Forwarder

$250-750 USD

ปิดแล้ว
โพสต์ ประมาณ 5 ปีที่ผ่านมา

$250-750 USD

ชำระเงินเมื่อส่งงาน
I need a Linux-based proxy controller/forwarded that will take requests from users, and use a proxy from our database to relay it. Preferably, you would use something out-of-the-box like Squid Proxy Server and modify it to achieve the below. ============================ DB STRUCTURE ============================ Sample DB structure: [login to view URL] ============================ GENERAL OUTLINE ============================ 1. User specifies proxy conditions (ie. “city”) to one of their assigned ports (“PortID”) 2. User specifies {UserID}.[login to view URL]:{PortID} in their browser 3. If more than X concurrent threads for PortID for the particular UserID, deny the request. The proxy controller should be able to limit the number of concurrent threads per port for each user 4. "[login to view URL]" selects working proxy from DB based on PortID conditions in #1 > If requested URL contains “google” but google != 1 for the proxy, then a new proxy is assigned 5. If request fails, new proxy matching conditions in #2 is assigned 6. Repeat #4 until the request is successful 7. "[login to view URL]" passes the response back to user's browser Note that the proxy server should be able to: - Intercept requests (ie. “[login to view URL]”) and change proxy based on it - Query the DB for a proxy to use based on the user’s port conditions - Forward user requests to the selected HTTPs/Socks4/Socks5 proxy from the DB - Limit the number of concurrent threads to forward proxies and user's port ============================ DETAILED WORKFLOW ============================ 1. User sets proxy criteria in the DB ("PortID") > ie. PortID "1" for UserID "a698j64p" is set to country=US, city=New York, isp=Comcast, rotate_seconds=300 >> In the above, user created PortID where they only want proxies from Comcast ISP in New York, and the proxy should rotate every 5 minutes 2. User will configure HTTP(s) or Socks4/5 proxy in their browser that points to: {UserID}.[login to view URL]:{PortID} > ie. [login to view URL] 3. If PortID for UserID has over X simultaneous threads/connections, deny it with an error (we want to limit the number of concurrent threads per port). Otherwise, continue to next step 4. "[login to view URL]" fetches PortID criteria from #1 and selects matching proxies in the DB > ie. SELECT [login to view URL],proxy_ip,proxy_port FROM lists LEFT JOIN logs ON [login to view URL] = [login to view URL] LEFT JOIN ports ON [login to view URL] = [login to view URL] WHERE [login to view URL] LIKE "comcast" AND lists.total_fail_users < 3 AND lists.total_fail_reqs < 3 AND lists.current_threads < lists.max_threads AND ([login to view URL] IS NULL OR logs.last_used < (NOW() - INTERVAL 60 MINUTE) AND ports.userID="a698j64p" AND ports.port=1 SELECT [login to view URL],[login to view URL],[login to view URL] FROM lists LEFT JOIN logs ON [login to view URL] = [login to view URL] LEFT JOIN ports ON lists.port=[login to view URL] WHERE [login to view URL] < 5 OR [login to view URL] IS NULL WHERE: - total_fail_users: # of users that encountered failure on the proxy - total_fail_reqs: #of requests (across all users) that encountered failure on the proxy - current_threads: To not overwhelm proxies, we might have to limit the number of concurrent threads connecting to it. This column will contain the current number of current threads (although I am not sure MySQL is the most optimal to use for this because of the massive amount of reads/writes required) - last_used: When the proxy was last used by the user 5. "[login to view URL]" forwards GET/POST request (with all headers) a) If proxy fails: - "[login to view URL]" updates total_fail_reqs++ and total_fail_users++ - Add "last_used" for proxy with current timestamp - Select different proxy and perform request again (user's connection should not drop) > if no remaining proxies, output error message and continue retrying every X seconds b) If proxy is a success, return response to user - Reset total_fail_reqs and total_fail_users - Add "last_used" for proxy with current timestamp NOTE: Please include your intended stack and any similar projects in the bid.
รหัสโปรเจกต์: 18661026

เกี่ยวกับโปรเจกต์

7 ข้อเสนอ
โปรเจกต์ระยะไกล
ใช้งานอยู่ 5 ปีที่ผ่านมา

กำลังมองหาการสร้างรายได้ใช่ไหม?

ประโยชน์ของการประมูลกับ Freelancer

กำหนดงบประมาณและกรอบเวลาของคุณ
รับเงินจากการงานของคุณ
อธิบายข้อเสนอของคุณในภาพรวม
ลงทะเบียนและเสนอราคาฟรี
7 ฟรีแลนซ์กำลังเสนอราคาโดยเฉลี่ย $519 USD สำหรับงานนี้
รูปอวาตาร์ของผู้ใช้
Hi there, I’ve read your brief and can see that you’d like to done a project. My team has 8 years experience designing and developing mobile apps for iPhone and Android and web apps. I would approach your project by starting with wireframes and getting the design completed, before starting the actual development phase. I am highly qualified for this project and would love to speak with you further about taking this project on. If you'd like to view my previous work, take a look at my Portfolio.
$555 USD ใน 10 วัน
5.0 (12 รีวิว)
5.9
5.9
รูปอวาตาร์ของผู้ใช้
I have 8 years of experience in managing complex linux architectures and managing cloud infrastructures. I have worked on many complex projects ( Private cloud setup on AWS, Load balancing clusters, Replication systems and many more). I have versatile experience in setting up and managing server and also optimising them for best usage and fine tuning the security aspects. I have expertise in below fields :- 1 Linux Administration. 2 Windows Administration (Windows 2008 , 2012 & 2016) and Migration. 3 Cloud computing ( AWS, Azure and Google Cloud). 4 Automation ( Ansible,Puppet and Chef). 5 Application's & Web servers ( Apache, nginx, IIS and Tomcat ). 6 Databases ( Mysql, MsSql, MongoDB, postgresql and Apache CouchDB). 7 Security ( Web Security, Server hardening and IPS && IDS configuration) 8 Virtualization( KVM, Xen, OpenVZ & Parallels Virtuozzo). 9 Control Panels ( Cpanel, website panel, zpanel and parallel plesk panel). 10 Shell scripts, python & Perl etc. 11 Mail servers.
$277 USD ใน 1 วัน
5.0 (60 รีวิว)
5.6
5.6
รูปอวาตาร์ของผู้ใช้
i am linux administrator and having sound knowledge of ssh / putty / terminal to access files & directories inside linux vps. I have been using Shell Scripting with Sql for more then 20 Years of my career as developer and database administrator. Wrote a monitoring system to monitor Oracle database availability, performance and producing health reports. Done a lot of automated and housekeeping tasks which are all required in depth knowledge of Shell scripting and SQL queries. I will go through and let you know to use putty to access linux server. I am having 7+ year of working experience in this field. Please message me for further discussion.
$457 USD ใน 10 วัน
4.9 (27 รีวิว)
5.0
5.0
รูปอวาตาร์ของผู้ใช้
Hello sir, I can help you with your project Linux Proxy Controller/Forwarder. I have the good experience in Linux, MySQL, Nginx, Shell Script, Squid Cache. Please see my profile i have delivered here 425 projects with 100% client satisfaction. only take projects which I am sure I can do. Please ping me for the further discussion.
$750 USD ใน 10 วัน
4.5 (23 รีวิว)
5.3
5.3
รูปอวาตาร์ของผู้ใช้
hello sir i am professional custom php development also following php frameworks Laravel CodeIgniter Symfony Zend Phalcon CakePHP Yii we can deliver you your project beyond your expectation . you can chat with me we can talk more about your project i am having more then 10 years experience of php developed many ERP CRM for different companies
$512 USD ใน 5 วัน
0.0 (0 รีวิว)
0.0
0.0

เกี่ยวกับลูกค้า

ปักธงของ CANADA
Toronto, Canada
5.0
7
ยืนยันวิธีการชำระเงินแล้ว
เป็นสมาชิกตั้งแต่ ต.ค. 1, 2013

การยืนยันลูกค้า

ขอบคุณ! เราได้ส่งลิงก์สำหรับเครดิตฟรีให้คุณทางอีเมลแล้ว
เกิดข้อผิดพลาดขณะส่งอีเมลของคุณ กรุณาลองอีกครั้ง
โลโก้ Freelancer Thailand / ภาษาไทย ช่วยเหลือและสนับสนุน FreelancerประเภทโปรเจคการประกวดFreelancerองค์กรแพ็กเกจสมาชิกโครงการ Freelancer ชั้นแนวหน้าการจัดการโปรเจคงานในพื้นที่Photo Anywhereหน้าจัดแสดงผลงานAPI สำหรับนักพัฒนาได้รับการยืนยันDesktop App เกี่ยวกับเกี่ยวกับเราวิธีใช้งานความปลอดภัยนักลงทุนแผนผังเว็บไซต์เรื่องราวข่าวออกสื่อทีมรางวัลข่าวประชาสัมพันธ์ร่วมงานกับเรา ข้อกำหนดนโยบายความเป็นส่วนตัวข้อกำหนดและเงื่อนไขนโยบายลิขสิทธิ์ข้อพึงปฏิบัติค่าธรรมเนียมและค่าบริการหุ้นส่วนEscrow.comLoadshiftWarrior Forum แอปโลโก้ Apple App Store โลโก้ Google Play
ไม่สามารถคัดลอกไปยังคลิปบอร์ดได้ โปรดลองอีกครั้งหลังปรับเปลี่ยนการอนุญาต
คัดลอกไปยังคลิปบอร์ดแล้ว
ผู้ใช้ที่ลงทะเบียน งานที่มีการโพสต์ทั้งหมด
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
กำลังโหลดตัวอย่าง
ได้รับอนุญาตสำหรับตำแหน่งทางภูมิศาสตร์
เซสชั่นการเข้าสู่ระบบของคุณหมดอายุและคุณได้ออกจากระบบแล้ว กรุณาเข้าสู่ระบบอีกครั้ง