Giter Club home page Giter Club logo

network_ios's Introduction

network_ios: network related commands for ios_system

Platform: iOS Build Status
Twitter

ios_system is a replacement for system() that is compatible with AppStore rules and the iOS programming API. Commands are provided as dynamic libraries and loaded as they are required by the user.

ios_system itself contains basic commands, operating on files (ls, mv, rm, tar, curl, grep...) More advanced commands are provided separately. network_ios is one of these extensions. To use it, just compile it and add it to the list of embedded libraries in your app (on top of all the libraries generated by ios_system, of course). There is no change to make to ios_system: if the libnetwork_ios.dylib is present, it will execute the commands. Otherwise, it won't (but that's hardly surprising).

Commands available in this package:

  • ping
  • nc (netcat)
  • nslookup
  • host
  • dig
  • telnet
  • whois

If you run them inside OpenTerm, the interactive versions work. I can't speak for other applications.

How to compile:

run ./compile_network_ios.sh: this will create the binary framework network_ios.xcframework, which you can use in any Xcode project.

How to link:

Add this project as a Swift package dependency to your Xcode project, then embed the network_ios.xcframework framework.

network_ios's People

Contributors

holzschu avatar louisdh avatar n-holzschuch avatar yury avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

network_ios's Issues

error: Dependency 'fmake' could not be resolved

I could not compile the framework with ./compile_network_ios.sh.

$ ./compile_network_ios.sh
Fetching https://github.com/yury/FMake
Fetched https://github.com/yury/FMake (1.25s)
Computing version for https://github.com/yury/FMake
error: Dependencies could not be resolved because no versions of 'fmake' match the requirement 0.0.16..<1.0.0 and root depends on 'fmake' 0.0.16..<1.0.0.
error: 'xcfs': binary target 'ios_system' could not be mapped to an artifact with expected name 'ios_system'

Latest network_ios doesn't compile with latest ios_system

Specifically, I'm getting the following compile error:

Undefined symbols for architecture arm64:
  "_ios_write", referenced from:
      _TerminalWrite in sys_bsd.o
      _dns_ssu_external_match in ssu_external.o
      _readwrite in netcat.o
      _udptest in netcat.o
      _atelnet in netcat.o
      _ping_main in ping.o
      _pinger in ping.o
      ...
  "_ios_fputs", referenced from:
      _version in nslookup.o
      _get_next_command in nslookup.o
      _version in host.o
      _show_usage in host.o
      _connect_timeout in dighost.o
      _hex_dump in dighost.o
      _dig_printmessage in dig.o
      ...
  "_ios_puts", referenced from:
      _nslookup_printmessage in nslookup.o
      _detailsection in nslookup.o
      _nslookup_main in nslookup.o
      _check_for_more_data in dighost.o
      _dig_received in dig.o
  "_ios_fputc", referenced from:
      _dns_rbt_indent in rbt.o
      _isc__mem_stats in mem.o
      _hex_dump in dighost.o
      _lwres_conf_print in lwconfig.o
      _pr_pack in ping.o
      _finish in ping.o
      _pr_iph in ping.o
      ...
  "_ios_fwrite", referenced from:
      _ExitString in utilities.o
      _isc_stdio_write in stdio.o
      _write_public_key in dst_api.o
  "_ios_fflush", referenced from:
      _isc__socket_close in socket.o
      _default_callback in assertions.o
      _default_unexpected_callback in error.o
      _default_fatal_callback in error.o
      _get_next_command in nslookup.o
      _isc__mem_checkdestroyed in mem.o
      _Dump in utilities.o
      ...
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Stability issues (?)

I'm having trouble starting the commands twice in a row. It used to work, but it doesn't anymore.

To pinpoint the cause, checking: am I the only one where it crashes?

`ifconfig` doesn't list IPv6 addresses

Even though my device as IPv6 addresses assigned to several interfaces (e.g. WiFi or cellular), the ifconfig command only lists IPv4 addresses.
Additionally, -L of ifconfig to display the address lifetime for IPv6 addresses seems to an illegal option.
IPv6 connectivity in general is working fine: ping6 google.com succeeds and even shows the source IPv6 address.

I'm using a-Shell 1.12.2.
Thanks in advance โœŒ๏ธ

CI: directory '/Applications/Xcode_12.3.app' does not exist

The macOS-latest image no longer provides Xcode_12.3.app. See https://github.com/actions/runner-images/blob/main/images/macos/macos-12-Readme.md, which is the latest runner image for macOS.

runs-on: macOS-latest
steps:
- uses: actions/checkout@v2
- name: xcode-select
run: sudo xcode-select -s /Applications/Xcode_12.3.app

Because of this, running the GitHub action build.yml fails with this error:

> Run sudo xcode-select -s /Applications/Xcode_12.3.app
xcode-select: error: invalid developer directory '/Applications/Xcode_12.3.app'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.