Skip to content

Commit a2bee1a

Browse files
committed
Release 1.8.1
- Added RSS feed - Improved section partitioning - Added support for other P2P protocols - Added support for proxy server - Added port selection - Added custom choice of speed limitations - Libtorrent updated to 1.2.7 - Other, less noticeable interface improvements - Many bugs fixed (possibly new ones added)
2 parents 208cb85 + 7575ee1 commit a2bee1a

File tree

169 files changed

+6040
-2457
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

169 files changed

+6040
-2457
lines changed

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,3 @@ iTorrent.xcodeproj/project.xcworkspace/xcuserdata
1010
**/._.DS_Store
1111
.DS_Store
1212
.idea
13-
iTorrent.xcworkspace

Podfile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ target 'iTorrent' do
1616
pod "GCDWebServer/WebUploader", "~> 3.0"
1717
pod "GCDWebServer/WebDAV", "~> 3.0"
1818
pod 'AppCenter'
19+
pod 'DeepDiff'
20+
pod "SwiftyXMLParser", :git => 'https://github.com/yahoojapan/SwiftyXMLParser.git'
1921
end
2022

2123
post_install do |installer|

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,13 +71,14 @@ This repo contains iTorrent framework which was compiled only for real devices s
7171

7272
- [LibTorrent](https://github.com/arvidn/libtorrent)
7373
- [BackgroundTask](https://github.com/yarodevuci/backgroundTask)
74+
- [SwiftyXMLParser](https://github.com/yahoojapan/SwiftyXMLParser)
7475
- [MarqueeLabel](https://github.com/cbpowell/MarqueeLabel)
76+
- [DeepDiff](https://github.com/onmyway133/DeepDiff)
7577

7678
## Donate for donuts
7779

7880
- [Patreon](https://www.patreon.com/xitrix)
7981
- [PayPal](https://paypal.me/xitrix)
80-
- VISA CARD - 4817 7601 3631 7520
8182

8283
## Important information
8384

iTorrent.framework/Headers/iTorrent-Framework-Bridging-Header.h

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,12 @@
55
#include <stdlib.h>
66
#include "result_struct.h"
77
#include "file_struct.h"
8+
#include "settings_pack_struct.h"
9+
#include "peer_struct.h"
810

911
//TORRENT
10-
int init_engine(const char* client_name, const char* download_path, const char* config_path);
12+
int init_engine(const char* client_name, const char* download_path, const char* config_path, settings_pack_struct settings_pack);
13+
void apply_settings_pack(settings_pack_struct settings_pack);
1114
TorrentResult get_torrent_info();
1215
char* add_torrent(const char* torrent_path);
1316
void add_torrent_with_states(const char* torrent_path, int* states);
@@ -30,12 +33,13 @@ void scrape_tracker(const char* torrent_hash);
3033
Trackers get_trackers_by_hash(const char* torrent_hash);
3134
int add_tracker_to_torrent(const char* torrent_hash, const char* tracker_url);
3235
int remove_tracker_from_torrent(const char* torrent_hash, char *const tracker_url[], int count);
33-
void set_download_limit(int limit_in_bytes);
34-
void set_upload_limit(int limit_in_bytes);
36+
void pop_alerts();
3537

3638
void set_torrent_files_sequental(const char* torrent_hash, int sequental);
3739
int get_torrent_files_sequental(const char* torrent_hash);
3840

41+
PeerResult get_peers_by_hash(const char* torrent_hash);
42+
3943
//memory management
4044
void set_storage_preallocation(int preallocate);
4145
int get_storage_preallocation();
@@ -44,3 +48,5 @@ int get_storage_preallocation();
4448
void free_result(TorrentResult res);
4549
void free_files(Files files);
4650
void free_trackers(Trackers trackers);
51+
void free_settings_pack(settings_pack_struct settings_pack);
52+
void free_peer_result(PeerResult res);
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
//
2+
// peer_struct.h
3+
// iTorrent
4+
//
5+
// Created by Daniil Vinogradov on 27.06.2020.
6+
// Copyright © 2020  XITRIX. All rights reserved.
7+
//
8+
9+
#ifndef peer_struct_h
10+
#define peer_struct_h
11+
12+
typedef struct Peer {
13+
int port;
14+
char * _Nonnull client;
15+
long long total_download;
16+
long long total_upload;
17+
int up_speed;
18+
int down_speed;
19+
int connection_type;
20+
int progress;
21+
int progress_ppm;
22+
char * _Nonnull address;
23+
} Peer;
24+
25+
typedef struct PeerResult {
26+
int count;
27+
Peer * _Nonnull peers;
28+
} PeerResult;
29+
30+
#endif /* peer_struct_h */

iTorrent.framework/Headers/result_struct.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@ typedef struct TorrentInfo {
2626
long long total_upload;
2727
int num_seeds;
2828
int num_peers;
29+
int num_leechers;
30+
int num_total_seeds;
31+
int num_total_peers;
32+
int num_total_leechers;
2933
long long total_size;
3034
long long total_done;
3135
time_t creation_date;
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
//
2+
// settings_pack_struct.h
3+
// iTorrent
4+
//
5+
// Created by Daniil Vinogradov on 19.06.2020.
6+
// Copyright © 2020  XITRIX. All rights reserved.
7+
//
8+
9+
#ifndef settings_pack_struct_h
10+
#define settings_pack_struct_h
11+
12+
enum proxy_type_t {
13+
none,
14+
socks4,
15+
socks5,
16+
http,
17+
i2p_proxy
18+
};
19+
20+
typedef struct settings_pack_struct {
21+
int download_limit;
22+
int upload_limit;
23+
24+
bool enable_dht;
25+
bool enable_lsd;
26+
bool enable_utp;
27+
bool enable_upnp;
28+
bool enable_natpmp;
29+
30+
int port_range_first;
31+
int port_range_second;
32+
33+
enum proxy_type_t proxy_type;
34+
bool proxy_requires_auth;
35+
char * _Nonnull proxy_hostname;
36+
int proxy_port;
37+
char * _Nonnull proxy_username;
38+
char * _Nonnull proxy_password;
39+
bool proxy_peer_connections;
40+
} settings_pack_struct;
41+
42+
#endif /* settings_pack_struct_h */

iTorrent.framework/Info.plist

1 Byte
Binary file not shown.

iTorrent.framework/iTorrent

42.6 KB
Binary file not shown.

iTorrent.xcodeproj/project.pbxproj

Lines changed: 393 additions & 37 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)