8000 GitHub - ThauEx/ffrk-proxy: Proxy for Final Fantasy Record Keeper written in node.js
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
This repository was archived by the owner on Apr 6, 2020. It is now read-only.

ThauEx/ffrk-proxy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ffrk-proxy​

Installation

On Windows:
Go to the release page and download one of the windows releases (x86 or x64).
To start the proxy, just run start.bat and when your firewall is asking, please allow the access. Node.js has to open a port, where the server is running.

On Linux and Mac: Install Nodejs first via package manager, then run npm install.
To run it, just type npm start.

Device configuration

I think you all know how to configure a proxy server on your phone/tablet.
Automatic:
Set the proxy option to Proxy Auto-Config/Automatic and enter the url which is shown when starting the proxy.
It should look like this:
Enter this url in your automatic proxy settings http://XXX.XXX.XXX.XXX:5051/proxy.pac

iOS

On iOS you have to install the certificate, it won't work without it.
To install the root certificate, open the url which is visible in the log of the proxy on your phones web browser and accept the certificate installation.
It should look like this:
Open this url on your phone and accept the installation of the profile/certificate http://XXX.XXX.XXX.XXX:5051
Your system could request you to set a security pattern (pin, password, etc), you have to do this.
(This might be different for older iOS versions)

  • Open Setting
  • Navigate to General
  • Navigate to Profile
  • Select ffrk-proxy
  • Install the profile
  • Navigate back to Profile
  • Navigate to About
  • Navigate to Certificate Trust Settings
  • Toggle ffrk-proxy on

For Android (legacy): Proxy: Manual
Server Ip: IP of the computer where this proxy is running on
Server Port: 5050
Exclude for: 127.0.0.1


Important information for ProxyDroid user

In order to use ProxyDroid, you have to disable the whitelist feature, to do that, rename or copy the file default.no-whitelist.example.yml to default.yml inside the config folder.

Working methods

ffrk-proxy has two working method, the first is the intercept (default) method and the second one inject.
To change the working method, check the two sample configs in the config folder.

Interception method:

< A178 ul dir="auto">
  • Intercepts the battle data request and modifies the data and then sends it to the client. This has the benefit to be able to see the whole data related to the battle, like enemies per round, drops etc.
  • Injection method:

    • Injects into a html file custom javascript, which lets the client modify the data for you. This should still work, even when the battle data gets transfered encrypted. The downside is not being able to see the battle data anymore and some filters are not working (yet)

    Proxy configuration

    By default the proxy is looking for the file default.yml inside the config folder. There are some example files, which can be renamed to default.yml, to use them.
    All available values can be found below or in lib/config.js.
    For some of the basic settings, it is possible to pass them as command line arguments, e.g. node bin/app.js --port 6050.
    To load a different config file, use node bin/app.js --config myconfig, where myconfig is the file config/myconfig.yml.

    Available config keys:

    application: 
     properties: 
      config: 
       doc: "name of the config to load"
       default: default
       env: CONFIG
       arg: config
      debug: 
       doc: "enable debug"
       format: boolean
       default: false
       env: DEBUG
       arg: debug
      proxy: 
       properties: 
        ip: 
         doc: "IP address to bind"
         format: ipaddress
         default: "0.0.0.0"
         env: IP
         arg: ip
        port: 
         doc: "port to bind"
         format: port
         default: 5050
         env: PORT
         arg: port
        whitelist: 
         doc: "use whitelist"
         format: boolean
         default: true
         env: WHITELIST
         arg: whitelist
        method:
         doc: "proxy working method"
         format: ["intercept", "inject"],
         default: "intercept"
      cert: 
       properties: 
        ip: 
         doc: "IP address to bind"
         format: ipaddress
         default: "0.0.0.0"
        port: 
         doc: "port to bind"
         format: port
         default: 5051
         env: CERT_PORT
         arg: "cert-port"
      dump: 
       properties: 
        get_battle_init_data: 
         doc: "dump the content of get_battle_init_data"
         format: boolean
         default: true
    buddy: 
     properties: 
      stats: 
       properties: 
        atk: 
         doc: "atk of buddy"
         format: number
         default: 9999
        def: 
         doc: "def of buddy"
         format: number
         default: 9999
        matk: 
         doc: "matk of buddy"
         format: number
         default: 9999
        mdef: 
         doc: "mdef of buddy"
         format: number
         default: 9999
        mnd: 
         doc: "mnd of buddy"
         format: number
         default: 9999
        acc: 
         doc: "acc of buddy"
         format: number
         default: 9999
        eva: 
         doc: "eva of buddy"
         format: number
         default: 9999
        spd: 
         doc: "spd of buddy"
         format: number
         default: 9999
      attack: 
       properties: 
        type: 
         doc: "attack type"
         format: 
          - DIRECT
          - INDIRECT
         default: INDIRECT
        attributes: 
         doc: "attack attributes"
         format: array
         default: 
          - POISON
          - SILENCE
          - PARALYSIS
          - CONFUSION
          - SLOW
          - STOP
          - BLINDED
          - SLEEP
          - DOOM
          - BERSERKER
          - SAP
          - STUN
        counterAbility: 
         doc: "Sets all attacks to prevent counter-attacks from bosses"
         format: boolean
         default: true
        hitAll: 
         doc: "enables Hit-All/Zealot"
         format: boolean
         default: true
        elementType: 
         doc: "decides the type of element the attack will be"
         format: 
          - FIRE
          - ICE
          - THUNDER
          - EARTH
          - WIND
          - WATER
          - HOLY
          - DARK
          - BIO
          - NONELE
         default: NONELE
        multiHit: 
         doc: "decides how often Attack will hit"
         format: number
         default: 1
        quickAttack: 
         doc: "reduces cast time"
         format: boolean
         default: true
        abilitySpammer: 
         doc: "infinite amount of uses for abilities"
         format: boolean
         default: true
        soulStrikeSpammer: 
         doc: "allows all soul strikes to be instant-cast"
         format: boolean
         default: true
      status: 
       doc: "status ailments"
       format: array
       default: 
        - HASTE
        - PROTECT
        - SHELL
        - REGEN_STRONG
        - COUNTER_AIMING
        - RUNIC
        - MIGHTY_GUARD_1
    enemy: 
     properties: 
      stats: 
       properties: 
        hp: 
         doc: "hp of enemy"
         format: number
         default: 0
        atk: 
         doc: "atk of enemy"
         format: number
         default: 1
        def: 
         doc: "def of enemy"
         format: number
         default: 1
        matk: 
         doc: "matk of enemy"
         format: number
         default: 1
        mdef: 
         doc: "mdef of enemy"
         format: number
         default: 1
        mnd: 
         doc: "mnd of enemy"
         format: number
         default: 1
        acc: 
         doc: "acc of enemy"
         format: number
         default: 1
        eva: 
         doc: "eva of enemy"
         format: number
         default: 1
        spd: 
         doc: "spd of enemy"
         format: number
         default: 1
      defAttributes: 
       properties: 
        enabled: 
         doc: "change enemy def attributes"
         format: boolean
         default: true
        attributes: 
         doc: "defense attributes"
         format: array
         default: 
    supporter: 
     properties: 
      stats: 
       properties: 
        atk: 
         doc: "atk of buddy"
         format: number
         default: 9999
        matk: 
         doc: "matk of buddy"
         format: number
         default: 9999
        mnd: 
         doc: "mnd of buddy"
         format: number
         default: 9999
        acc: 
         doc: "acc of buddy"
         format: number
         default: 9999
      attack: 
       properties: 
        soulStrikeSpammer: 
         doc: "allows all soul strikes to be instant-cast"
         format: boolean
         default: true
    magicite: 
     properties: 
      summon: 
       properties: 
        skillSpammer: 
         doc: "allows all magicite skills to be instant-cast"
         format: boolean
         default: true
        duration: 
         doc: "duration of magicite skill"
         format: number
         default: 2000
        gaugeFillTime: 
         doc: "time to fill magicite gauge"
         format: number
         default: 1000
    rounds: 
     properties: 
      shortRounds: 
       properties: 
        enabled: 
         doc: "reduce number of rounds to one (last), but keep all drops"
         format: boolean
         default: true
    

    Requirements:

    • Nodejs >= 8.0

    Thanks to:

    About

    Proxy for Final Fantasy Record Keeper written in node.js

    Topics

    Resources

    License

    Stars

    Watchers

    Forks

    Packages

    No packages published

    Contributors 6

    0