menggunakan ponsel android Anda sebagai server proxy

10

Saya ingin menggunakan ponsel android saya sebagai server proxy, artinya saya ingin dapat menggunakan IP di telepon sebagai proxy, sehingga semua permintaan dan respons diterima di telepon dan diteruskan kembali ke pemohon yang asli. Bagaimana saya melakukan ini?

adit
sumber

Jawaban:

6

Server Ultimate adalah aplikasi canggih untuk mengubah telepon Anda menjadi server. Oleh pengembang yang sama, Proxy Server menawarkan pendekatan yang lebih mendasar dan hanya "Berbasis Proxy Server". Sebagaimana dinyatakan pada deskripsinya:

Jalankan Proxy Server Anda sendiri di perangkat Anda! Aplikasi ini dapat menangani protokol HTTP dan HTTPS dan permintaan GET / POST. Anda bahkan dapat mengatur aplikasi untuk meneruskan semua koneksi ke host dan port default sehingga Anda dapat menggunakan protokol lain juga melalui soket!

Mereka kemudian menambahkan

Untuk lebih banyak server dan fitur, lihat aplikasi kami Servers Ultimate

Untuk beberapa informasi tambahan tentang Server Ultimate, periksa artikel ini di LifeHacker , artikel ini di XDA , dan aplikasi memiliki utas XDA .

SarpSTA
sumber
Saya mencoba mengatur ini dengan cara yang saya hubungkan ke server proxy menggunakan IP WiFi, dan semua koneksi keluar akan menggunakan koneksi data. Apakah ini mungkin?
Arya
Hai @Arya, apa kamu tahu bagaimana melakukan itu?
nick carraway
@Arya, periksa jawaban saya menggunakan adb
nick carraway
5

Jika Anda hanya tertarik untuk mengatur proxy di Wifi Anda, Anda dapat melakukannya dengan Server Ultimate dengan mudah, tetapi saya tidak tahu mengapa ada orang yang benar-benar ingin melakukannya. Opsi yang jauh lebih berguna adalah menggunakan data seluler, tetapi seperti yang dikatakan @Kevin, Anda akan mengalami banyak sakit kepala, yaitu di tingkat ISP (Verizon, AT&T, dll.). Kemungkinannya adalah Anda tidak akan membuat mereka mengubah kebijakan NAT mereka untuk Anda.

Sulit menggunakan data seluler Anda sebagai proxy karena semua koneksi yang masuk diblokir. Tetapi, jika Anda memiliki laptop yang terhubung ke wifi, dan ponsel Anda terhubung ke laptop Anda melalui adb, salah satu opsi adalah menjalankan perintah seperti ini:

adb forward tcp:6400 tcp:8080

Perintah ini meneruskan semua koneksi TCP yang dikirim ke port 6400 host (laptop) Anda ke port 8080 ponsel Anda. Selanjutnya, atur server proxy pada Server Servers Ultimate Anda yang berjalan pada port 8080. Tidak perlu root!

Sekarang, segala permintaan ke laptop Anda melalui port 6400 akan diteruskan ke data seluler Anda! Uji ini dengan membuka firefox, pergi ke pengaturan, Jaringan, dan menggunakan 127.0.0.1 dan port 6400 sebagai proxy. Anda dapat membuka router Anda untuk mengakses wifi publik menggunakan port ini, meskipun saya sarankan menyiapkan beberapa jenis kebijakan keamanan.

Ada banyak tutorial untuk mengaktifkan opsi pengembang dan adb di laptop Anda, itu mudah.

nick carraway
sumber
Ini sebenarnya bisa bekerja :) Saya akan mencobanya hari ini
Arya
Berhasil! luar biasa!
Arya
Ini akan membuat server SOCKS kan? jika seseorang menginginkan server proxy HTTP maka mereka harus menggunakan sesuatu seperti Polipo untuk mengonversi SOCKS ke proxy HTTP?
Arya
If you're just interested in setting a proxy up over your Wifi, you can do that with Servers Ultimate quite easily, but I don't know why anyone would really want to do that. A much more useful option is to use mobile data, Setuju bahwa pengaturan proxy melalui 4G (tidak seperti pada WiFi) tidak dimungkinkan dengan Server Ultimate? (Saya bertanya karena saya dapat mengatur proxy melalui 4G dan ingin tahu apakah itu mungkin sama sekali)
hartmut
Super. Terima kasih.
Kiran
1

Saya mengalami masalah saat menjalankan server proxy Server Ultimate, dan pikiran pertama saya adalah karena ponsel saya tidak di-root. Namun, masalah di sini sebenarnya belum tentu di tingkat OS, tergantung pada kasus penggunaan Anda.

Jika Anda mencoba menggunakan koneksi data seluler Anda sebagai proxy, Anda mungkin mengalami beberapa masalah, karena sebagian besar penyedia data seluler akan memblokir port apa pun yang biasanya dapat Anda gunakan untuk mengatur proxy. Taruhan terbaik Anda adalah menghubungi penyedia data seluler dan melihat apakah mereka memiliki port yang terbuka di luar nilai 1024 (Android memblokir port di bawah angka ini untuk alasan keamanan).

Atau, Anda dapat:

  • Gunakan server proxy di Wifi, tetapi pastikan port proxy terbuka di router Anda
  • Rooting ponsel Anda sehingga Anda dapat mengatur port forwarding untuk menggunakan koneksi data seluler Anda
  • Rooting ponsel Anda sehingga Anda dapat menggunakan nilai port di bawah 1024 yang biasanya terbuka.

Untuk menyadari hal ini, coba jalankan server proxy Server pada Wifi dengan port terbuka. Anda akan memiliki sesuatu yang berfungsi, tetapi jika tujuan Anda adalah menggunakan data seluler, Anda kurang beruntung untuk saat ini.

Kevin
sumber
0

Jika ponsel Anda di-rooting (atau setidaknya bootloader tidak dikunci), Anda dapat menjalankan tinyproxy (proxy HTTP / HTTPS) sebagai initlayanan. Ini berfungsi dengan Wi-Fi dan Data Seluler, dalam kasus terakhir Anda harus memastikan ponsel Anda dapat diakses dari internet. Lihat Bagaimana menghubungkan ke Android melalui SSH melalui IP publik 3G / 4G?

  • Buat direktori di /dataatau /system:
    ~# mkdir -p /data/local/tinyproxy/tmp
    
  • Buat file konfigurasi:

    # /data/local/tinyproxy/tinyproxy.conf
    
    Port 8080
    Timeout 600
    LogFile "/tinyproxy.log"
    LogLevel Connect
    MaxClients 100
    MinSpareServers 5
    MaxSpareServers 20
    StartServers 5
    MaxRequestsPerChild 0
    ViaProxyName "tinyproxy"
    #BasicAuth <username> <password>
    

    Untuk opsi konfigurasi lebih lanjut lihat dokumentasi .

  • Bangun tinyproxydari sumber atau coba yang ini . Pindahkan biner ke /data/local/tinyproxy/dan atur izin. Gunakan AID_NOBODYatau UID lain yang tidak digunakan untuk layanan:
    ~# cd /data/local/tinyproxy/
    ~# chown -R 9999.9999 .
    ~# chmod 0755 . tmp tinyproxy
    ~# chmod 0644 tinyproxy.conf
    
  • Tambahkan baris berikut ke /init.rcatau .rcfile lain :

    # /system/etc/init/tinyproxy.rc
    
    service tinyproxy /system/bin/chroot /data/local/tinyproxy /tinyproxy -d -c /tinyproxy.conf
        seclabel u:r:magisk:s0
        user 9999
        group 9999
        disabled
        capabilities NET_RAW NET_BIND_SERVICE SYS_CHROOT
    
    on property:sys.boot_completed=1
        start tinyproxy
    

Jika menggunakan aplikasi firewall apa pun, pastikan untuk membuka blokir port yang masuk 8080. Nyalakan ulang perangkat. tinyproxyserver harus berjalan dengan hak istimewa paling sedikit. Terhubung secara lokal atau jarak jauh.


PS:

Jika ponsel tidak di-rooting atau Anda ingin mem-sandbox server proxy lebih lanjut, Anda dapat menambal kebijakan SELinux dengan aturan berikut. Gunakan supolicyalat Magisk atau sepolicy-inject:

create tinyproxy
allow init tinyproxy process transition
allow init tinyproxy process { rlimitinh siginh noatsecure }
allow tinyproxy tinyproxy process { getsched fork }
allow tinyproxy toolbox_exec file { entrypoint read getattr execute }
allow tinyproxy tinyproxy dir { search write add_name remove_name }
allow tinyproxy tinyproxy lnk_file read
allow tinyproxy labeledfs filesystem associate
allow tinyproxy tinyproxy file { read open getattr create write append unlink execute execute_no_trans }
allow tinyproxy tinyproxy capability { sys_chroot net_raw }
allow tinyproxy tinyproxy unix_dgram_socket { create connect write }
allow tinyproxy tinyproxy tcp_socket { create connect accept read bind getattr write shutdown setopt listen }
allow tinyproxy port tcp_socket { name_connect name_bind }
allow tinyproxy node tcp_socket node_bind
allow tinyproxy tinyproxy udp_socket { create connect read getattr write bind }
allow tinyproxy node udp_socket node_bind
allow tinyproxy system_data_file file lock
allow tinyproxy tinyproxy file lock
  • Periksa dmesguntuk avcpenolakan untuk menentukan aturan yang lebih diperlukan.
  • Ganti seclabel u:r:magisk:s0dalam layanan dengan seclabel u:r:tinyproxy:s0.
  • Setel konteks SELinux:
    ~# chcon -R u:object_r:tinyproxy:s0 /data/local/tinyproxy
    

Sekarang layanan akan berjalan tanpa Magisk juga.


TERKAIT:

Proxy SOCKS dapat dijalankan dengan SSH, lihat:

Irfan Latif
sumber