Skip to content
This repository was archived by the owner on Apr 5, 2022. It is now read-only.

Commit ae38977

Browse files
committed
Полностью переписан на Go
1 parent e50f28a commit ae38977

12 files changed

+218
-429
lines changed

.gitignore

+7-57
Original file line numberDiff line numberDiff line change
@@ -1,59 +1,9 @@
1-
# Logs
2-
logs
3-
*.log
4-
npm-debug.log*
5-
yarn-debug.log*
6-
yarn-error.log*
1+
.idea/
72

8-
# Runtime data
9-
pids
10-
*.pid
11-
*.seed
12-
*.pid.lock
3+
*.exe
4+
*.dll
5+
*.so
6+
*.dylib
7+
*.test
138

14-
# Directory for instrumented libs generated by jscoverage/JSCover
15-
lib-cov
16-
17-
# Coverage directory used by tools like istanbul
18-
coverage
19-
20-
# nyc test coverage
21-
.nyc_output
22-
23-
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
24-
.grunt
25-
26-
# Bower dependency directory (https://bower.io/)
27-
bower_components
28-
29-
# node-waf configuration
30-
.lock-wscript
31-
32-
# Compiled binary addons (http://nodejs.org/api/addons.html)
33-
build/Release
34-
35-
# Dependency directories
36-
node_modules/
37-
jspm_packages/
38-
39-
# Optional npm cache directory
40-
.npm
41-
42-
# Optional eslint cache
43-
.eslintcache
44-
45-
# Optional REPL history
46-
.node_repl_history
47-
48-
# Output of 'npm pack'
49-
*.tgz
50-
51-
# Yarn Integrity file
52-
.yarn-integrity
53-
54-
# dotenv environment variables file
55-
.env
56-
57-
58-
config.js
59-
database.db
9+
vk-proxy

README.md

+12-4
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,21 @@
11
# vk-proxy
22
Прокси-сервер для приложения ВКонтакте на Android.
33

4-
## Запуск прокси
5-
- Скопировать файл `config.example.js` в `config.js` и изменить нужные данные
6-
- Выполнить `npm install`
7-
- Выполнить `npm start`
4+
## Установка прокси
5+
- `go get -u github.com/xtrafrancyz/vk-proxy`
6+
- `cd $GOPATH/src/github.com/xtrafrancyz/vk-proxy`
7+
- `go build`
88
- Настроить nginx по примеру в `conf/nginx.conf`
99
- Настроить HTTPS, так как приложение без него работать не будет. Можно либо подключить [Cloudflare](https://www.cloudflare.com), либо сгенерировать сертификат через [Let's Encrypt](https://certbot.eff.org) и добавить его в nginx.
1010

11+
## Запуск прокси
12+
`./vk-proxy -domain=YOUR-DOMAIN.com`
13+
14+
#### Доступные параметры
15+
- `-host` -- ip адрес, на котором будет запущен прокси (по умолчанию на всех)
16+
- `-port` -- порт прокси (по умолчанию 8881)
17+
- `-domain` -- ваш домен, на котором будет запущен прокси *обязательно*
18+
1119
## Настройка приложения
1220
1. Открываем приложение ВК, заходим в **Настройки** -> **Основные**.
1321
2. Убираем галочку с пункта Proxy (пункт может то появляться, то исчезать).

config.example.js

-19
This file was deleted.

lib/database.js

-14
This file was deleted.

lib/handler/ads-remover.js

-57
This file was deleted.

lib/handler/analytics.js

-49
This file was deleted.

lib/handler/url-replacer.js

-66
This file was deleted.

main.go

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package main
2+
3+
import (
4+
"log"
5+
"flag"
6+
"os"
7+
"fmt"
8+
"strconv"
9+
10+
"github.com/valyala/fasthttp"
11+
)
12+
13+
func main() {
14+
pDomain := flag.String("domain", "", "used in replaces")
15+
pHost := flag.String("host", "0.0.0.0", "address to bind")
16+
pPort := flag.Int("port", 8881, "port to bind")
17+
18+
flag.Parse()
19+
20+
if *pDomain == "" {
21+
fmt.Println("ERROR: You must specify domain with flag -domain=your.domain")
22+
os.Exit(0)
23+
}
24+
25+
InitReplaces(*pDomain)
26+
StartTicker()
27+
28+
log.Println("Starting server on " + *pHost + ":" + strconv.Itoa(*pPort))
29+
if err := fasthttp.ListenAndServe(*pHost+":"+strconv.Itoa(*pPort), reverseProxyHandler); err != nil {
30+
log.Fatalf("error in fasthttp server: %s", err)
31+
}
32+
}

package.json

-38
This file was deleted.

0 commit comments

Comments
 (0)