Skip to content

aplicativo web simples para criar um proxy local de streams de rádio online, permitindo integrá-los ao Farming Simulator 19, 22 e 25 usando URLs locais

License

Notifications You must be signed in to change notification settings

viniperini/radio_proxy_fs22

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FS Radio Proxy

Um aplicativo web simples para criar um proxy local de streams de rádio online, permitindo integrá-los ao Farming Simulator 19, 22 e 25 usando URLs locais (ex.: http://127.0.0.1:9000/stream.mp3). O sistema converte streams de rádio (como https://r6.ciclano.io/proxy/viva945/stream) em MP3 usando FFmpeg e os serve localmente, gerando entradas XML compatíveis com os jogos.

Funcionalidades

  • Adiciona rádios via interface web com nome, URL e porta opcional.
  • Converte streams de áudio para MP3 usando FFmpeg, sem salvar arquivos no disco (apenas buffer na memória).
  • Lista rádios ativas com players de teste para verificar o áudio.
  • Gera entradas XML no formato correto (<streamingInternetRadio href="..."/>) para os jogos.
  • Inclui um tutorial embutido para configurar as entradas XML no Farming Simulator.
  • Persistência de rádios em um arquivo radios.json.

Pré-requisitos

  • Python 3.6+: Para rodar o backend Flask.
  • FFmpeg: Para converter streams de áudio. Baixe em ffmpeg.org e adicione ao PATH do sistema.
  • Node.js (opcional): Apenas se precisar recompilar Tailwind CSS.
  • Um navegador moderno para acessar a interface web.

Instalação

  1. Clone o repositório:

    git clone https://github.com/viniperini/fs-radio-proxy.git
    cd fs-radio-proxy
  2. Crie um ambiente virtual (opcional, mas recomendado):

    python -m venv venv
    source venv/bin/activate  # Linux/Mac
    venv\Scripts\activate     # Windows
  3. Instale as dependências:

    pip install flask psutil
  4. Instale o FFmpeg:

    • No Windows: Baixe o executável em gyan.dev e adicione ao PATH.
    • No Linux/Mac: Instale via gerenciador de pacotes (ex.: sudo apt install ffmpeg no Ubuntu).

Uso

  1. Inicie o servidor:

    python app.py

    O servidor rodará em http://localhost:8080.

  2. Acesse a interface:

    • Abra http://localhost:8080 no navegador.
    • Preencha o formulário para adicionar uma rádio:
      • Nome: Ex.: Rádio Viva 94.5
      • URL: Ex.: https://r6.ciclano.io/proxy/viva945/stream
      • Porta: Deixe em branco para automática (a partir de 9000) ou especifique uma.
    • Clique em Adicionar.
  3. Teste o áudio:

    • As rádios aparecem na seção "Rádios Ativas" com um player. Clique para testar o stream.
  4. Configure no Farming Simulator:

    • Clique no botão "📖 Como adicionar as entradas XML ao Farming Simulator" para ver o tutorial.
    • Copie a entrada XML gerada (ex.: <streamingInternetRadio href="http://127.0.0.1:9000/stream.mp3" />).
    • Adicione ao arquivo streamingInternetRadios.xml na pasta do jogo:
      • FS19: C:\Users\[SeuNome]\Documents\My Games\FarmingSimulator2019\music\
      • FS22: C:\Users\[SeuNome]\Documents\My Games\FarmingSimulator2022\music\
      • FS25: C:\Users\[SeuNome]\Documents\My Games\FarmingSimulator2025\music\
    • Certifique-se de que <soundPlayer allowStreams="true"/> está no gameSettings.xml.
    • Mantenha o servidor (app.py) rodando enquanto joga.

Estrutura do Projeto

  • app.py: Backend Flask que gerencia rádios, inicia o FFmpeg e serve a interface.
  • index.html: Interface web com formulário, lista de rádios, tutorial dropdown e entradas XML.
  • static/script.js: Lógica do frontend (adicionar/remover rádios, toggle do tutorial, atualização da interface).
  • radios.json: Arquivo gerado automaticamente para persistência das rádios.

Notas

  • O FFmpeg usa apenas memória RAM para streaming, sem salvar arquivos no disco (exceto radios.json).
  • As portas são atribuídas automaticamente a partir de 9000. Use portas manuais com cuidado para evitar conflitos.
  • Em caso de erro no player, verifique os logs do FFmpeg no console do app.py e certifique-se de que a porta está livre (netstat -ano | findstr :9000 no Windows).

Contribuindo

  1. Faça um fork do repositório.
  2. Crie uma branch para sua feature: git checkout -b minha-feature.
  3. Commit suas mudanças: git commit -m "Adiciona minha feature".
  4. Envie para o repositório remoto: git push origin minha-feature.
  5. Abra um Pull Request.

Licença

MIT License.

Agradecimentos

  • Inspirado na necessidade de adicionar rádios customizadas ao Farming Simulator.
  • Usa Flask, FFmpeg e Tailwind CSS.

About

aplicativo web simples para criar um proxy local de streams de rádio online, permitindo integrá-los ao Farming Simulator 19, 22 e 25 usando URLs locais

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published