├── .github └── workflows │ └── download_proxies.yml ├── LICENSE ├── README.md ├── http.go ├── proxies ├── http.txt └── socks.txt └── socks.go /.github/workflows/download_proxies.yml: -------------------------------------------------------------------------------- 1 | name: Run Proxies 2 | 3 | on: 4 | schedule: 5 | - cron: '*/5 * * * *' 6 | 7 | jobs: 8 | run-proxies: 9 | runs-on: ubuntu-latest 10 | permissions: 11 | contents: write 12 | 13 | steps: 14 | - name: Checkout repository 15 | uses: actions/checkout@v2 16 | with: 17 | fetch-depth: 0 18 | 19 | - name: Set up Go 20 | uses: actions/setup-go@v5 21 | with: 22 | go-version: '1.20' 23 | 24 | - name: Create proxies directory 25 | run: mkdir -p proxies 26 | 27 | - name: Run http.go 28 | run: go run http.go 29 | 30 | - name: Move http proxies to proxies directory 31 | run: mv http.txt ./proxies/http.txt 32 | 33 | - name: Run socks.go 34 | run: go run socks.go 35 | 36 | - name: Move socks proxies to proxies directory 37 | run: mv socks.txt ./proxies/socks.txt 38 | 39 | - name: Configure Git 40 | run: | 41 | git config --local user.email "github-actions[bot]@users.noreply.github.com" 42 | git config --local user.name "GitHub Actions Bot" 43 | 44 | - name: Commit and push changes 45 | run: | 46 | git add proxies/http.txt proxies/socks.txt 47 | git commit -m "update proxies" || echo "Nothing to commit" 48 | git push 49 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 Isloka 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Proxy Scraper (HTTP & SOCKS) 2 | ![watchers](https://img.shields.io/github/watchers/Isloka/proxyscraper) 3 | ![stars](https://img.shields.io/github/stars/Isloka/proxyscraper) 4 | ![lastCommit](https://img.shields.io/github/last-commit/Isloka/proxyscraper) 5 | ![license](https://img.shields.io/github/license/Isloka/proxyscraper) 6 | 7 | Golang script designed to scrape both HTTP and SOCKS proxy information from publicly available sources and saves them for your own use. 8 | 9 | ## Features 10 | - Retrieves a list of HTTP proxies from [free-proxy-list.net](http://free-proxy-list.net/) and saves them to "http.txt". 11 | - Retrieves a list of SOCKS proxies from [socks-proxy.net](https://www.socks-proxy.net) and saves them to "socks.txt". 12 | - User-friendly format for easy integration into your projects. 13 | - Lightweight and easy to use. 14 | 15 | ## Usage 16 | 1. Clone this repository: 17 | ```sh 18 | git clone https://github.com/variableninja/proxyscraper.git 19 | cd proxyscraper 20 | ``` 21 | 2. Build the Go programs 22 | ```sh 23 | go build http.go 24 | go build socks.go 25 | ``` 26 | 3. Run them and have fun! 27 | ```sh 28 | ./http 29 | ./socks 30 | ``` 31 | 32 | ## License 33 | This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. 34 | 35 | ## Disclaimer 36 | This program is intended for educational and research purposes only, use it responsibly and in compliance with the terms of service of the websites you scrape. 37 | -------------------------------------------------------------------------------- /http.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | "io/ioutil" 6 | "net/http" 7 | "os" 8 | "strings" 9 | ) 10 | 11 | func main() { 12 | urlproxy := "http://free-proxy-list.net/" 13 | 14 | req, err := http.NewRequest("GET", urlproxy, nil) 15 | if err != nil { 16 | fmt.Println("\nError while trying to create a request:", err) 17 | return 18 | } 19 | 20 | req.Header.Add("User-Agent", "Mozilla/4.0 (PSP (PlayStation Portable); 2.00)") 21 | 22 | client := &http.Client{} 23 | resp, err := client.Do(req) 24 | if err != nil { 25 | fmt.Println("\nError while trying to send a request:", err) 26 | return 27 | } 28 | defer resp.Body.Close() 29 | 30 | if resp.StatusCode != http.StatusOK { 31 | fmt.Println("\nError: Unexpected status code", resp.StatusCode) 32 | return 33 | } 34 | 35 | body, err := ioutil.ReadAll(resp.Body) 36 | if err != nil { 37 | fmt.Println("\nError while trying to read response body:", err) 38 | return 39 | } 40 | 41 | pageContent := string(body) 42 | 43 | startIndex := strings.Index(pageContent, "") 44 | if startIndex == -1 { 45 | fmt.Println("\nError: tag not found in the response") 46 | return 47 | } 48 | 49 | endIndex := strings.Index(pageContent, "") 50 | if endIndex == -1 { 51 | fmt.Println("\nError: tag not found in the response") 52 | return 53 | } 54 | 55 | tbodyContent := pageContent[startIndex+len("") : endIndex] 56 | 57 | rows := strings.Split(tbodyContent, "") 58 | 59 | proxies := "" 60 | for _, row := range rows { 61 | cells := strings.Split(row, "") 62 | if len(cells) >= 2 { 63 | proxies += cells[0] + ":" + cells[1] + "\n" 64 | } 65 | } 66 | 67 | outFile, err := os.Create("http.txt") 68 | if err != nil { 69 | fmt.Println("\nError while creating 'http.txt':", err) 70 | return 71 | } 72 | defer outFile.Close() 73 | 74 | _, err = outFile.WriteString(proxies) 75 | if err != nil { 76 | fmt.Println("\nError while writing to 'http.txt':", err) 77 | return 78 | } 79 | 80 | fmt.Println("Proxies downloaded successfully to 'http.txt'.") 81 | } 82 | -------------------------------------------------------------------------------- /proxies/http.txt: -------------------------------------------------------------------------------- 1 | 154.65.39.7:80 2 | 212.108.135.215:9090 3 | 139.59.1.14:80 4 | 158.255.77.169:80 5 | 143.198.42.182:31280 6 | 158.255.77.168:80 7 | 198.199.86.11:8080 8 | 91.103.120.39:80 9 | 57.129.81.201:8080 10 | 51.81.245.3:17981 11 | 67.43.228.254:22381 12 | 45.14.165.47:8080 13 | 32.223.6.94:80 14 | 133.18.234.13:80 15 | 128.199.202.122:8080 16 | 47.236.224.32:8080 17 | 190.58.248.86:80 18 | 50.122.86.118:80 19 | 66.191.31.158:80 20 | 209.135.168.41:80 21 | 189.240.60.172:9090 22 | 189.240.60.171:9090 23 | 189.240.60.168:9090 24 | 189.240.60.164:9090 25 | 94.23.9.170:80 26 | 118.185.179.10:80 27 | 4.156.78.45:80 28 | 65.21.52.41:8888 29 | 23.82.137.161:80 30 | 185.234.65.66:1080 31 | 158.255.77.166:80 32 | 23.247.136.248:80 33 | 198.23.143.74:80 34 | 71.14.218.2:8080 35 | 190.103.177.131:80 36 | 81.169.213.169:8888 37 | 23.247.136.254:80 38 | 91.103.120.57:80 39 | 37.60.230.27:8888 40 | 87.95.143.37:80 41 | 77.237.76.83:80 42 | 188.245.239.104:4001 43 | 13.126.128.118:3128 44 | 190.128.241.102:80 45 | 141.94.196.80:8989 46 | 37.60.230.30:8888 47 | 82.102.10.253:80 48 | 40.76.69.94:8080 49 | 47.88.59.79:82 50 | 91.103.120.48:80 51 | 51.254.78.223:80 52 | 139.59.34.209:8080 53 | 195.114.209.50:80 54 | 213.143.113.82:80 55 | 185.88.177.197:8080 56 | 66.201.7.151:3128 57 | 198.74.51.79:8888 58 | 154.90.48.76:80 59 | 84.39.112.144:3128 60 | 103.75.119.185:80 61 | 143.42.66.91:80 62 | 164.68.101.70:8888 63 | 189.240.60.166:9090 64 | 189.240.60.162:9090 65 | 85.215.64.49:80 66 | 103.79.131.70:13001 67 | 13.58.225.2:3128 68 | 123.141.181.1:5031 69 | 168.138.50.91:80 70 | 47.56.110.204:8989 71 | 27.79.176.93:16000 72 | 91.103.120.55:80 73 | 138.199.233.152:80 74 | 159.69.57.20:8880 75 | 49.249.155.3:80 76 | 0.0.0.0:80 77 | 211.128.96.206:80 78 | 68.185.57.66:80 79 | 127.0.0.7:80 80 | 91.99.125.212:80 81 | 160.251.142.232:80 82 | 85.214.107.177:80 83 | 65.108.203.37:18080 84 | 14.241.80.37:8080 85 | 140.82.22.235:34587 86 | 38.181.42.178:8080 87 | 34.102.48.89:8080 88 | 23.82.137.158:80 89 | 3.98.252.139:3128 90 | 65.108.203.36:18080 91 | 154.0.12.163:80 92 | 45.12.150.82:8080 93 | 200.174.198.86:8888 94 | 171.248.43.209:9050 95 | 13.209.143.47:3128 96 | 134.209.29.120:80 97 | 115.72.168.233:10006 98 | 27.79.201.195:1001 99 | 68.183.63.141:8080 100 | 8.217.124.178:49440 101 | 37.60.230.40:8888 102 | 104.253.50.20:6457 103 | 64.49.37.152:8085 104 | 193.233.231.57:8085 105 | 198.46.246.176:6800 106 | 46.202.78.229:5724 107 | 198.144.190.128:5975 108 | 193.142.37.248:8085 109 | 188.215.5.245:5275 110 | 142.111.58.95:6673 111 | 104.233.26.80:5918 112 | 23.27.75.140:6220 113 | 142.147.240.106:6628 114 | 199.96.166.59:8085 115 | 107.172.221.47:6002 116 | 104.168.25.199:5881 117 | 179.61.166.208:6631 118 | 31.57.82.196:6777 119 | 166.88.238.119:6099 120 | 166.88.224.16:5914 121 | 213.108.1.23:8085 122 | 142.111.58.159:6737 123 | 45.127.250.78:5687 124 | 38.170.169.90:5331 125 | 156.228.93.223:3129 126 | 198.46.137.162:6366 127 | 191.101.41.14:6086 128 | 198.23.214.146:6413 129 | 67.227.112.215:6255 130 | 23.27.78.153:5733 131 | 140.235.3.62:8085 132 | 45.249.59.133:6109 133 | 23.27.93.16:5595 134 | 64.64.110.47:6570 135 | 216.74.114.20:6303 136 | 173.214.176.20:5991 137 | 38.154.206.232:9723 138 | 45.61.127.61:6000 139 | 193.233.231.58:8085 140 | 140.235.2.115:8085 141 | 216.74.118.236:6391 142 | 67.227.36.73:6115 143 | 23.27.93.60:5639 144 | 104.232.209.45:6003 145 | 45.38.70.72:7010 146 | 23.236.170.5:9038 147 | 45.61.124.96:6425 148 | 192.210.191.253:6239 149 | 107.172.116.194:5650 150 | 45.61.127.214:6153 151 | 193.233.141.224:8085 152 | 104.253.212.112:5522 153 | 193.233.143.69:8085 154 | 198.12.112.33:5044 155 | 45.127.250.6:5615 156 | 45.38.45.211:6150 157 | 45.43.81.99:5746 158 | 38.170.157.39:9078 159 | 192.177.87.240:6086 160 | 193.233.229.41:8085 161 | 166.88.58.58:5783 162 | 216.74.115.122:6716 163 | 45.159.23.76:8085 164 | 45.80.107.111:8085 165 | 104.239.78.82:6027 166 | 193.233.143.16:8085 167 | 107.174.194.148:5590 168 | 31.58.21.138:6409 169 | 194.104.9.136:8085 170 | 176.126.111.216:8085 171 | 156.242.37.61:3129 172 | 185.216.107.185:5762 173 | 104.233.26.228:6066 174 | 142.147.240.23:6545 175 | 192.210.191.66:6052 176 | 31.59.13.44:6314 177 | 193.233.230.156:8085 178 | 184.174.58.123:5685 179 | 166.88.224.28:5926 180 | 198.105.122.133:6706 181 | 192.3.48.58:6051 182 | 184.174.126.135:6427 183 | 64.49.39.163:8085 184 | 89.249.198.80:6166 185 | 193.233.82.32:8085 186 | 45.115.195.124:6102 187 | 193.233.137.43:8085 188 | 194.99.25.253:8085 189 | 193.233.230.72:8085 190 | 185.216.105.80:6657 191 | 27.79.214.190:16000 192 | 136.0.194.185:6922 193 | 142.111.58.79:6657 194 | 2.57.21.107:5599 195 | 85.239.57.93:8085 196 | 38.170.172.221:5222 197 | 173.214.176.232:6203 198 | 89.19.34.79:8085 199 | 185.77.220.86:8085 200 | 67.227.37.211:5753 201 | 206.206.71.16:5656 202 | 216.74.115.125:6719 203 | 142.111.239.113:5691 204 | 185.77.221.235:8085 205 | 146.103.44.226:6778 206 | 23.27.184.138:5739 207 | 64.64.110.245:6768 208 | 193.233.83.232:8085 209 | 45.147.8.177:8085 210 | 140.235.0.168:8085 211 | 104.238.38.59:6327 212 | 199.96.164.13:8085 213 | 45.80.107.66:8085 214 | 198.46.241.222:6757 215 | 149.57.17.209:5677 216 | 193.233.142.128:8085 217 | 154.30.252.147:5278 218 | 154.6.128.12:5982 219 | 49.207.36.81:80 220 | 173.214.176.9:5980 221 | 4.149.210.210:3128 222 | 72.10.160.170:3897 223 | 72.10.160.171:20817 224 | 149.202.91.219:80 225 | 67.43.236.18:3927 226 | 67.43.228.253:24821 227 | 138.68.235.51:80 228 | 31.40.248.2:8080 229 | 189.240.60.169:9090 230 | 46.29.162.222:80 231 | 81.170.157.161:80 232 | 72.10.160.172:25965 233 | 171.237.112.237:1003 234 | 192.151.153.98:8080 235 | 87.248.129.26:80 236 | 78.28.152.113:80 237 | 195.231.69.203:80 238 | 46.47.197.210:3128 239 | 220.73.173.111:443 240 | 167.99.124.118:80 241 | 72.10.160.91:30895 242 | 146.59.202.70:80 243 | 37.60.230.56:8888 244 | 27.79.151.84:16000 245 | 63.143.57.116:80 246 | 193.30.122.197:80 247 | 186.65.109.21:81 248 | 27.71.128.40:16000 249 | 78.38.53.36:80 250 | 103.87.85.198:80 251 | 188.245.52.201:3129 252 | 72.10.160.90:18457 253 | 67.43.228.252:15581 254 | 23.82.137.156:80 255 | 67.43.228.251:30429 256 | 47.236.163.74:8080 257 | 35.209.198.222:80 258 | 137.184.174.32:4857 259 | 154.65.39.8:80 260 | 13.124.110.76:3128 261 | 67.43.228.250:7015 262 | 72.10.160.174:3295 263 | 23.82.137.159:80 264 | 8.220.141.8:1080 265 | 91.107.154.214:80 266 | 98.191.238.177:80 267 | 34.87.84.105:80 268 | 72.10.160.173:13719 269 | 91.92.136.132:8889 270 | 67.43.236.21:5247 271 | 175.139.233.76:80 272 | 160.30.137.91:10002 273 | 95.111.229.159:8080 274 | 149.200.200.44:80 275 | 147.45.178.211:14658 276 | 147.75.68.85:443 277 | 8.210.88.48:13128 278 | 181.129.147.163:8080 279 | 182.253.217.220:8008 280 | 8.219.97.248:80 281 | 38.54.9.151:3128 282 | 113.160.132.195:8080 283 | 47.251.43.115:33333 284 | 103.155.198.253:8006 285 | 186.38.106.25:3128 286 | 186.97.200.214:999 287 | 115.84.175.2:8181 288 | 103.94.250.151:8080 289 | 170.81.171.189:8282 290 | 179.60.53.28:999 291 | 115.72.166.155:10009 292 | 47.245.117.43:80 293 | 108.170.12.11:80 294 | 47.90.205.231:33333 295 | 97.74.87.226:80 296 | 159.203.61.169:3128 297 | 161.35.70.249:8080 298 | 218.236.166.96:8888 299 | 190.110.226.122:80 300 | 182.76.169.38:2245 301 | -------------------------------------------------------------------------------- /proxies/socks.txt: -------------------------------------------------------------------------------- 1 | 192.252.220.89:4145 2 | 67.201.58.190:4145 3 | 202.142.189.178:1080 4 | 166.62.53.45:45842 5 | 188.166.217.4:9945 6 | 64.226.85.75:1080 7 | 163.172.163.128:16379 8 | 103.162.153.68:1081 9 | 82.132.19.108:4153 10 | 68.71.242.118:4145 11 | 142.54.229.249:4145 12 | 185.139.56.133:4145 13 | 64.176.81.91:1080 14 | 199.102.105.242:4145 15 | 27.75.151.199:1080 16 | 116.118.98.10:5678 17 | 206.220.175.2:4145 18 | 70.80.75.236:5678 19 | 199.116.114.11:4145 20 | 83.56.15.57:5678 21 | 116.111.46.159:1080 22 | 103.162.50.13:6969 23 | 105.214.77.107:5678 24 | 67.201.33.10:25283 25 | 185.130.219.10:4153 26 | 89.203.137.37:48293 27 | 103.127.223.126:1080 28 | 202.179.83.169:51951 29 | 185.95.0.197:57032 30 | 43.156.5.186:1090 31 | 43.156.53.59:1090 32 | 43.153.221.44:1090 33 | 93.123.98.80:5678 34 | 12.11.59.114:1080 35 | 190.104.249.187:4145 36 | 141.94.195.25:25043 37 | 103.152.117.74:1080 38 | 188.163.170.130:35578 39 | 194.44.74.118:1080 40 | 150.107.207.137:57230 41 | 103.164.112.130:4145 42 | 201.234.24.89:4153 43 | 103.221.254.59:1088 44 | 54.36.176.100:52638 45 | 161.49.116.131:1338 46 | 103.127.23.10:5678 47 | 103.156.16.117:8199 48 | 67.225.137.108:61891 49 | 171.247.243.104:1080 50 | 67.225.137.109:61891 51 | 202.142.178.206:1080 52 | 31.42.185.134:1080 53 | 103.165.64.86:4153 54 | 72.195.34.41:4145 55 | 68.1.210.189:4145 56 | 195.138.65.34:5678 57 | 69.202.164.128:1080 58 | 171.247.99.125:1080 59 | 78.63.115.20:8899 60 | 103.189.218.76:6969 61 | 27.147.148.182:10888 62 | 181.15.154.154:52033 63 | 8.211.195.173:8080 64 | 80.78.78.106:65530 65 | 107.181.161.81:4145 66 | 139.59.68.143:48722 67 | 188.166.181.141:41196 68 | 72.195.114.169:4145 69 | 181.114.43.74:5678 70 | 103.229.83.106:6789 71 | 98.175.31.195:4145 72 | 192.111.139.165:4145 73 | 83.143.24.29:5678 74 | 193.122.105.251:65535 75 | 206.189.57.182:1080 76 | 142.54.239.1:4145 77 | 176.236.37.132:1080 78 | 103.254.57.227:48293 79 | 72.195.34.42:4145 80 | 45.234.77.86:4153 81 | 51.158.125.47:16379 82 | 160.19.16.86:1080 83 | 37.186.66.36:3629 84 | 192.95.33.162:10974 85 | 200.80.227.234:4145 86 | 68.71.247.130:4145 87 | 62.24.109.53:60606 88 | 36.67.88.77:4153 89 | 68.71.243.14:4145 90 | 94.73.251.19:1080 91 | 68.71.251.134:4145 92 | 142.54.232.6:4145 93 | 200.71.123.77:60606 94 | 161.35.82.57:1080 95 | 223.25.109.146:8199 96 | 192.248.95.98:54126 97 | 114.5.12.238:33000 98 | 95.143.220.40:1080 99 | 45.115.114.57:9090 100 | 34.124.190.108:8080 101 | 195.142.25.204:1082 102 | 183.88.240.53:4145 103 | 116.100.221.105:1080 104 | 103.156.74.154:8199 105 | 192.241.156.17:1080 106 | 47.237.100.95:8888 107 | 123.253.124.28:5678 108 | 5.189.170.65:1080 109 | 51.15.232.175:16379 110 | 193.243.154.146:4145 111 | 181.143.21.146:4153 112 | 103.168.246.3:4153 113 | 45.230.174.21:4153 114 | 82.114.68.42:5678 115 | 38.51.233.146:60606 116 | 104.236.114.255:25466 117 | 172.245.233.138:1080 118 | 45.114.68.87:1080 119 | 190.180.34.163:5678 120 | 103.115.198.64:1080 121 | 45.12.150.82:1080 122 | 103.159.113.117:1080 123 | 109.160.97.49:4145 124 | 88.250.69.136:5678 125 | 43.134.169.85:1090 126 | 103.156.16.121:8199 127 | 84.17.27.253:9105 128 | 174.75.211.193:4145 129 | 45.236.215.111:54029 130 | 72.195.34.35:27360 131 | 192.252.211.193:4145 132 | 82.223.165.28:38245 133 | 188.113.134.208:1080 134 | 98.181.137.83:4145 135 | 192.111.137.35:4145 136 | 72.211.46.99:4145 137 | 138.68.21.132:40467 138 | 192.252.216.86:4145 139 | 163.172.137.227:16379 140 | 103.140.74.200:5678 141 | 51.210.111.216:33123 142 | 72.205.0.67:4145 143 | 192.252.211.197:14921 144 | 192.252.215.2:4145 145 | 85.89.184.87:5678 146 | 200.43.231.17:4145 147 | 134.209.201.246:8080 148 | 84.52.123.163:4145 149 | 85.113.43.181:1080 150 | 198.8.84.3:4145 151 | 72.37.216.68:4145 152 | 51.15.226.238:16379 153 | 200.105.192.6:5678 154 | 64.176.35.83:1080 155 | 77.50.104.110:1080 156 | 143.110.190.60:1080 157 | 143.110.217.153:1080 158 | 68.1.210.163:4145 159 | 27.254.67.114:37328 160 | 68.183.23.26:1080 161 | 199.229.254.129:4145 162 | 184.170.249.65:4145 163 | 192.252.214.20:15864 164 | 98.170.57.241:4145 165 | 103.238.232.66:1080 166 | 195.219.98.27:5678 167 | 81.12.157.98:5678 168 | 84.2.239.42:4153 169 | 103.121.195.12:61221 170 | 64.49.67.164:5678 171 | 107.152.98.5:4145 172 | 202.131.235.138:4153 173 | 91.187.121.211:2080 174 | 213.21.53.119:4153 175 | 103.53.110.45:10801 176 | 103.51.205.92:5678 177 | 27.123.3.140:4145 178 | 103.56.206.65:4996 179 | 115.75.160.196:5678 180 | 45.61.188.134:44499 181 | 192.158.15.201:50877 182 | 45.6.101.98:4153 183 | 203.206.235.153:50042 184 | 38.51.69.212:4153 185 | 166.62.121.102:45886 186 | 185.244.77.62:1080 187 | 223.25.109.214:8199 188 | 143.137.116.72:1080 189 | 212.47.232.197:16379 190 | 213.210.67.186:3629 191 | 222.165.223.140:41541 192 | 98.190.239.3:4145 193 | 67.201.59.70:4145 194 | 168.232.60.73:5678 195 | 192.111.139.163:19404 196 | 59.103.173.254:1080 197 | 181.236.221.138:4145 198 | 187.63.9.62:63253 199 | 76.26.114.253:39593 200 | 91.150.189.122:60647 201 | 43.252.236.114:1080 202 | 199.58.184.97:4145 203 | 193.233.48.71:8443 204 | 98.178.72.21:10919 205 | 169.239.236.201:10801 206 | 37.52.13.164:5678 207 | 85.172.1.30:1080 208 | 72.211.46.124:4145 209 | 174.64.199.82:4145 210 | 98.170.57.249:4145 211 | 68.71.249.153:48606 212 | 98.170.57.231:4145 213 | 174.75.211.222:4145 214 | 184.170.248.5:4145 215 | 116.107.184.60:1080 216 | 109.94.182.128:4145 217 | 146.190.16.167:3129 218 | 80.78.73.142:65530 219 | 212.5.132.74:5678 220 | 103.224.48.38:31433 221 | 202.166.196.105:48293 222 | 163.172.134.29:16379 223 | 116.107.179.47:1080 224 | 103.16.62.138:10888 225 | 102.68.56.242:3629 226 | 31.28.253.63:10810 227 | 192.111.135.17:18302 228 | 192.241.243.131:9150 229 | 103.70.145.139:5678 230 | 192.252.209.158:4145 231 | 47.243.75.202:58854 232 | 77.65.50.118:34159 233 | 114.32.176.158:4145 234 | 62.171.176.129:43285 235 | 223.25.109.126:8199 236 | 1.4.195.114:4145 237 | 31.13.239.4:5678 238 | 95.43.244.15:4153 239 | 94.72.158.129:4153 240 | 195.175.22.194:5678 241 | 91.199.93.32:4153 242 | 43.134.52.166:1090 243 | 45.125.222.125:47239 244 | 138.0.207.18:38328 245 | 198.8.94.170:4145 246 | 43.134.127.13:1090 247 | 202.154.18.1:4996 248 | 199.58.185.9:4145 249 | 72.195.114.184:4145 250 | 37.26.86.206:4145 251 | 98.175.31.222:4145 252 | 43.134.185.198:1090 253 | 223.25.109.163:8199 254 | 80.92.224.141:5678 255 | 142.54.236.97:4145 256 | 109.248.236.150:60606 257 | 149.12.110.109:5678 258 | 193.106.57.96:5678 259 | 109.224.12.170:52015 260 | 178.70.70.83:1080 261 | 121.169.46.116:1090 262 | 103.160.41.138:3829 263 | 45.191.12.6:4153 264 | 192.111.134.10:4145 265 | 184.170.245.148:4145 266 | 212.126.5.242:42344 267 | 103.148.112.34:8199 268 | 134.122.43.203:56442 269 | 102.64.116.1:4145 270 | 103.228.117.118:48293 271 | 103.43.128.123:5678 272 | 175.139.200.17:4153 273 | 154.66.108.52:3629 274 | 103.233.103.241:4153 275 | 103.80.210.116:5678 276 | 103.140.188.155:2121 277 | 202.137.141.26:5678 278 | 173.212.239.181:22579 279 | 178.33.77.209:10880 280 | 180.180.124.248:49992 281 | 163.172.176.95:16379 282 | 192.111.137.34:18765 283 | 202.144.134.150:5678 284 | 116.107.191.6:1080 285 | 184.181.217.213:4145 286 | 184.178.172.25:15291 287 | 103.160.205.38:8080 288 | 109.120.142.39:60007 289 | 142.54.231.38:4145 290 | 41.162.162.142:4153 291 | 103.41.32.250:51951 292 | 115.187.50.40:5678 293 | 217.197.151.182:5678 294 | 183.96.222.70:28572 295 | 8.212.161.91:1080 296 | 154.113.172.58:5678 297 | 77.238.245.102:1080 298 | 203.170.146.146:4153 299 | 181.143.64.100:48293 300 | 61.7.147.227:4145 301 | -------------------------------------------------------------------------------- /socks.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | "io/ioutil" 6 | "net/http" 7 | "os" 8 | "strings" 9 | ) 10 | 11 | func main() { 12 | urlproxy := "https://www.socks-proxy.net/" 13 | 14 | req, err := http.NewRequest("GET", urlproxy, nil) 15 | if err != nil { 16 | fmt.Println("\nError while trying to create a request:", err) 17 | return 18 | } 19 | 20 | req.Header.Add("User-Agent", "Mozilla/4.0 (PSP (PlayStation Portable); 2.00)") 21 | 22 | client := &http.Client{} 23 | resp, err := client.Do(req) 24 | if err != nil { 25 | fmt.Println("\nError while trying to send a request:", err) 26 | return 27 | } 28 | defer resp.Body.Close() 29 | 30 | if resp.StatusCode != http.StatusOK { 31 | fmt.Println("\nError: Unexpected status code", resp.StatusCode) 32 | return 33 | } 34 | 35 | body, err := ioutil.ReadAll(resp.Body) 36 | if err != nil { 37 | fmt.Println("\nError while trying to read response body:", err) 38 | return 39 | } 40 | 41 | pageContent := string(body) 42 | 43 | startIndex := strings.Index(pageContent, "") 44 | if startIndex == -1 { 45 | fmt.Println("\nError: tag not found in the response") 46 | return 47 | } 48 | 49 | endIndex := strings.Index(pageContent, "") 50 | if endIndex == -1 { 51 | fmt.Println("\nError: tag not found in the response") 52 | return 53 | } 54 | 55 | tbodyContent := pageContent[startIndex+len("") : endIndex] 56 | 57 | rows := strings.Split(tbodyContent, "") 58 | 59 | proxies := "" 60 | for _, row := range rows { 61 | cells := strings.Split(row, "") 62 | if len(cells) >= 2 { 63 | proxies += cells[0] + ":" + cells[1] + "\n" 64 | } 65 | } 66 | 67 | outFile, err := os.Create("socks.txt") 68 | if err != nil { 69 | fmt.Println("\nError while creating 'socks.txt':", err) 70 | return 71 | } 72 | defer outFile.Close() 73 | 74 | _, err = outFile.WriteString(proxies) 75 | if err != nil { 76 | fmt.Println("\nError while writing to 'socks.txt':", err) 77 | return 78 | } 79 | 80 | fmt.Println("Proxies downloaded successfully to 'socks.txt'.") 81 | } 82 | --------------------------------------------------------------------------------