├── .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 | 158.255.77.169:80 2 | 158.255.77.168:80 3 | 123.140.160.54:5031 4 | 91.103.120.39:80 5 | 57.129.81.201:8080 6 | 51.81.245.3:17981 7 | 32.223.6.94:80 8 | 220.73.173.111:443 9 | 47.236.224.32:8080 10 | 79.174.12.190:80 11 | 190.58.248.86:80 12 | 50.122.86.118:80 13 | 31.40.248.2:8080 14 | 189.240.60.172:9090 15 | 189.240.60.169:9090 16 | 189.240.60.171:9090 17 | 189.240.60.164:9090 18 | 98.191.238.177:80 19 | 185.234.65.66:1080 20 | 156.38.112.11:80 21 | 158.255.77.166:80 22 | 45.12.150.82:8080 23 | 198.23.143.74:80 24 | 123.140.146.21:5031 25 | 81.169.213.169:8888 26 | 23.247.136.254:80 27 | 91.222.238.112:80 28 | 91.103.120.57:80 29 | 77.237.76.83:80 30 | 40.76.69.94:8080 31 | 47.88.59.79:82 32 | 91.103.120.48:80 33 | 139.59.34.209:8080 34 | 213.143.113.82:80 35 | 149.200.200.44:80 36 | 189.240.60.166:9090 37 | 189.240.60.162:9090 38 | 193.30.122.197:80 39 | 123.141.181.1:5031 40 | 93.127.163.52:80 41 | 123.140.146.10:5031 42 | 91.103.120.55:80 43 | 159.69.57.20:8880 44 | 0.0.0.0:80 45 | 211.128.96.206:80 46 | 68.185.57.66:80 47 | 8.219.97.248:80 48 | 127.0.0.7:80 49 | 49.151.114.181:8080 50 | 103.247.13.131:8080 51 | 187.251.222.69:8080 52 | 201.230.121.126:999 53 | 87.248.129.32:80 54 | 38.54.71.67:80 55 | 45.14.165.47:8080 56 | 138.197.68.35:4857 57 | 66.191.31.158:80 58 | 189.240.60.168:9090 59 | 200.174.198.86:8888 60 | 190.103.177.131:80 61 | 185.88.177.197:8080 62 | 66.201.7.151:3128 63 | 84.39.112.144:3128 64 | 143.42.66.91:80 65 | 47.56.110.204:8989 66 | 97.74.87.226:80 67 | 27.79.166.35:16000 68 | 209.135.168.41:80 69 | 4.156.78.45:80 70 | 103.56.205.84:8080 71 | 160.251.142.232:80 72 | 138.199.233.152:80 73 | 91.107.86.207:3141 74 | 5.8.34.16:8080 75 | 195.231.68.213:3128 76 | 47.252.81.108:8118 77 | 103.93.93.114:3127 78 | 45.171.111.255:999 79 | 38.51.188.31:999 80 | 168.228.140.192:999 81 | 154.65.39.7:80 82 | 47.252.11.233:9080 83 | 161.35.70.249:8080 84 | 198.199.86.11:8080 85 | 193.188.21.69:8118 86 | 35.209.198.222:80 87 | 154.65.39.8:80 88 | 138.68.60.8:80 89 | 134.209.29.120:80 90 | 82.102.10.253:80 91 | 51.254.78.223:80 92 | 47.238.60.156:8093 93 | 192.73.244.36:80 94 | 34.81.72.31:80 95 | 159.69.147.14:1080 96 | 139.59.1.14:80 97 | 162.240.19.30:80 98 | 157.230.220.25:4857 99 | 8.213.137.155:447 100 | 128.199.202.122:8080 101 | 197.44.247.35:3128 102 | 71.14.218.2:8080 103 | 147.45.178.211:14658 104 | 198.49.68.80:80 105 | 27.71.141.244:16000 106 | 27.79.242.4:16000 107 | 102.222.161.143:3128 108 | 46.47.197.210:3128 109 | 162.214.165.203:80 110 | 188.245.239.104:4001 111 | 85.215.64.49:80 112 | 219.93.101.60:80 113 | 87.248.129.26:80 114 | 103.184.123.41:8888 115 | 41.65.236.34:1976 116 | 79.253.206.196:8080 117 | 103.172.23.114:1111 118 | 148.230.195.165:6969 119 | 160.19.18.223:7777 120 | 103.169.128.133:8080 121 | 47.79.121.83:1080 122 | 206.238.173.41:8118 123 | 133.18.234.13:80 124 | 67.43.228.250:7015 125 | 65.108.39.235:8000 126 | 103.130.145.197:80 127 | 87.95.143.37:80 128 | 219.93.101.63:80 129 | 168.138.50.91:80 130 | 219.65.73.81:80 131 | 23.247.136.248:80 132 | 213.226.119.120:4857 133 | 62.171.180.82:8079 134 | 93.42.151.100:8080 135 | 104.236.70.10:8080 136 | 102.218.195.168:8080 137 | 8.210.117.141:8888 138 | 65.108.203.37:18080 139 | 37.27.63.151:25568 140 | 41.74.91.244:80 141 | 13.80.134.180:80 142 | 148.113.194.171:80 143 | 195.114.209.50:80 144 | 27.79.223.188:16000 145 | 103.82.38.220:8888 146 | 146.59.202.70:80 147 | 47.251.43.115:33333 148 | 128.140.113.110:8081 149 | 198.74.51.79:8888 150 | 27.79.148.195:16000 151 | 103.151.226.133:8080 152 | 118.173.245.58:8080 153 | 103.14.33.82:3128 154 | 179.60.53.28:999 155 | 4.149.210.210:3128 156 | 140.245.220.37:1080 157 | 103.75.119.185:80 158 | 27.79.130.142:16000 159 | 138.201.35.98:8080 160 | 114.130.154.118:58080 161 | 20.27.14.220:8561 162 | 62.210.15.199:80 163 | 49.13.157.70:8090 164 | 114.198.244.57:3128 165 | 47.74.226.8:5001 166 | 36.92.193.189:80 167 | 103.140.239.252:8080 168 | 188.166.212.101:3128 169 | 41.59.90.171:80 170 | 65.108.159.129:8081 171 | 45.92.108.112:80 172 | 154.236.177.104:1976 173 | 38.255.85.145:999 174 | 103.158.162.18:8080 175 | 192.203.0.254:999 176 | 103.189.197.83:8181 177 | 103.163.231.106:3127 178 | 103.144.18.55:3127 179 | 159.138.9.58:2221 180 | 92.118.169.34:3128 181 | 157.66.2.153:1111 182 | 103.87.148.16:8085 183 | 47.252.29.28:11222 184 | 47.236.163.74:8080 185 | 47.245.117.43:80 186 | 201.150.116.3:999 187 | 185.41.152.110:3128 188 | 101.51.106.164:2080 189 | 103.154.87.12:80 190 | 27.71.130.51:16000 191 | 47.250.177.202:8443 192 | 47.90.205.231:33333 193 | 182.72.203.255:80 194 | 20.84.109.185:80 195 | 41.59.90.175:80 196 | 89.249.62.8:3128 197 | 175.158.63.166:1111 198 | 103.193.144.13:8080 199 | 195.58.58.211:8118 200 | 109.111.227.130:8080 201 | 209.14.115.33:999 202 | 47.91.104.88:3128 203 | 8.213.151.128:3128 204 | 47.89.184.18:3128 205 | 8.209.255.13:3128 206 | 47.91.65.23:3128 207 | 20.127.145.35:3128 208 | 181.78.19.142:9992 209 | 181.78.19.138:9992 210 | 38.250.126.201:999 211 | 23.237.210.82:80 212 | 47.243.92.199:3128 213 | 54.250.76.76:3128 214 | 122.3.116.9:8082 215 | 85.214.107.177:80 216 | 20.78.26.206:8561 217 | 91.92.136.132:8889 218 | 67.43.236.20:31503 219 | 27.147.129.26:58080 220 | 128.90.169.188:8118 221 | 211.251.236.253:80 222 | 177.23.156.1:18800 223 | 56.125.98.234:3128 224 | 119.148.55.89:1419 225 | 103.189.197.105:8080 226 | 159.89.239.166:18099 227 | 93.190.138.107:46182 228 | 116.96.92.185:16000 229 | 51.75.206.209:80 230 | 94.23.9.170:80 231 | 91.107.154.214:80 232 | 65.21.52.41:8888 233 | 27.79.134.226:16000 234 | 164.68.101.70:8888 235 | 8.213.129.15:3128 236 | 167.99.124.118:80 237 | 91.65.103.34:80 238 | 27.147.177.74:58080 239 | 186.159.23.234:999 240 | 202.61.204.51:80 241 | 177.53.155.204:999 242 | 27.147.195.170:58080 243 | 37.120.206.88:8080 244 | 177.128.212.190:8080 245 | 103.162.37.10:8080 246 | 38.190.100.236:999 247 | 42.96.12.235:7004 248 | 158.178.246.35:80 249 | 174.138.54.65:80 250 | 20.27.15.49:8561 251 | 160.191.87.165:60000 252 | 41.59.90.168:80 253 | 190.110.226.122:80 254 | 103.161.69.217:8469 255 | 167.172.253.162:4857 256 | 27.71.129.117:16000 257 | 103.180.196.113:2024 258 | 103.80.81.230:8080 259 | 207.177.122.144:8080 260 | 103.111.119.34:8080 261 | 72.10.160.170:3897 262 | 107.172.82.199:8080 263 | 117.54.114.103:80 264 | 66.29.154.103:3128 265 | 47.238.130.212:20 266 | 8.217.124.178:49440 267 | 91.200.163.190:8088 268 | 47.237.107.41:8080 269 | 185.46.217.193:8080 270 | 45.115.136.32:8080 271 | 185.239.178.33:1111 272 | 186.67.94.10:999 273 | 193.30.13.186:8080 274 | 182.160.114.213:8080 275 | 95.111.229.159:8080 276 | 103.79.131.70:13001 277 | 160.19.19.114:8080 278 | 217.76.245.80:999 279 | 201.71.137.90:5128 280 | 190.109.1.34:999 281 | 181.78.17.141:999 282 | 38.156.236.186:999 283 | 61.118.38.234:60808 284 | 171.242.233.59:4001 285 | 197.167.214.157:1976 286 | 20.78.118.91:8561 287 | 20.27.15.111:8561 288 | 20.210.39.153:8561 289 | 201.222.50.218:80 290 | 20.27.11.248:8561 291 | 49.249.155.3:80 292 | 103.63.190.39:8080 293 | 46.161.196.144:8080 294 | 201.150.116.32:999 295 | 208.87.243.199:7878 296 | 103.164.212.125:8080 297 | 92.51.122.174:8080 298 | 171.237.127.147:1010 299 | 118.70.170.125:31300 300 | 141.94.196.80:8989 301 | -------------------------------------------------------------------------------- /proxies/socks.txt: -------------------------------------------------------------------------------- 1 | 49.0.156.20:32000 2 | 179.27.86.36:4153 3 | 192.252.220.89:4145 4 | 185.54.178.193:1080 5 | 199.58.185.9:4145 6 | 223.25.109.126:8199 7 | 45.115.114.57:9090 8 | 103.148.112.70:8199 9 | 103.131.156.90:6789 10 | 185.210.85.26:56981 11 | 36.67.161.3:4153 12 | 117.20.64.44:56981 13 | 199.116.114.11:4145 14 | 103.245.205.142:35158 15 | 192.252.208.70:14282 16 | 162.253.68.97:4145 17 | 105.214.123.42:5678 18 | 109.72.100.109:48293 19 | 170.246.199.55:5678 20 | 84.52.123.163:4145 21 | 200.188.246.122:60606 22 | 81.228.44.187:65530 23 | 202.123.183.66:5678 24 | 95.128.142.76:1080 25 | 124.158.149.66:4153 26 | 103.88.169.106:33149 27 | 223.205.186.163:1080 28 | 202.55.133.241:5555 29 | 190.119.167.154:5678 30 | 103.238.232.66:1080 31 | 41.242.69.196:5678 32 | 45.73.0.118:5678 33 | 192.111.138.29:4145 34 | 122.248.46.26:4145 35 | 170.245.248.45:60606 36 | 67.201.58.190:4145 37 | 34.166.117.165:1080 38 | 192.111.139.163:19404 39 | 138.199.25.13:3902 40 | 150.230.249.42:46818 41 | 103.69.20.111:10888 42 | 212.47.250.252:16379 43 | 184.95.220.42:1080 44 | 202.179.88.233:51951 45 | 68.71.241.33:4145 46 | 43.252.236.114:1080 47 | 163.172.185.252:16379 48 | 185.59.100.55:1080 49 | 103.174.236.98:8080 50 | 68.1.210.163:4145 51 | 81.16.9.222:3629 52 | 70.80.75.236:5678 53 | 78.133.163.190:4145 54 | 125.27.10.84:4153 55 | 103.73.69.57:5678 56 | 95.46.140.214:1081 57 | 47.237.113.119:6379 58 | 45.117.28.193:10888 59 | 143.137.116.72:1080 60 | 103.167.156.102:1080 61 | 95.31.35.210:3629 62 | 185.216.18.138:44550 63 | 103.140.74.200:5678 64 | 154.66.108.52:3629 65 | 163.172.178.154:16379 66 | 207.154.230.54:14273 67 | 118.70.206.161:60606 68 | 195.91.129.101:1337 69 | 107.181.161.81:4145 70 | 199.58.184.97:4145 71 | 192.111.130.2:4145 72 | 37.52.13.164:5678 73 | 38.51.69.212:4153 74 | 103.189.218.83:6969 75 | 190.180.34.164:5678 76 | 190.242.59.158:4145 77 | 98.170.57.231:4145 78 | 132.148.244.30:45157 79 | 82.200.235.134:18508 80 | 125.228.94.199:4145 81 | 27.72.73.143:4153 82 | 5.160.247.48:8443 83 | 197.215.220.18:1080 84 | 213.156.124.3:33333 85 | 187.1.166.213:4145 86 | 41.70.106.1:5678 87 | 45.200.53.169:10230 88 | 83.143.24.29:5678 89 | 159.203.61.169:1080 90 | 46.214.153.223:5678 91 | 103.167.156.16:1080 92 | 185.161.186.92:54321 93 | 138.0.207.18:38328 94 | 210.16.86.105:5678 95 | 116.118.98.25:5678 96 | 8.220.194.115:1080 97 | 80.78.64.70:4145 98 | 103.187.39.21:1080 99 | 103.80.210.116:5678 100 | 166.62.121.102:45886 101 | 206.189.57.182:1080 102 | 38.156.74.147:10820 103 | 91.214.62.121:8053 104 | 141.94.70.195:46797 105 | 87.117.11.57:1080 106 | 62.171.171.209:2374 107 | 5.58.47.25:3629 108 | 185.32.4.110:4153 109 | 24.249.199.4:4145 110 | 5.128.254.99:1080 111 | 94.232.125.200:5678 112 | 36.67.56.18:60606 113 | 54.36.176.100:52638 114 | 212.47.249.156:16379 115 | 74.62.23.242:39593 116 | 181.204.4.74:5678 117 | 110.173.190.206:60606 118 | 171.226.152.222:8021 119 | 183.80.54.224:1080 120 | 31.28.253.63:10810 121 | 89.216.47.137:5678 122 | 51.159.59.154:1080 123 | 5.58.33.187:5678 124 | 136.233.136.41:43314 125 | 180.191.22.50:4153 126 | 193.106.249.83:44446 127 | 145.239.254.55:11001 128 | 212.47.243.66:16379 129 | 65.49.67.161:48324 130 | 45.40.136.39:45741 131 | 162.144.32.131:19829 132 | 200.105.192.6:5678 133 | 91.247.92.63:5678 134 | 181.129.74.58:30431 135 | 103.250.14.26:8199 136 | 212.126.5.242:42344 137 | 85.89.184.87:5678 138 | 190.144.224.182:44550 139 | 163.172.176.95:16379 140 | 49.0.87.62:1080 141 | 192.111.139.162:4145 142 | 192.111.135.17:18302 143 | 81.200.157.185:1080 144 | 103.115.255.225:36331 145 | 122.252.179.66:5678 146 | 103.141.106.142:6969 147 | 51.178.68.226:46753 148 | 212.231.197.29:4145 149 | 212.233.93.84:10808 150 | 12.11.59.114:1080 151 | 68.71.249.158:4145 152 | 192.248.95.98:54126 153 | 212.39.114.139:5678 154 | 198.8.94.174:39078 155 | 103.148.112.34:8199 156 | 103.135.139.121:6969 157 | 139.59.234.208:52873 158 | 41.139.147.86:5678 159 | 173.212.239.181:22520 160 | 78.63.115.20:8899 161 | 103.184.67.37:1080 162 | 185.117.90.166:5555 163 | 200.111.158.234:5678 164 | 36.67.14.151:5678 165 | 176.120.32.135:5678 166 | 103.169.254.155:1080 167 | 206.220.175.2:4145 168 | 115.85.86.114:5678 169 | 212.5.132.74:5678 170 | 98.188.47.132:4145 171 | 67.201.33.10:25283 172 | 107.181.168.145:4145 173 | 43.134.105.159:20000 174 | 170.244.0.179:4145 175 | 37.27.63.151:25568 176 | 41.21.182.179:5678 177 | 192.111.137.35:4145 178 | 89.46.249.253:9876 179 | 104.200.135.46:4145 180 | 47.176.213.210:39593 181 | 107.152.98.5:4145 182 | 103.247.120.51:10800 183 | 216.155.93.238:5678 184 | 180.250.159.49:4153 185 | 184.178.172.28:15294 186 | 193.158.12.138:4153 187 | 128.199.37.92:1080 188 | 199.229.254.129:4145 189 | 192.252.211.193:4145 190 | 103.210.29.201:31433 191 | 192.252.208.67:14287 192 | 98.191.0.37:4145 193 | 51.158.113.139:16379 194 | 167.172.86.46:10471 195 | 46.47.82.16:4153 196 | 185.132.1.221:4145 197 | 138.117.116.30:44009 198 | 132.145.19.122:1080 199 | 47.254.36.213:999 200 | 187.19.127.180:4153 201 | 62.201.233.59:4145 202 | 64.124.191.98:32688 203 | 45.32.182.208:6688 204 | 103.127.223.126:1080 205 | 200.46.30.210:4153 206 | 198.0.198.132:54321 207 | 103.151.30.49:1080 208 | 212.34.152.172:8081 209 | 182.93.69.74:5678 210 | 140.245.220.37:1080 211 | 45.191.12.6:4153 212 | 195.66.210.177:1080 213 | 8.213.215.187:104 214 | 103.160.12.147:8199 215 | 185.191.165.28:1080 216 | 36.92.111.49:52471 217 | 128.199.104.190:41354 218 | 89.116.121.201:9051 219 | 118.174.143.38:4153 220 | 163.172.187.22:16379 221 | 91.199.93.32:4153 222 | 36.91.139.82:5678 223 | 190.119.160.29:56160 224 | 118.70.151.55:1080 225 | 134.209.232.237:12040 226 | 195.175.22.194:5678 227 | 109.230.237.226:60098 228 | 103.158.253.162:8199 229 | 104.244.74.206:38118 230 | 85.113.18.209:3629 231 | 192.252.209.155:14455 232 | 109.232.106.150:52435 233 | 87.110.164.219:4145 234 | 45.12.28.164:1080 235 | 190.246.55.235:5678 236 | 202.179.83.169:51951 237 | 51.15.139.14:16379 238 | 93.184.7.26:1080 239 | 150.129.109.14:5678 240 | 41.216.232.213:4153 241 | 94.253.95.241:3629 242 | 36.89.253.7:5678 243 | 78.61.27.207:5678 244 | 31.128.41.253:18080 245 | 103.102.142.98:4145 246 | 188.113.134.208:1080 247 | 38.83.108.89:5678 248 | 103.74.227.130:56417 249 | 202.137.141.26:5678 250 | 62.201.212.198:4673 251 | 67.225.137.108:61891 252 | 103.76.190.37:31756 253 | 72.211.46.124:4145 254 | 173.249.28.218:27387 255 | 81.30.177.75:1080 256 | 198.177.125.181:46549 257 | 8.211.42.167:1234 258 | 161.97.163.52:50697 259 | 1.32.59.217:31981 260 | 45.128.133.1:1080 261 | 122.102.41.226:4153 262 | 184.170.249.65:4145 263 | 82.209.165.206:4153 264 | 94.159.106.252:1080 265 | 213.147.123.49:1080 266 | 77.241.20.215:55915 267 | 27.123.3.138:4145 268 | 180.92.212.178:5678 269 | 167.172.138.48:49167 270 | 103.124.137.251:1080 271 | 180.211.179.50:1080 272 | 156.252.0.250:59249 273 | 24.172.34.114:60133 274 | 200.7.106.194:1080 275 | 115.242.204.122:5678 276 | 139.255.94.123:57853 277 | 98.181.137.83:4145 278 | 24.37.245.42:51056 279 | 37.186.66.36:3629 280 | 89.110.112.141:1080 281 | 195.74.72.111:5678 282 | 195.78.100.162:3629 283 | 212.47.248.107:16379 284 | 186.190.228.83:4153 285 | 200.81.122.235:4153 286 | 171.247.243.104:1080 287 | 190.108.84.168:4145 288 | 80.209.243.26:3222 289 | 43.228.95.138:5678 290 | 200.170.196.94:1080 291 | 176.121.48.78:60606 292 | 117.102.115.158:4153 293 | 188.166.181.141:41196 294 | 93.123.98.80:5678 295 | 91.228.245.196:60606 296 | 64.49.67.164:5678 297 | 67.210.146.50:11080 298 | 51.15.210.190:16379 299 | 103.247.14.37:8199 300 | 163.47.37.190:1080 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 | --------------------------------------------------------------------------------